プログラム制御文

KEY = ( start , length )
FROMKEY および TOKEY プログラム制御文によって使用されるキー フィールドを定義します。この文は 1 つだけ書くことができます。パラメーターは次のとおりです。
start
キーが始まるレコード内の位置
length
キーの長さ

VSAM キー付きファイルの場合、KEY はデフォルトで実際のキーに設定されます。ただし、ファイルは順編成処理されるため、レコード照合の範囲を指定する目的で任意のフィールドをキーとして定義することができます。

INCLUDE

FROMKEYTOKEY または FROMRECCOUNT によって定義された範囲でのみレコードを比較します。

SKIPINCLUDE は相互に排他的です。

IGNORE

FROMKEYTOKEY または FROMRECCOUNT によって定義された範囲内にあるレコードを無視します。

SKIPINCLUDE は相互に排他的です。

FROMKEY = ' value1 ' TOKEY = ' value2 '

レコードの範囲を定義します。value1 では範囲内の最初のレコードを指定し、value2 では範囲内の最後のレコードを指定します。16 進値は、 x ' hhhhhh ' として指定できます (hhhhhh は 16進数)。

FROMREC = recnum COUNT = count

レコード番号の範囲を定義します (レコード番号 x から y 個のレコード)。

FD = start , length

レコードの比較時に無視されるフィールドを定義します(INCLUDE との併用のみ)。

プログラム制御文の例

次の例では、以下のようになります。
  • キー フィールドは、レコードの最初の 10 バイトとして定義されます。
  • AAAAAAAAAA から BBBBBBBBBB および WWWWWWWWW から ZZZZZZZZZZ の範囲内にあるレコードが比較されます。
  • 2 番目の範囲では、11 から 15 および 21 から 25 の位置が無視されます。
//SYSIN DD *
 KEY=(1,10)
 INCLUDE FROMKEY='AAAAAAAAAA' TOKEY='BBBBBBBBBB'
 INCLUDE FROMKEY='WWWWWWWWWW' TOKEY='YYYYYYYYYY'
 FD=(11,5)
 FD=(21,5)