PICTURE 文字ストリング内で使用される句読記号は、句読記号とはみなされず、 PICTURE 文字ストリングの記号とみなされます。
DECIMAL-POINT IS COMMA を SPECIAL-NAMES 段落に指定すると、 PICTURE 文字ストリングおよび数字リテラルにおいて、ピリオドとコンマの機能を交換することができます。
PICTURE 記号を表す次の大文字に対応する小文字の英字は、 PICTURE 文字ストリングの中で、大文字で表されたものと同じ働きをします。
A、B、E、G、N、P、S、V、X、Z、CR、DB
他のすべての小文字は、対応する大文字の表示と同じではありません。
表 1 では、各 PICTURE 節の記号の意味を定義します。サイズ という見出しは、項目内の文字位置の数を判別する際の項目のカウント方法を示します。以下に示すように、文字位置のタイプは、その項目に対して指定された USAGE 節によって決まります。
| USAGE | 文字位置のタイプ | 文字当たりのバイト数 |
|---|---|---|
| DISPLAY | 英数字 | 1 |
| DISPLAY-1 | DBCS | 2 |
| NATIONAL | 国別 | 2 |
| その他すべて | 概念上 | 該当なし |
| 記号 | 意味 | サイズ |
|---|---|---|
| A | ラテン・アルファベットまたはスペースのみを入れることのできる文字位置。 | 「A」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| B | Usage DISPLAY の場合は、英数字スペースが挿入される文字位置。
Usage DISPLAY-1 の場合は、DBCS スペースが挿入される文字位置。 Usage NATIONAL の場合は、国別スペースが挿入される文字位置。 |
「B」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| E | 外部浮動小数点項目の指数の開始を示します。 外部浮動小数点項目の詳細については、データ・カテゴリーと PICTURE の規則を参照してください。 | 「E」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| G | DBCS 文字位置。 | 「G」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| N | USAGE DISPLAY-1 を使用して指定した場合、または USAGE が指定されていないときに NSYMBOL(DBCS) コンパイラー・オプションが有効な場合の DBCS 文字位置。
国別カテゴリーの場合は、USAGE NATIONAL を使用して指定したとき、または USAGE が指定されていないときに NSYMBOL(NATIONAL) コンパイラー・オプションが有効なときの国別文字位置。 国別編集カテゴリーの場合は、国別文字位置。 |
「N」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| P | 想定小数部の位取り位置。 データ項目内の数字に小数点がない場合に、想定小数点の位置を指定するために使用します。 詳細は、P 記号を参照してください。 | データ項目サイズの計算に入れられません。
位取り位置の文字は、数字編集項目、または算術オペランドとして使用される項目の最大桁数を判別する際には、桁数に含められます。
値のサイズは、 PICTURE 文字ストリングによって表される桁位置の数になります。 |
| S | 演算符号が存在することを示す標識 (符号を表すものではなく、 したがって当然位置を示すものでもありません)。演算符号は、演算に使用される項目の値が正であるか負であるかを示します。 | 関連する SIGN 節が SEPARATE CHARACTER 句を指定する場合を除き (1 文字位置としてカウントされる)、基本項目の計算に入れられません。 |
| V | 想定小数点の位置を表す標識。
文字位置を表しません。
想定小数点が、ストリングの中の右端の記号の右側にあるとき、その V は冗長です。 |
基本項目サイズの計算には入れられません。 |
| X | コンピューターの英数字文字セットの任意の使用可能文字を入れることのできる文字位置。 | 「X」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| Z | 先頭の数字位置。 その位置に 0 が入っていると、その 0 はスペース文字で置き換えられます。 | 「Z」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| 9 | 数表示を含む文字位置。 | 9 は、それぞれ項目の値の 1 つの 10 進数です。USAGE が DISPLAY および NATIONAL の場合、「9」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| 0 | 数字の 0 が挿入される文字位置。 | 「0」はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| / | スラッシュ文字が挿入される文字位置。 | スラッシュ文字 (/) はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| , | コンマが挿入される文字位置。 | コンマ (,) はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| . | 位置合わせ用の小数点を表す編集記号。 また、これはピリオドが挿入される文字位置を表します。 | ピリオド (.) はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
+ |
編集符号制御記号。 それぞれの記号は、編集符号制御記号が入れられる文字位置を表します。 | 編集符号記号で使用される文字はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| * | 金額変造防止記号。先頭部分の数字位置で、 その部分に 0 が入っているときにアスタリスクが入れられます。 | アスタリスク (*) はそれぞれ、1 つの文字位置としてデータ項目のサイズにカウントされます。 |
| cs | cs は、任意の有効な通貨記号にできます。通貨記号は通貨符号値が入れられる文字位置を表します。デフォルトの通貨記号は、 コンパイル時に有効であるコード・ページの 値 X'5B' を割り当てられた文字です。本書において、 デフォルト通貨記号はドル記号 ($) で表され、cs は任意の有効な通貨記号を表します。詳細については、通貨記号を参照してください。 | 通貨記号が最初に出現した時点で、 通貨符号値の文字数がデータ項目のサイズに加算されます。 それ以降の出現のたびに、1 文字位置がデータ項目のサイズに加算されます。 |
以下の図に、ピクチャー記号を指定して、ピクチャー文字ストリングを形成することができるシーケンスを示します。PICTURE 節で使用する記号のさらに詳しい説明が、その図の後にあります。
記号 P は位取り位置を指定し、想定小数点を暗黙指定します (一連の P が左端の PICTURE 文字であればそれらの P の左側、右端の PICTURE 文字であればそれらの P の右側)。想定小数点の記号 V は、このような PICTURE 記述内の左端または右端の文字としては冗長です。
記号 P は、PICTURE 文字ストリング内の左端または右端の桁位置に、連続した P のストリングとしてのみ指定できます。
PICTURE 文字ストリングに記号 P を含んでいるデータ項目を参照するある種の演算では、 そのデータ項目の実際の文字表現ではなく、データ項目の代数値が使用されます。 代数値は所定の位置に小数点を、記号 P で指定された桁位置に 0 を想定したものです。値のサイズは、 PICTURE 文字ストリングによって表される桁位置の数になります。これらの演算には、次のものがあります。
上記以外のすべての演算では、記号 P で指定された桁位置は無視され、オペランドのサイズのカウントには入れられません。
PICTURE 文字ストリング内の通貨記号は、デフォルトの通貨記号 $ で表されるか、 CURRENCY コンパイラー・オプションで、または環境部の SPECIAL-NAMES 段落の CURRENCY SIGN 節のいずれかで 指定する単一文字によって表されます。
デフォルトの通貨記号は、本書では $ で表されますが、 実際のデフォルトの通貨記号は、コンパイル時に有効である EBCDIC コード・ページの 値 X'5B' の文字です。
CURRENCY SIGN 節が指定されている場合、CURRENCY および NOCURRENCY コンパイラー・オプションは無視されます。 CURRENCY SIGN 節が指定されない場合に NOCURRENCY コンパイラー・オプションが有効であれば、デフォルトの通貨符号値および 通貨記号としてドル記号 ($) が使用されます。 CURRENCY SIGN 節については、CURRENCY SIGN 節を参照してください。 CURRENCY および NOCURRENCY コンパイラー・オプションの詳細については、「Enterprise COBOL プログラミング・ガイド」を参照してください。
通貨記号を、PICTURE 文字ストリング内で繰り返し、 挿入が一定しないケースを指定することができます。 同じ PICTURE 文字ストリングで異なる通貨記号を使用することはできません。
他のすべての PICTURE 記号とは異なり、通貨記号は大/小文字が区別されます。例えば、'D' と 'd' は異なる通貨記号を指定します。
通貨記号は、USAGE DISPLAY で数字編集項目を定義する目的でのみ使用できます。