7.86.1 LOC_ENTRY のパラメータ

IN_LIST

RET_ENTRY

RET_NUMBER

RET_STATUS

WHERE

IN_LIST

このコマンドで検索するリストの名前を指定します。

デフォルト値*FIRSTを指定した場合、RDMLプログラムでDEF_LIST (リストの定義)コマンドによって宣言された最初のリストが使用されます。このリストは、TYPE(*WORKING)パラメータが有効でなければなりません。

リスト名を指定する場合、RDMLプログラム内の他の場所でDEF_LIST (リストの定義)コマンドによってそのリスト名を宣言する必要があります。また、そのリストにTYPE(*WORKING)パラメータが設定されていなければなりません。

WHERE

「条件および式の指定」を参照してください。

WHEREパラメータを指定しない場合、LOC_ENTRYコマンドでは、常にリスト内の最初の項目が返されます。

RET_NUMBER

任意で、見つかった項目の項目番号を保管するためにLOC_ENTRYコマンドによって設定されるフィールドの名前を指定します。

条件に適合する項目がリストで見つからない場合、フィールドの値はLOC_ENTRYコマンドで変更されません。

デフォルト値*NONEを指定した場合、見つかったリスト項目番号をフィールドに保管しません。フィールドを指定する場合、そのフィールドは数値タイプで、事前にLANSAデータ・ディクショナリまたはファンクション内で定義されている必要があります。

各項目はADD_ENTRYコマンドによってリストに追加され、項目を識別するための番号が割り当てられています。リスト項目には、1 (最初の項目番号)から9999 (最大の項目番号)まで連続番号が付けられます。

リスト項目番号がわかってれば、個々のリスト項目を直接取得することができます(詳細については、GET_ENTRYコマンドのセクションを参照してください)。

RET_STATUS

LOC_ENTRYコマンドの結果の「戻りコード」を受け取るフィールドの名前を指定します。

デフォルト値*STATUSを指定すると、戻りコードは、#IO$STSという特別なフィールドに保管されます。このフィールドは、他のフィールドと同様にRDMLプログラムで参照できます。

戻りコードを受け取るユーザー・フィールドを指定する場合、そのフィールドは2桁の英数字フィールドで、LANSAデータ・ディクショナリまたはファンクション内で定義されている必要があります。ユーザー・フィールドを指定した場合も、特別なフィールド#IO$STSは更新されます。

LOC_ENTRYコマンドが返す状況コードは2種類のみで、"OK" (項目が見つかった)または"NR" (項目が見つからなかった)のいずれかです。

RET_ENTRY

見つかったリスト項目をリストからRDMLプログラムに戻すかどうかを指定します。

デフォルト値*YESを指定した場合、見つかったリスト項目がRDMLプログラムに戻されます。

*NOを指定した場合、リスト項目をRDMLプログラムに戻す必要はありません。通常、このオプションは、リストを妥当性検査のために使用する場合に指定します。このような場合、重要になるのは、項目の場所や内容ではなく、その項目がリスト内に存在する(または存在しない)ことのみです。

以下は、LOC_ENTRYコマンドの一例です。

LOC_ENTRY IN_LIST(#COUNTRIES) WHERE('#CNTRY = AUST')
 

これは、以下のコマンドと機能的に同じです。

LOC_ENTRY IN_LIST(#COUNTRIES) WHERE('#CNTRY = AUST') RET_NUMBER(#NUMBER) RET_ENTRY(*NO)
IF_STATUS IS(*OKAY)
GET_ENTRY NUMBER(#NUMBER) FROM_LIST(#COUNTRIES)
ENDIF