コンテンツフレーム起動

特定位置でのファイルオープン 文書を SAP ライブラリストラクチャに組み込む

指定位置でファイルを開くには、 OPEN DATASET 命令の AT POSITION オプションを以下のように使用します。

構文

OPEN DATASET <dsn> FOR .... IN MODE] AT POSITION <pos>.

この命令でファイル <dsn> を開き、読込や書込を行う位置を <pos> に設定します。位置 <pos> はファイルの先頭からバイト単位でカウントされます。ファイルの先頭より前の位置を指定することはできません。

位置 <pos> の指定に意味があるのは、主にバイナリモードで作業する場合です。なぜならば、テキストファイルの物理的な表現は OS に依存するからです。

例

DATA FNAME(60) VALUE 'myfile'.

DATA NUM TYPE I.

OPEN DATASET FNAME FOR OUTPUT AT POSITION 16.
DO 5 TIMES.
NUM = NUM + 1.
TRANSFER NUM TO FNAME.
ENDDO.

OPEN DATASET FNAME FOR INPUT.
DO 9 TIMES.
READ DATASET FNAME INTO NUM.
WRITE / NUM.
ENDDO.

OPEN DATASET FNAME FOR INPUT AT POSITION 28.
SKIP.
DO 2 TIMES.
READ DATASET FNAME INTO NUM.
WRITE / NUM.
ENDDO.

この例の出力は以下のようになります。

0
0
0
0
1
2
3
4
5

4
5

この例では、ファイル“ myfile ”を初期設定のバイナリモードでオープンしています。開始位置は書込モードでは 16 、読込モードでは 28 となっています。上記の例で示すように、整数書込と読込の際の位置指定は、桁数が 4 で割り切れる場合に有効です。

 

 

 

 

コンテンツフレーム終了