ILE COBOL 解説書

PICTURE 文節で使用される記号

PICTURE 文節で使用される各記号の意味は、以下の表の中で定義されています。

PICTURE 文節の各記号を指定する際に守らなければならない順序は、以下の図に示されています。

PICTURE の文節の記号の詳しい説明は図の後にあります。

PICTURE 文字ストリング内の句読点文字は、句読点文字とは見なされず、PICTURE 文字ストリング記号と見なされます。

OPTION オプション・パラメーター値 *NOMONOPIC、または PROCESS ステートメント・オプション NOMONOPIC が指定されている場合、PICTURE 文字ストリングで使用される通貨記号は大文字小文字を区別します。 すなわち、PICTURE 記号の A、B、C、D、E、G、N、P、R、S、V、X、および Z の大文字に対応する小文字は、PICTURE 文字ストリングでのそれらの大文字の表現と等価です。 その他の小文字は、対応する大文字表現と等価ではありません。

OPTION パラメーター値 *MONOPIC、または PROCESS ステートメント・オプション MONOPIC が指定されている場合、PICTURE 文字ストリング内のすべての英字は大文字に変換されます。

PICTURE 文節で使用される各記号の意味は、次のリストで定義されているとおりです。

記号 
意味 

A
英字またはスペース

B
スペース挿入文字

P
位取りのための小数点 (データ項目のサイズとしてはカウントされない)

S
演算符号 (オプショナルの SEPARATE CHARACTER 句を指定した SIGN 文節がない場合は、データ項目のサイズとしてはカウントされない)

V
仮想小数点 (データ項目のサイズとしてはカウントされない)

X
英数字 (EBCDIC 文字セットの任意の文字)

Z
ゼロ消去文字

9
数字

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

1
ブール文字

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

0
ゼロ挿入文字

/
スラッシュ挿入文字

,
コンマ挿入文字

.
小数点またはピリオドの編集制御文字

+
正符号挿入の編集制御文字

-
負符号挿入の編集制御文字

CR
貸方の編集制御文字

DB
借方の編集制御文字または金額変造防止挿入文字

$
通貨記号挿入文字 (デフォルトは ¥)

表 13. LOCALE 句が指定されていない場合における PICTURE 文節の記号の意味

記号 意味
A 英字またはスペースだけを入れることができる文字位置。
B スペースが非 DBCS データで 1 バイト、DBCS データで 2 バイトを占める文字位置。
E

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

外部浮動小数点項目における指数の開始位置のマーク。 マークは 1 バイトのストレージを占めます。

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

P 仮想小数点の位取り位置。 これは、データ項目内の数に小数点がない場合に仮想小数点の位置を指定するために使用します。 位取り位置文字 P は、データ項目のサイズとしてはカウントされません。 位取り位置文字は、数字編集項目、あるいは算術オペランドとして現れる項 目の最大桁数 (63) を判別する際には、カウントされます。 位取り位置文字 P は、PICTURE 文字ストリング内の左端または右端の桁位置に P の連続ストリングとしてのみ記入できます。 位取り位置文字 P は仮想小数点を暗黙のうちに示す (一連の P が左端の PICTURE 文字ならば一連の P の左側、P が右端の PICTURE 文字ならば一連の P の右側) ので、 仮想小数点記号 V は、PICTURE 記述などの中では、左端または右端のいずれかの文字が冗長となります。

PICTURE 文字ストリングに記号 P が入っているデータ項目を参照するある演算においては、 データ項目の実際の文字表示よりむしろデータ項目の代数値が使用されます。 この代数値は、記号 P により指定される数字位置の代わりにゼロ、および指図されたロケーションに小数点を想定します。 値のサイズは、PICTURE 文字ストリングにより表される数字位置の数です。 これらの演算は次のうちのいずれかです。

  • 数字送り出しオペランドを必要とする演算
  • 送り出しオペランドが数字で、その PICTURE 文字ストリングに記号 P が入っている MOVE ステートメント
  • 送り出しオペランドが数字編集で、その PICTURE 文字ストリングに記号 P が含まれ、受け入れオペランドが数字または数字編集の MOVE ステートメント
  • 両オペランドが数字である比較演算

その他すべての演算において、記号 P で指定される数字位置は無視され、オペランドのサイズにはカウントされません。

S 演算符号があることを示します。(ただし、演算符号の表現や、また必ずしもその位置を表すものではない。) これは PICTURE ストリングの左端の文字として書かなければなりません。 演算符号は、演算に使用される項目の値が正であるか負であるかを示します。 関連する SIGN 文節で SEPARATE CHARACTER 句を指定していないかぎり、記号 S は、基本項目のサイズの判別ではカウントされません。 ハードウェア命令は符号を使用するので、可能なところでは PICTURE 文節に S を含めてパフォーマンスを向上させることができます。
V 仮想小数点の位置を示します。 これは文字ストリング内に、1 回だけ書くことができます。 V は、文字位置を表すものではないため、基本項目のサイズとしてはカウントされません。 仮想小数点がストリングの右端記号の右側にあるとき、V は必要ありません。
X EBCDIC 文字セットから任意の使用可能な文字を入れることができる文字位置。
Z 先行数字位置。その位置にゼロが入ると、そのゼロはスペース文字に置き換えられます。 各 Z は項目のサイズとしてカウントされます。
9 数字が入る文字位置で、項目のサイズとしてカウントされます。
1

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

ブール値の B"1" または B"0" を含む文字位置。 DISPLAY として明示的あるいは暗黙に定義して使用しなければなりません。

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

