[ASSET_ITEM_LOOP](クラス検索ループ)
クラス検索ループを指定します。クラス検索ループは、検索する情報1件につき1つ指定します。クラス検索ループでは、指定した条件に一致するすべての件数分ループします。
クラスの検索条件は、[CLASS_FIND]タグ、[ASSOC_FIND]タグおよび[JOIN_FIND]タグを組み合わせて使用します。これらのタグの詳細については、[CLASS_FIND](オブジェクトクラスの検索)、[ASSOC_FIND](アソシエーションクラスの検索)および[JOIN_FIND](複数クラスの結合検索)を参照してください。
形式
[ASSET_ITEM_LOOP] [CLASS_FIND] クラスに対する検索条件 ・・・ [BEGIN] 検索した結果に対する処理内容 ・・・ [END] [ASSET_ITEM_LOOP_END]
指定する値
-
クラスに対する検索条件
クラスを検索するための条件を記述します。
-
検索した各クラスに対する処理内容
検索条件に一致したクラスに対する処理内容を記述します。
終了状態
処理の終了状態とその内容を次に示します。
終了状態 |
内容 |
---|---|
NORMAL |
− |
NODATA |
データ終了 |
ERROR |
− |
MULTI |
− |
- (凡例)
-
−:該当しない
注意事項
[ASSET_ITEM_LOOP]タグの処理を終了するかどうかは、ループ処理の終了タグである[ASSET_ITEM_LOOP_END]で参照した終了状態で判定されます。終了状態が「NORMAL」の場合は処理を継続して、「NORMAL」以外のときは処理を終了します。これは、処理の途中でエラーが発生したら、その時点で処理を中断する場合に有効です。
データがなくなるまで処理を継続させる場合は、[ASSET_ITEM_LOOP_END]タグで終了するかどうかを判定する前に、組み込み関数$SETSTATUSで「NORMAL」を明示的に指定することをお勧めします。
アクセス定義ファイルの終了状態は、タグや組み込み関数の実行によって随時更新されます。[ASSET_ITEM_LOOP]タグ中に終了状態の更新を伴う処理を複数指定した場合、最後に指定した終了状態を基に処理を終了するかどうかが判定されます。
記述例
資産ID「10000」のインストールソフトウェア名一覧を出力する場合の記述例を次に示します。
[ASSET_ITEM_LOOP] [ASSOC_FIND] InstalledListLink [FIND_DATA] InstalledInfo.AssetID = '10000' [CLASS1] InstalledInfo [CLASS2] InstalledList [GET_VALUE] INSTNAME = InstalledList.InstalledName [SET_VALUE] MSG = 'Installed Software Name :' +INSTNAME $ECHO(MSG) $SETSTATUS('NORMAL') [ASSET_ITEM_LOOP_END]
- 実行結果
-
Installed Software Name : InstalledSoftware A
Installed Software Name : InstalledSoftware B