WRITE
指定された 1 つ以上のデータ・セットにレコードを書き込みます。WRITE 関数が成功すると、値 0 を返します。WRITE 関数が失敗した場合、REXX 構文エラー条件が発生します。
指定できる引数は、次の通りです。
- ddname
- 指定された ddname によって識別されるデータ・セットにレコードが書き込まれることを指定します。
レコードは、次の REXX 変数のうちの 1 つの内容から書き込まれます。
- プロシージャーによって値が割り当てられている場合には、変数 OUTREC.ddname。ここで ddname は、WRITE 関数の中に指定されている DD 名です。
- 変数 OUTREC.ddname に値が割り当てられていないか、または DROP 命令の使用によって未割り当ての状態にある場合には、FM/Db2 定義の変数 OUTREC。
書き込まれるレコードの長さは、出力データ・セットのデータ・セット属性によって決まります。出力データ・セットが可変長レコードを含んでいる場合、レコードの長さは、REXX 変数の中のデータの長さから決定されます。データの長さが、データ・セット属性に指定されている最大レコード長よりも大きければ、レコードは切り捨てられます。出力データ・セットが固定長レコードを含んでいる場合、書き込まれるレコードの長さは、データ・セット属性に指定されている長さで、必要に応じて切り捨てまたは埋め込みが行われます。
出力データ・セットのレコード・フォーマットが、レコードには紙送り制御文字が含まれると指定していると、出力装置によっては、REXX 変数のレコード・データの先頭文字が紙送り制御文字と解釈されることがあります。紙送り制御文字を含むレコードについて詳しくは、OS/390 DFSMS: Using Data Sets を参照してください。
例 1
現行レコードがタイプ 01 ならば、それを DD01 ファイルに書き込みます。
if fld(1,2) = 01 then WRITE('DD01')例 2
現行レコードがタイプ 02 ならば、それを DD02 および DD02COPY ファイルに書き込みます。
if fld(1,2) = 02 then WRITE('DD02','DD02COPY')