ゼロの消去と置き換えによる編集
このタイプの編集は、数字編集項目に対してのみ有効です。 ゼロ消去による編集では、記号 Z と * を使用します。 これらの記号は、1 つの PICTURE 文字ストリングにおいては相互に排他的です。
次の記号は、1 つの PICTURE 文字ストリングの中では浮動記号として同時に指定することはできません。
Z * + - 通貨記号 (例えば、$)
ゼロ消去および置き換えによる編集を指定するには、許容されている記号を 1 つまたは複数含むストリングを使用して、ゼロ消去と置き換えによる編集を行うことのできる左端の文字位置を表します。
浮動編集記号のストリング内か、またはそのすぐ右側にある単純挿入記号 (B 0 /、) は、そのストリングの一部と見なされます。 ピリオド (.) の特別挿入記号が浮動編集ストリングに入っていると、文字ストリングの一部と見なされます。
PICTURE 文字ストリングでは、ゼロ消去を表す方法は 2 とおりあります。
それにより、次のように編集が行われます。
- 小数点の左側にある任意の、またはすべての先行数字位置を消去記号で表します。
編集が行われると、消去記号と同じ文字位置に現れるデータ内の先行ゼロは、置き換え文字で置き換えられます。
消去は、次の文字のうち、最も左側にある文字で終わります。
- 消去記号に対応しない文字
- ゼロ以外のデータが入っている文字
- 小数点
- PICTURE 文字ストリング内のすべての数字位置を消去記号で表します。
編集が行われると、データの値がゼロでなければ、結果は前述の規則の場合と同じです。
データの値がゼロのときは、次のようになります。
- Z が指定されていれば、データ項目全体にスペースが入ります。
- * が指定されていれば、データ項目全体 (実小数点は除く) にアスタリスクが入ります。
注: 同じ記入項目に、消去記号としてのアスタリスク (*) と BLANK WHEN ZERO 文節の両方を指定してはなりません。
ゼロ消去と置き換えによる編集の例です。
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