Answer
キー・ブレイクを判断するキーワードを使用します。
マッチング・ファイル処理で使用するキーの重複を判断するIFステートメントを使用します。この機能では、単一ファイル処理においても、あるレコードのキーフィールドの内容と次のレコードのキーフィールドの関係を判定することができます。
[キー・ブレイクを判断するIFステートメントの記述]
IF [NOT] DUPLICATE ファイル名
FIRST-DUP
LAST-DUP
※DUPLICATE : キーが重複しているかどうか判断
FIRST-DUP : キーの重複の1件目かどうか判断
LAST-DUP : キーの重複の最後かどうか判断
ファイル名 : 対象ファイルを指定
単一ファイルにおいて上記のIFステートメントを使用する場合、JOBステートメントでの入力ファイルの指定は以下のとおりです。
[JOB INPUTステートメントの記述]
JOB INPUT ( ファイル名 KEY ( キー・フィールド名-1 キー・フィールド名-2 .... キー・フィールド名-n ))
注意 この機能はバージョン6.0から使用可能です。バージョン5以下では、使用できませんのでダミーマッチングで対応します。
記述例
(例) 新しいキーの始まりを判断する
FILE FILEA
CODE 1 3 A
~
FILE MASTER VS
MCODE 1 3 A
NAME 5 15 A
*
W-NAME W 15 A RESET
*
JOB INPUT (FILEA KEY(CODE))
IF FIRST-DUP FILEA OR NOT DUPLICATE FILEA
READ MASTER KEY CODE STATUS
IF MASTER:FILE-STATUS ZERO
W-NAME = NAME
END-IF
END-IF
~
※この例では、キーが重複していないレコード( NOT DUPLICATE )か、重複している場合には1件目のレコード ( FIRST-DUP )がIFステートメントを満足します。