Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.9, プログラミング・ガイド

レコード入出力によるデータ・セットへのアクセスと更新

連続データ・セットを作成し終えれば、順次入力、順次出力、 または、直接アクセス装置上のデータ・セットの場合は、更新を行うために、 その連続データ・セットにアクセスするためのファイルをオープンする ことができます。図 31 は、連続データ・セットにアクセスし、 それを更新するプログラムの例です。 出力用のファイルをオープンして、その終わりにレコードを追加して データ・セットを拡張するには、DD ステートメント内に DISP=MOD を 指定しなければなりません。 それを指定しないと、そのデータ・セットは上書きされます。 更新用のファイルをオープンしても、その既存順にしかレコードを 更新することはできず、レコードを挿入したければ、新たにデータ・セットを 作成しなければなりません。表 16 は、連続データ・セットにアクセスして、 値を更新するためのステートメントとオプションを示しています。

SEQUENTIAL UPDATE ファイルで連続データ・セットにアクセスする には、READ ステートメントを使ってレコードを取り出してから、REWRITE ステートメントでそれを更新しなければなりません。 しかし、検索される各レコードの再書き込みは必要ありません。REWRITE ステートメントは、常に、最後に読み取られたレコードを更新します。

次のような場合を考慮します。

READ FILE(F) INTO(A);
     .
     .
     .
READ FILE(F) INTO(B);
     .
     .
     .
REWRITE FILE(F) FROM(A);

REWRITE ステートメントによって、2 つ目の READ ステートメントで読み取った レコードが更新されます。 最初のステートメントで読み取ったレコードは、2 つ目の READ ステートメントが実行さ れると再書き込みできません。

データ・セットにアクセスするには、DD ステートメント でそのデータ・セットをオペレーティング・システムに識別する必要があります。表 20 は、連続データ・セットに アクセスするのに必要な DD ステートメントのパラメーターを要約しています。

表 20. レコード入出力による連続データ・セットへのアクセス: DD ステートメントの必須パラメーター
パラメーター 指定すべき事項 必要な場合
DSNAME=
 
DISP=
データ・セットの名前
 
データ・セットの
後処理
常時
UNIT= または VOLUME=REF= 入力装置 データ・セットがカタログされていない場合 (すべての装置)
VOLUME=SER= ボリューム通し番号 データ・セットがカタログされていない場合 (直接アクセス)
DCB=(BLKSIZE= ブロック・サイズ1 データ・セットに標準ラベルが付いていない場合
注:
1 または、ENVIRONMENT 属性を用いれば、 PL/I プログラム内でブロック・サイズを指定することもできます。

次に、DD ステートメントに入れるべき必須情報と、 ユーザーが与えることのできるオプショナル情報のうちのいくつかについて説明します。 ただし、ここで述べる内容は、入力ストリームのデータ・セットには当てはまりません。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)