WRITE

1. Syntax

1 WRITE(+ ,? ddname(1))
注:
  • 1 DSC または DSP 機能で使用する場合、ddname はオプションです。

FASTREXX プロシージャーで使用できます。

指定された 1 つ以上のデータ・セットにレコードを書き込みます。

Returns
単一のブランク。
ddname
指定された ddname によって識別されるデータ・セットにレコードが書き込まれることを指定します。DSC または DSP 機能で使用するときに ddname を省略すると、デフォルトは基本出力データ・セットの ddname になります。基本出力データ・セットは、使用している File Manager 機能またはパネルに依存します。
機能またはパネル・オプション 基本出力データ・セット
印刷ユーティリティー (オプション 3.2) 「Set Print Processing Options (印刷処理オプションの設定)」パネルの「PRINTOUT」フィールドの値によって決定されます。詳しくは、「Set Print Processing Options (印刷処理オプションの設定)」パネル (オプション 0.1)を参照してください。
「Copy Utility (コピー・ユーティリティー)」(オプション 3.3) または DSC 機能 コピー機能の対象となるデータ・セット。

DSC 機能の場合、DD 名が基本出力データ・セットに関連付けられていると、その DD 名を指定するのは引数を省略するのと同じになります。別の DD 名を持つ基本出力データ・セットをターゲットにしないでください。

DSP 機能 バッチ・ジョブで使用されるとき、基本出力データ・セットは、SYSPRINT です。REXX プロシージャーで使用されるときは、基本出力データ・セットは、SET 関数の PRINTOUT パラメーターによって決定されます。詳しくは、SET (処理オプションの設定)を参照してください。

DD 名が基本出力データ・セットに関連付けられていると、その DD 名を指定することは、引数を省略することと同じです。別の DD 名を持つ基本出力データ・セットをターゲットにしないでください。

基本出力データ・セットを除いて、出力データ・セットのデータ・セット属性は、 以下のものから得られます。
  • 事前割り振りされたデータ・セット DCB 属性。既存のレコード・フォーマット、長さおよびブロック・サイズは保存されます。
  • DCB 属性なしに割り振られていた場合、これらの属性は、入力データ・セットから継承されます。
プログラムの実行中にレコードが何も書き込まれなかった WRITE ステートメントに指定された順次データ・セットは、オープンされたままで、File Manager によってクローズされます。これは、次のことを示しています。
  • DISP=(NEW,…) で新しく割り振られたデータ・セットは、「空」の状態に初期設定され、EOF レコードのみを含みます。
  • データを持つ既存のデータ・セットは、次のように扱われます。
    • DISP=(OLD,…) データ・セットは「空」の状態にリセットされ、EOF レコードのみを含みます。以前のすべての既存データは失われます。
    • DISP=(MOD,…) データ・セットはそのデータを影響を受けないで保持します。
レコードは、次の REXX 変数のうちの 1 つの内容から書き込まれます。
  • プロシージャーによって値が割り当てられている場合には、変数 OUTREC.ddname。ここで ddname は、WRITE 関数の中に指定されている DD 名です。
  • 変数 OUTREC.ddname に値が割り当てられていないか、 または DROP 命令の使用によって未割り当ての状態にある場合には、File Manager 定義の変数 OUTREC。

書き込まれるレコードの長さは、出力データ・セットのデータ・セット属性によって決まります。出力データ・セットが可変長レコードを含んでいる場合、レコードの長さは、REXX 変数の中のデータの長さから決定されます。データの長さが、データ・セット属性に指定されている最大レコード長よりも大きければ、レコードは切り捨てられます。出力データ・セットが固定長レコードを含んでいる場合、書き込まれるレコードの長さは、データ・セット属性に指定されている長さで、必要に応じて切り捨てまたは埋め込みが行われます。

出力データ・セットのレコード・フォーマットが、レコードには紙送り制御文字が含まれると指定していると、出力装置によっては、REXX 変数のレコード・データの先頭文字が紙送り制御文字と解釈されることがあります。紙送り制御文字を含むレコードについて詳しくは、z/OS DFSORT Installation and Customization を参照してください。

DSC 関数またはデータ・コピー・ユーティリティーを使用しており、 入力データ・セットが PDS(E) のときに、ターゲットの ddname で PDS(E) を 参照している場合は、WRITE を実行したときの結果と同様に、入力データ・セット・メンバーの名前 と一致する名前で、ターゲット・データ・セットにメンバーが作成されます。

例 1

現行レコードがタイプ 01 の場合、DD01 ファイルに書き込みます。
If FLD(1,2) = 01 Then WRITE('DD01')

例 2

現行レコードがタイプ 02 の場合、DD02 ファイルおよび DD02COPY ファイルに書き込みます。
If FLD(1,2) = 02 Then WRITE('DD02','DD02COPY')