Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 言語解説書


ゼロ抑制と置換による編集

この編集のタイプは、数字編集項目に対してのみ有効です。

ゼロ抑制による編集では、記号 Z および * が使用されます。これらの記号は、PICTURE 文字ストリングの中で相互に排他的でどちらか一方しか使用できません。

以下に示す記号は、PICTURE 文字ストリングの中で浮動置換記号として相互に排他的でいずれか 1 つしか使用できません。

Z * + - cs

ゼロ抑制と置換による編集を行うには、許容されている記号を 1 つ以上含むストリングを使用して、 ゼロ抑制と置換による編集が可能な左端の文字位置を現します。

浮動編集記号のストリング内か、またはそのすぐ右側の単純挿入記号 (B 0 / ,) は、 そのストリングの一部とみなされます。 ピリオド (.) が特殊挿入記号として浮動編集ストリング内に組み込まれている場合、 それはストリングの一部とみなされます。

ゼロ抑制の表現

PICTURE 文字ストリングには、ゼロ抑制を表現する方法が 2 とおりあり、 それに応じて 2 とおりの編集を行うことができます。

  1. 小数点の左側にある任意の先行数字文字位置、またはそれらの位置のすべてを抑止記号によって表します。 編集が行われると、データ内で抑止記号と同じ文字位置に現れる先行ゼロは、 置換用文字で置換されます。 抑止は、次に示す文字のうち最も左端にある文字で終わります。
    • 抑止記号に対応していない文字
    • ゼロ以外のデータを含む文字
    • 小数点
  2. PICTURE 文字ストリング内のすべての数字文字位置を抑止記号で表します。 編集が行われてデータの値がゼロでなければ、結果は前述の規則の場合と同じです。データの値が 0 の場合は、次のようになります。
    • Z が指定されていた場合には、データ全体にスペースが入れられます。
    • * が指定されていた場合には、実際の小数点を除いて、データ項目全体にアスタリスクが入れられます。

以下に例を示します。

PICTURE データの値 編集結果
       ****.**       
       0000.00
       ****.**       
       ZZZZ.ZZ
       0000.00
                     
       ZZZZ.99
       0000.00
           .00
       ****.99
       0000.00
       ****.00
       ZZ99.99
       0000.00
         00.00
      Z,ZZZ.ZZ+
       +123.456
        123.45+
      *,***.**+      
       -123.45
      **123.45-
 **,***,***.**+      
  +12345678.9
 12,345,678.90+
 $Z,ZZZ,ZZZ.ZZCR
     +12345.67
 $   12,345.67
$B*,***,***.**BBDB
     -12345.67
$ ***12,345.67  DB

同じ項目に対して、抑止記号としてのアスタリスク (*) と BLANK WHEN ZERO 節の両方を指定することはできません。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)