PUT ステートメントの詳細については、PUT ステートメントを参照してください。
データ・リスト項目は、要素変数、配列変数、構造変数、反復指定のどれでもかまいません。 データ・リスト内に書かれている名前が、その値と一緒に、ブランクで区 切られたセミコロンで終了するエレメント割り当てのリストの形で伝送されます。 PRINT ファイルの場合は、項目はプログラムのタブ設定値によって 区切られます (PRINT 属性を参照してください)。
それぞれの PUT ステートメントで伝送された最後のデータ項目のあとで、セミコロンがストリーム中に書き出されます。
名前は混合ストリングとして伝送されます。この混合ストリングには、 SBCS 文字または DBCS 文字 (あるいは両方) を含むことができます。 DBCS フォーマットで表現された SBCS 文字がある場合は、まずそれが SBCS に変換されます。 以下に例を示します。
put data (<.A>B<.Ckk>);
これは次のようにして伝送されます。
ABC<kk>=value-of-variable
数字変数の文字ストリング値が、有効な算術定数 (符号付きまたは符号なしの) もしくは 複素数式を表していないとき、データ・ディレクティブ出力の出力結果を後続のデータ・ディレクティブ 入力で使用することはできません。
文字データの場合、文字ストリングの内容は引用符で囲まれて書き出されます。 文字ストリング内にあるそれぞれの引用符は、連続する 2 つの引用符で表されます。
次に、データ・ディレクティブ伝送 (入力と出力) の例を示します。
declare (A(6), B(7)) fixed;
get file (X) data (B);
do I = 1 to 6;
A (I) = B (I+1) + B (I);
end;
put file (Y) data (A);入力ストリーム:
B(1)=1, B(2)=2, B(3)=3, B(4)=1, B(5)=2, B(6)=3, B(7)=4;
出力ストリーム:
A(1)= 3 A(2)= 5 A(3)= 4 A(4)= 3 A(5)= 5 A(6)= 7;
次に例を示します。
dcl 1 A,
2 B FIXED,
2 C,
3 D FIXED;
A.B = 2;
A.D = 17;
put data (A);
出力ストリーム中のデータ・フィールドは次のようになります。
A.B= 2 A.C.D= 17;