[ASSOC_FIND](アソシエーションクラスの検索)
アソシエーションクラスを使用してクラスを検索します。
検索対象のクラスと一致した場合、そのプロパティ値を変数に代入します。また、基点クラスを見つけるために、クラスの検索を複数回実施する必要がある場合は、実行する回数分[ASSOC_FIND]タグを記述します。
形式
[ASSOC_FIND] アソシエーションクラス名 ([FIND_DATA]) 検索条件式 [CLASS1] オブジェクトクラス名 [CLASS2] もう一方のオブジェクトクラス名 [GET_VALUE] 変数への代入文 ([ORDER_ASC]または[ORDER_DESC]) 検索結果をソートするためのキー
指定する値
-
アソシエーションクラス名
検索対象となるアソシエーションクラス名を記述します。
-
オブジェクトクラス名
アソシエーションで関連づけられている、オブジェクトクラス名を記述します。
-
もう一方のオブジェクトクラス名
アソシエーションクラスで関連づけられている、もう一方のオブジェクトクラス名を記述します。
-
検索条件式
検索条件式を記述します。複数の検索条件を記述する場合は、演算子で結合します。検索条件式に使用できる演算子については、「2.2.4 演算子」を参照してください。
なお、検索条件式を使用しない場合は、対応する[FIND_DATA]タグを省略できます。
-
変数への代入文
検索したクラスのプロパティ情報を、変数へ代入するための代入文を記述します。表示名を取得する場合は、代入文のクラス.プロパティに「@(単価記号)」を付けてください。
-
検索結果をソートするためのキー
検索結果をソートする場合は、ソートするためのキーをクラス.プロパティの形式で指定します。[ORDER_ASC]タグは昇順、[ORDER_DESC]タグは降順にソートします。省略した場合、[GET_VALUE]タグで指定したプロパティの昇順になります。
終了状態
処理の終了状態とその内容を次に示します。
終了状態 |
内容 |
---|---|
NORMAL |
正常終了 |
NODATA |
検索条件を満たすデータがない |
ERROR |
− |
MULTI |
− |
- (凡例)
-
−:該当しない
記述例
ユーザID「user1」の所属している部署を取得する場合の記述例を次に示します。
[ASSOC_FIND] MemberLink [FIND_DATA] UserInfo.UserID = 'user1' [CLASS1] UserInfo [CLASS2] GroupInfo [GET_VALUE] FULLPATH = GroupInfo.FullPathName [SET_VALUE] STATUS = $GETSTATUS() [IF] STATUS = NORMAL [THEN] [SET_VALUE] MSG = 'FullPathName :' +FULLPATH $ECHO(MSG) [ELSE] [SET_VALUE] MSG = 'ASSOC_FIND (' +STATUS+ ')' $ECHO(MSG) [IF_END]