可変長順編成ファイルから読み込まれたレコードの長さを検出できます。
構文:
>>-.---.-.----.--RDW-----------------------><
+-/-+ +-NO-+
プロパティ:
デフォルト: |
NORDW |
段階: |
構文チェック |
$SET: |
任意 |
例:
fd file-1.
01 rec-1 pic x(100).
01 rec-2.
03 rdw-table pic x(4) occurs 25.
Working-storage section.
01 rdw-area.
03 rec-length pic 9(4) comp.
03 filler pic 9(4) comp.
procedure division.
...
read file-1
move rdw-table (0) to rdw-area
...
説明:
RDW 指令を指定する場合は、4 バイトのレコード長フィールドが、そのファイルのレコード領域の直前に割り当てられます。READ の後に、読み込まれたばかりのレコード長 (バイナリ) は、このレコード領域の先頭 2 バイトに格納されます。返される長さには、レコード長フィールド自体も含まれるため、実際のレコード長よりも 4 バイト長くなります。
レコード領域をテーブルとして定義し、マイナスの添え字、または 0 の添え字を使用すると、このフィールドにアクセスできます。
RDW 指令は、メインフレームとの互換性を確保するためにのみ提供されています。新しくプログラムを作成する場合は、FD 文の RECORD IS VARYING DEPENDING ON 指定を使用してください。