リテラル値の規則
- リテラルが指定されているところは、表意定数で置き換えることもできます。
- 項目が数字の場合は、VALUE 文節のリテラルはすべて数字でなければなりません。 リテラルが作業用ストレージ・セクションの項目の値を定義している場合は、そのリテラルは数字の移動の規則によって境界合わせがされますが、1 つだけ制約があります。 つまり、そのリテラルは、ゼロ以外の数字の切り捨てを必要とする値を持てないということです。 符号付きリテラルの場合は、関連する PICTURE 文字ストリングに符号 (S) が含まれていなければなりません。
- 1 つの例外はありますが、項目の VALUE 文節内の数字リテラルは、
その項目の PICTURE 文節によって表される値の範囲内にある値でなければなりません。
例えば PICTURE が 99PPP の場合、リテラルは 1 000 ~ 99 000 の範囲内にあるか、またはゼロでなければなりません。
PICTURE が PPP99 の場合は、リテラルは 0.000 00 ~ 0.000 99 の範囲内になければなりません。
例外は以下のとおりです。
- ピクチャー・シンボル P を PICTURE 文節に持たない、USAGE COMP-5 で記述されたデータ項目。
- *NOSTDTRUNC コンパイラー・オプション が有効の場合、つまり、ピクチャー・シンボル P を PICTURE 文節に持たな い BINARY または COMP-4 を使用して記述されたデータ項目である場合です 。
これらの項目に対する VALUE 文節は、固有の 2 進数表記 の容量までの値を持っています。
- 項目がグループ項目、または英字、英数字、英数字編集、または数字編集の基本項目である場合は、VALUE 文節のリテラルはすべて非数字リテラルでなければなりません。
リテラルは位置合わせ規則どおりに位置合わせされますが、その他の制約事項が 1 つあります。
つまり、リテラル内の文字数はその項目のサイズを超えてはならないということです。
IBM Extension
IBM Extension 項目がブールの場合、VALUE 文節はブール・リテラルでなければなりません。 End of IBM Extension
End of IBM Extension - 記述された項目の最初の状況を判別する際には、PICTURE 文節内の編集文字の機能は無視されます。 ただし項目のサイズを判別する際には編集文字も含められます。 したがって、編集文字があれば、それをリテラルに含めなければなりません。 例えば、項目が PICTURE +999.99 と定義されており、その値が +12.34 ならば、VALUE 文節は、VALUE '+012.34' と指定する必要があります。
- 単一の VALUE 文節を使って、最大 32 767 バイトを初期設定できます。 単一のプログラムに含まれるすべての VALUE 文節で、最大 65 472 バイトを初期設定できます。