指標を用いない配列の検索

指標を使用しないで配列を検索する場合には、結果の標識の状況 (オンまたはオ フ) を使用して、特定の要素が配列に存在しているかどうかを判別してください。 指標を使用しない配列の検索は、あるフィールドが配列要素のリストにあるかど うかを判別するための入力データの妥当性検査に使用することができます。一般 に、等しい条件の LOOKUP が要求されます。

演算仕様書の演算項目 1 に検索引数 (指定の配列中で一致するものが検索される データ) を指定して、配列名を演算項目 2 に入れてください。

演算項目 2 には、検索する配列の名前を指定します。 少なくとも 1 つの結果の標 識を指定しなければなりません。 同じ LOOKUP 命令で、高低の両方に指定をしてはなりません。 配列が 順序 (ASCEND または DESCEND キーワード) どおりになっている場合には、結果の標識を 高または低に指定してはなりません。制御レベルおよび条件付け標識 (7 から 11 桁目に指定) も使用することができます。 結果の標識を使用することはできません。

検索は、配列の先頭から開始され、配列の終わりかまたは検索の条件が満たされ た時に終了します。 行われた検索のタイプ (等、高、低) を満たす配列要素が見付かった時にはい つでも、結果の標識がオンに設定されます。

図 74 は、指標を用いない配列の LOOKUP の例を示しています。

図 74. 指標を用いない配列に対する LOOKUP 命令
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords++++++++++++++++++++++++++++
FARRFILE   IT   F    5        DISK
F*
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++
DDPTNOS           S              5S 0 DIM(50) FROMFILE(ARRFILE)
D*
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq..
C* The LOOKUP operation is processed and, if an element of DPTNOS equal
C* to the search argument (DPTNUM) is found, indicator 20 is set on.
C     DPTNUM        LOOKUP    DPTNOS                                 20

部門番号を含んでいる ARRFILE は、ファイル仕様書で、配列ファイルの指定 (18 桁目に T) のある入力ファイル (17 桁目に I) として定義されています。 このファイルはプログラム記述ファイル (22 桁目に F) であり、各レコードの長 さは 5 桁 (27 桁目に 5) です。

定義仕様書において、ARRFILE は配列 DPTNOS を含んでいるものとして定義され ます。 この配列には 50 の要素が入っています (DIM(50))。 各項目は、小数点以 下の桁数 (41 から 42 桁目) がゼロで、長さ (33 から 39 桁目) が 5 桁です。 各レコー ドに 1 つの部門番号を入れることができます (PERRCD のデフォルトの値として 1 が使 用されます)。