ILE COBOL 解説書

PICTURE 文節の編集

PICTURE 文節の中で編集を行う一般的な方法が 2 つあります。

項目に許容される編集のタイプは、データ・カテゴリーによって異なります。 各カテゴリーに有効な編集のタイプが以下に示されています。

表 15. データ・カテゴリーに有効な編集

カテゴリー 編集のタイプ
英字 なし

+----------------------------------IBM 拡張----------------------------------+

ブール

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

DBCS

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

国別

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

DBCS 編集

+------------------------------End of IBM 拡張-------------------------------+

単純挿入
数字 なし
英数字 なし
英数字編集 単純挿入
数字編集 すべて

+----------------------------------IBM 拡張----------------------------------+

外部浮動小数点

+------------------------------End of IBM 拡張-------------------------------+

特別挿入

単純挿入による編集

この編集タイプは、英数字編集項目および数字編集項目に有効です。

+----------------------------------IBM 拡張----------------------------------+

この編集タイプは、DBCS 編集項目に有効です。

+------------------------------End of IBM 拡張-------------------------------+

各挿入記号は、項目のサイズとしてカウントされ、それに同等の文字が挿入される項目内の位置を表します。

表 16. 単純挿入による編集 - 各データ・カテゴリーごとの正しい挿入記号

カテゴリー 正しい挿入記号
英字 なし

+----------------------------------IBM 拡張----------------------------------+

ブール

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

DBCS

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

国別

+------------------------------End of IBM 拡張-------------------------------+

なし

+----------------------------------IBM 拡張----------------------------------+

DBCS 編集

+------------------------------End of IBM 拡張-------------------------------+

B
数字 なし
英数字 なし
英数字編集 B 0 / - . , &
数字編集 B 0 / ,

単純挿入による編集の例

PICTURE          データの値         編集結果
X(10)/XX         ALPHANUMER01       ALPHANUMER/01
X(5)BX(7)        ALPHANUMERIC       ALPHA NUMERIC
99,B999,B000     1234               01, 234, 000
99,999           12345              12,345
GGBBGG           D1D2D3D4           D1D2    D3D4

特別挿入による編集

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

ピリオド (.) は特別挿入記号ですが、位置合わせに使う実小数点も 表します。

ピリオド挿入記号は、項目のサイズとしてカウントされ、実小数点が挿入される項目内の位置を表します。

1 つの PICTURE 文字ストリングの中に、実小数点と、仮想小数点としての記号 V の両方ではなく、いずれか 1 つを指定しなければなりません。

特別挿入による編集の例

PICTURE          データの値         編集結果
999.99              1.234           001.23
999.99             12.34            012.34
999.99            123.45            123.45
999.99           1234.5             234.50
+999.99E+99     12345               +123.45E+02

固定挿入による編集

このタイプの編集は、数字編集項目に対してのみ有効です。次の挿入記号を使用します。

固定挿入による編集では、1 つの PICTURE 文字ストリングの中には 1 つの通貨記号と 1 つの編集符号制御記号だけを指定できます。

通貨記号は、通貨符号が表示される位置を表します。 通貨符号を通貨記号自体にしたり、SPECIAL-NAMES 段落の CURRENCY SIGN 文節に指定されている長さの 1 文字または複数の文字の通貨ストリングにしたりできます。 編集項目のサイズは、対応する通貨ストリングに含まれる文字数分増やされます。

+ または - 記号が前に付いている場合を除き、通貨記号 (¥) は文字 ストリングの最初の文字でなければなりません。

+ または - を記号として使用する場合、それは文字ストリングの最初か あるいは最後の文字でなければなりません。

CR または DB を記号として使用する場合、それは文字ストリングの右端の 2 文字の位置を占めなければなりません。 これらの 2 文字位置に記号 CR または DB が含まれる場合には、大文字が挿入文字です。

編集符号制御記号によって得られる結果は、次に示すように、データ項目の値に応じて異なります。

PICTURE              結果:                結果: 
PICTURE 内           データ項目           データ項目
文字ストリング       正またはゼロ         負
+                    +                    -
-                    スペース             -
CR                   2 スペース           CR
DB                   2 spaces             DB

固定挿入による編集の例です。

   PICTURE         データの値           編集結果
    999.99+         +6555.556        555.55+
  +9999.99          -6555.555      -6555.55
   9999.99          +1234.56        1234.56
   $999.99           -123.45        $123.45
   U999.99           -123.45      EUR123.45 (1)
  -$999.99           -123.456      -$123.45
  -u999.99           -123.456    -USD123.45 (2)
  -$999.99           +123.456       $123.45
  $9999.99CR         +123.45       $0123.45
  $9999.99DB         -123.45       $0123.45DB

(1)
通貨符号が次のように定義されている場合: CURRENCY SIGN IS "EUR" PICTURE SYMBOL "U"

