PUT ステートメントの詳細については、PUT ステートメントを参照してください。
それぞれのデータ・リスト項目の値が、対応するフォーマット項目によって指定された 文字表記またはグラフィック表記に変換され、フォーマット項目によって指定された幅 のフィールドに入れてストリーム中に書き出されます。 データ・リストの処理が終わると、PUT ステートメントの実行が終わり、フォーマット項目が 残っていてもそれらは無視されます。
出力の場合、2 進数項目は 10 進数値に変換されるので、対応する F フォーマット項目 や E フォーマット項目では、変換後の 10 進数に換算してフィールドの幅と小数点の位置を指 定しなければなりません。 P フォーマット項目の場合は、これらをピクチャー指定で指定します。
出力の場合、出力ストリーム中のデータ値を区切るためにブランクが 挿入されるわけではありません。 ストリング・データは、フィールド内で左寄せされ、指定の幅を占めます。 算術データは右寄せされます。 算術データを文字タイプに変換するときの規則に従うので、(先行ゼロがブランクで置き換えられるほかに) 最高 3 つの先行ブランクが挿入されることがありますが、フィールド内の変換後の算術項目には、通常、最低 1 つはブランクが先頭に付いています。 ただし、指定したフィールド幅が短くて先行ブランクを挿入できない場合は、 先行ブランクはストリーム中に挿入されません。 指定したフィールド幅が短すぎるときは、算術項目では左側が切り捨てられ、ストリング項目では右側が切り捨てられ、 SIZE 条件または STRINGSIZE 条件が起こります。
put edit('Inventory='||Inum,Invcode)(A,F(5));
この例では、'Inventory=' が Inum の値と連結されて、 その結果の文字ストリングの長さと同じ幅のフィールドに入れてストリーム中に書き出されます。 そのあと、Invcode の値が、F フォーマット項目で指定されているとおりに文 字に変換され、5 文字の幅のフィールド内で右寄せされて (先行文字は ブランク)、ストリーム中に書き出されます。
次の例では、COLUMN、LINE、PAGE、および SKIP フォーマット項目を、相互に組み合わ せて使用する方法を示しています。
put edit ('Quarterly Statement')
(page, line(2), A(19))(Acct#, Bought, Sold, Payment, Balance)
(skip(3), A(6), column(14), F(7,2), column(30), F(7,2),
column(45), F(7,2), column(60), F(7,2));
この PUT ステートメントは、次のことを指定しています。
この例では、 Name の値は N 文字のフィールド内で 左寄せされた文字ストリングとしてストリーム中に挿入されます。
put edit (Name,Number,City) (A(N),A(N-4),A(10));
Number は N-4 文字のフィールド内で左寄せされます。 また City は 10 文字のフィールド内で左寄せされます。