0 数字のゼロが挿入される文字位置。各ゼロは項目のサイズとしてカウントされます。
/ スラッシュが挿入される文字位置。 各スラッシュは、項目のサイズとしてカウントされます。
, コンマが挿入される文字位置。 この文字は項目のサイズとしてカウントされます。 コンマ挿入文字が PICTURE 文字ストリングの最後の記号の場合には、PICTURE 文節がデータ記述記入項目の最後の文節で、直後に分離文字ピリオドが続かなければなりません。
.

位置合わせ用の小数点を表す編集記号。 さらに、これはピリオドが挿入される文字位置を表します。 この文字は項目のサイズとしてカウントされます。 ピリオド挿入文字が、PICTURE 文字ストリング内の最後の記号である場合には、PICTURE 文節がデータ記述記入項目の最後の文節であり、直後に分離文字ピリオドが続かなければなりません。

注:
ある種のプログラムでは、SPECIAL-NAMES 段落で DECIMAL-POINT IS COMMA 文節が指定されている場合、ピリオドとコンマの機能が交換されます。

その場合は、PICTURE 文節の中にピリオドやコンマがどこにあったとしても、ピリオドの規則がコンマに適用され、コンマの規則がピリオドに適用されます。

  +  
  -  
 CR
 DB

編集符号制御記号。 それぞれ、編集符号制御記号が入れられる文字位置を表します。 1 つの文字ストリングの中でこれらの記号を併用することはできません。 記号の中で使用された各文字は、データ項目のサイズを判別する際にカウントされます。
* 金額変造防止シンボル。これは先頭数字位置であり、この位置にゼロが含まれているときにはアスタリスクが入れられます。 それぞれのアスタリスク (*) は、項目のサイズとしてカウントされます。
$ 通貨記号が入る文字位置。文字ストリング内の通貨記号は、記号 ¥ で表されるか、 または環境部の SPECIAL-NAMES 段落の CURRENCY SIGN 文節で指定された単一の文字で表されます。 通貨記号は、項目のサイズとしてカウントされます。
G

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

DBCS 位置。ストレージの 2 バイトを占めます。1 文字としてカウントされます。 非 DBCS 項目には指定できません。 USAGE は、DISPLAY-1 として明示的に定義しなければなりません。

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

N

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

  • 使用法が NATIONAL として明示的に定義されている場合には、国別 (UCS-2 またはユニコード) 文字位置。
  • 使用法が DISPLAY-1 として明示的に定義されている場合には、1 文字として 2 バイトのストレージを占有する DBCS 位置。
  • 基本項目に、またはデータ項目が属しているグループに、USAGE 文節が指定されていない場合には、以下の規則が適用されます。
    • NATIONAL コンパイラー・オプションが有効であれば、USAGE NATIONAL が暗黙指定されます。
    • その他の場合は、USAGE DISPLAY-1 が暗黙指定されます。

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


表 14. LOCALE 句が指定されている場合における PICTURE 文節の記号の意味

記号 意味
9 数字が入る文字位置であり、編集項目内に含めることができる数字としてカウントされます。
.

位置合わせ用の小数点を表す編集記号。 ピリオド挿入文字が、PICTURE 文字ストリング内の最後の記号である場合には、PICTURE 文節がデータ記述記入項目の最後の文節であり、直後に分離文字ピリオドが続かなければなりません。 実行時に使用される小数点文字はロケールからとられます。
注:
ある種のプログラムでは、SPECIAL-NAMES 段落で DECIMAL-POINT IS COMMA 文節が指定されている場合、ピリオドとコンマの機能が交換されます。 その場合は、PICTURE 文節の中にピリオドやコンマがどこにあったとしても、ピリオドの規則がコンマに適用され、コンマの規則がピリオドに適用されます。

  +

編集符号制御記号。 記号 + は、指定されたロケールに従って編集項目に符号を付けることを指示します。 記号 + が指定されていない場合は、編集項目は符号なしとなります。
cs 文字ストリング内の通貨記号は、指定されたロケールと関連付けられている通貨ストリングを編集項目に含めることを指示します。

図 7 は、LOCALE 句を指定しない 場合において、PICTURE 文節の各記号を指定する際に従う必要のある順序を示しています。 図の最後の注を参照してください。 図 8 は、LOCALE 句を指定する 場合において、PICTURE 文節の各記号を指定する際に従う必要のある順序を示しています。

図 7. LOCALE 句を指定しない場合における PICTURE 文節の記号の順序

LOCALE 句を指定しない場合における PICTURE 文節の記号の順序

図 7 の注

  1. 交差するところにある X は、最上段にある記号が、ある文字ストリングの中で、左欄にある記号の左側であればどこにあってもよいことを示します。
  2. ¥ 文字は、該当する文字セットで表されますが、通貨記号のデフォルト値です。
  3. A、X、Z、9、または * 記号のうちの少なくとも 1 つ、また は +、-、あるいは ¥ 記号のうちの少なくとも 2 つが PICTURE ストリングになければなりません。

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

  4. 記号 G または N は、PICTURE 文字ストリングに単独で現れます。

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

  5. 固定挿入記号 + と -、浮動挿入記号 Z、*、+、-、$、 および記号 P は、上記の PICTURE 文字優先テーブルに 2 回現れています。各記号の最左端の列と最上段は、小数点の左側にあるときの用法を示しています。 表の中で 2 番目に出てくる記号は、それぞれ小数点の右側にあるときの用法を示しています。 中括弧 ({ }) は相互に排他的な項目を示しています。
  6. 中括弧 ({}) は、相互に排他的な項目を示しています。

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

図 8. LOCALE 句を指定する場合における PICTURE 文節の記号の順序

LOCPCSS

 

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


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