!--a11y-->
ファイルにデータを追加するためのファイルを開くには、
OPEN DATASET 命令の FOR APPENDING オプションを以下のように使用します。構文
OPEN DATASET <dsn> FOR APPENDING.
この命令によってファイルは追加書込用にオープンされます。ファイルが存在しない場合は、作成されます。ファイルが存在していてクローズされている場合、このファイルはオープンされて、位置付けはファイルの最後に設定されます。ファイルが存在していて、オープンされている場合は(読込、書込、追加のいずれのモードでも)、位置付けはファイルの最後に設定されます。
SY-SUBRC の値は0です。
プログラミングのスタイルとしては、すでに開いているファイルに

DATA FNAME(60) VALUE 'myfile'.
DATA NUM TYPE I.
OPEN DATASET FNAME FOR OUTPUT.
DO 5 TIMES.
NUM = NUM + 1.
TRANSFER NUM TO FNAME.
ENDDO.
OPEN DATASET FNAME FOR INPUT.
OPEN DATASET FNAME FOR APPENDING.
NUM = 0.
DO 5 TIMES.
NUM = NUM + 10.
TRANSFER NUM TO FNAME.
ENDDO.
OPEN DATASET FNAME FOR INPUT.
DO.
READ DATASET FNAME INTO NUM.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
WRITE / NUM.
ENDDO.
この例の出力は以下のようになります。
1
2
3
4
5
10
20
30
40
50
上記の例では、書込ファイルの“
myfile ”が開いて、1から5までの整数が5個書き込まれます( TRANSFER 命令の詳細については、 ファイルへのデータの書込を参照してください)。次の OPEN DATASET 命令によって位置付けが先頭にリセットされます。次に、ファイルを追加用にオープンすると、位置付けはファイルの最後に設定されます。 10 から 50 までの整数をファイルに書き出しています。最後に、ファイルの内容を読み込んで、画面出力しています。