Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

PUT 編集ディレクティブ

PUT ステートメントの詳細については、PUT ステートメントを参照してください。

それぞれのデータ・リスト項目の値が、対応するフォーマット項目によって指定された 文字表記またはグラフィック表記に変換され、フォーマット項目によって指定された幅 のフィールドに入れてストリーム中に書き出されます。 データ・リストの処理が終わると、PUT ステートメントの実行が終わり、フォーマット項目が 残っていてもそれらは無視されます。

出力の場合、2 進数項目は 10 進数値に変換されるので、対応する F フォーマット項目 や E フォーマット項目では、変換後の 10 進数に換算してフィールドの幅と小数点の位置を指 定しなければなりません。 P フォーマット項目の場合は、これらをピクチャー指定で指定します。

出力の場合、出力ストリーム中のデータ値を区切るためにブランクが 挿入されるわけではありません。 ストリング・データは、フィールド内で左寄せされ、指定の幅を占めます。 算術データは右寄せされます。 算術データを文字タイプに変換するときの規則に従うので、(先行ゼロがブランクで置き換えられるほかに) 最高 3 つの先行ブランクが挿入されることがありますが、フィールド内の変換後の算術項目には、通常、最低 1 つはブランクが先頭に付いています。 ただし、指定したフィールド幅が短くて先行ブランクを挿入できない場合は、 先行ブランクはストリーム中に挿入されません。 指定したフィールド幅が短すぎるときは、算術項目では左側が切り捨てられ、ストリング項目では右側が切り捨てられ、 SIZE 条件または STRINGSIZE 条件が起こります。

例 1

  put edit('Inventory='||Inum,Invcode)(A,F(5));

この例では、'Inventory='Inum の値と連結されて、 その結果の文字ストリングの長さと同じ幅のフィールドに入れてストリーム中に書き出されます。 そのあと、Invcode の値が、F フォーマット項目で指定されているとおりに文 字に変換され、5 文字の幅のフィールド内で右寄せされて (先行文字は ブランク)、ストリーム中に書き出されます。

例 2

次の例では、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 ステートメントは、次のことを指定しています。

  1. 見出しとして Quarterly Statement が、 出力ファイル SYSPRINT の新しいページの 2 行目に書き出されます。
  2. 2 行スキップします。 出力内の次の行は、見出しから 3 行目か、もしくは報告書の 5 行目になります。
  3. 次の値が書き出されます。

例 3

この例では、 Name の値は N 文字のフィールド内で 左寄せされた文字ストリングとしてストリーム中に挿入されます。

  put edit (Name,Number,City) (A(N),A(N-4),A(10));

NumberN-4 文字のフィールド内で左寄せされます。 また City は 10 文字のフィールド内で左寄せされます。


Terms of use | Feedback

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