(2)
通貨符号が次のように定義されている場合: CURRENCY SIGN IS "USD" PICTURE SYMBOL "u"
注:
符号を切り捨てると、貸方として負の金額が示されることに注意してください。

浮動挿入による編集

このタイプの編集は、数字編集項目に対してのみ有効です。次の記号を使用します。

1 つの PICTURE 文字ストリングの中では、これらの記号は浮動挿入文字として同時に指定することはできません。

浮動挿入による編集は、PICTURE 文字ストリングに連続した複数の浮動挿入記号を組み込むことによって指定されます。

通貨記号は通貨符号を表します。 通貨符号は通貨記号自体にしたり、SPECIAL-NAMES 段落の CURRENCY SIGN 文節に指定されている長さの 1 文字または複数の文字の通貨ストリングにしたりできます。 編集項目のサイズは、最初に現れる通貨記号に対応する通貨ストリングに含まれる文字数分、および PICTURE 文字ストリングの追加通貨記号ごとにそれ以降の文字分増やされます。

浮動挿入記号が単一文字を表す場合には、この記号を使用して、対応する文字が挿入されるすべての文字位置を表します。 文字ストリング内の左端の浮動挿入記号は、そのデータ項目の中に文字が現れる左端の限界を表します。 右端の浮動挿入記号は、文字が現れる右端の限界を表します。

浮動挿入記号が複数文字の通貨ストリングを表す場合には、この記号を使用して、通貨ストリングの最終文字が挿入されるすべての位置を表します。 文字ストリング内の左端の浮動挿入記号は、そのデータ項目の中に通貨ストリングの最終文字が現れる左端の限界を表します。 右端の浮動挿入記号は、通貨ストリングの最終文字が現れる右端の限界を表します。

文字ストリングの左端から 2 番目の浮動挿入記号は、データ項目の中で数字データが現れる左端の限界を表します。 この限界の右端にある、または右端の隣の浮動挿入記号は、数字位置を表します。 これは、ゼロ以外の数字が前に付いた数字で始まる数値データによって置き換えることができます。

浮動挿入記号のストリング内か、またはそのすぐ右側にある単純挿入記号 (B 0 / ,) は、浮動文字ストリングの一部と見なされます。 ピリオド (.) の特別挿入記号が浮動ストリングに入っていると、文字ストリングの一部と見なされます。

PICTURE 文字ストリングでは、浮動挿入による編集を表す方法は 2 とおりあります。 それにより、次のように編集が行われます。

  1. 小数点の左端にある任意の、またはすべての先行数字位置を浮動挿入記号で表します。 編集が行われると、データ内の最初の非ゼロ数字または小数点 (この 2 つのうち、より左側にある方) のすぐ左に、単一の浮動符号挿入記号 (+ または -) あるいは通貨符号が 1 つ置かれます。 挿入記号または通貨記号の左側の未使用の位置はスペースで埋められます。
  2. すべての数字位置を浮動挿入記号で表します。編集が行われると、次のようになります。

切り捨てが行われるのを避けるために、PICTURE 文字ストリングの最小サイズは、次の数の合計でなければなりません。

浮動挿入による編集の例です。

   PICTURE               データの値           編集結果
        $$$$.99                 .123               $.12
        $$$9.99                 .12               $0.12
   $,$$$,999.99            -1234.56           $1,234.56
   U,UUU,UU9.99-           -1234.56         EUR1,234.56-
   u,uuu,uu9.99             1234.56         USD1,234.56
   +,+++,999.99          -123456.789        -123,456.78
  $$,$$$,$$$.99CR       -1234567          $1,234,567.00CR
  ++,+++,+++.+++            0000.00
注:
符号を切り捨てると、貸方として負の金額が示されることに注意してください。

ゼロの消去と置き換えによる編集

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

ゼロ消去による編集では、記号 Z と * を使用します。 これらの記号は、1 つの PICTURE 文字ストリングにおいては相互に排他的です。

次の記号は、1 つの PICTURE 文字ストリングの中では浮動記号として同時に指定することはできません。

   Z  *  +  -  通貨記号 (たとえば、$)

ゼロ消去および置き換えによる編集を指定するには、許容されている記号を 1 つまたは複数含むストリングを使用して、ゼロ消去と置き換えによる編集を行うことのできる左端の文字位置を表します。

浮動編集記号のストリング内か、またはそのすぐ右側にある単純挿入記号 (B 0 /、) は、そのストリングの一部と見なされます。 ピリオド (.) の特別挿入記号が浮動編集ストリングに入っていると、文字ストリングの一部と見なされます。

PICTURE 文字ストリングでは、ゼロ消去を表す方法は 2 とおりあります。 それにより、次のように編集が行われます。

注:
同じ記入項目に、消去記号としてのアスタリスク (*) と 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 


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]