相対ファイルの書き込みに関する考慮事項

OUTPUT ファイルに対しては、WRITE ステートメントにより次のような処置が取られます。
  • ACCESS IS SEQUENTIAL が指定されている場合。

    最初に解放されるレコードの相対レコード番号は 1 であり、2 番目に解放されるレコードの相対レコード番号は 2 であり、... というようになります。

    ファイル制御記入項目内に RELATIVE KEY が指定されている場合には、WRITE ステートメントの実行時に、解放されたばかりのレコードの相対レコード番号が RELATIVE KEY に入れられます。

  • ACCESS IS RANDOM または ACCESS IS DYNAMIC が指定されている場合には、WRITE ステートメントを出す前に、 このレコードについての希望の相対レコード番号を RELATIVE KEY に入れなければなりません。 このレコードは、WRITE ステートメントの実行時に、ファイル内の指定された相対レコード番号の位置に入れられます。

I-O モードでオープンされるファイルについては、ACCESS IS RANDOM または ACCESS IS DYNAMIC が指定されていなければなりません。 WRITE ステートメントは、ファイルに新しいレコードを挿入します。 WRITE ステートメントを出す前に、このレコードについての希望の相対レコード番号を RELATIVE KEY に入れておかなければなりません。 このレコードは、WRITE ステートメントの実行時に、ファイル内の指定された相対レコード番号の位置に入れられます。

レコードの DELETE 操作を許可しない (例えば、ALWDLT(*NO) パラメータ ーを指定した CRTPF を使用して) 物理ファイルについては、レコードの更新操作を許可 (つまり、ALWUPD(*YES) パラメーターを指定した CRTPF) しなければなりません。