SIZE 句
SIZE 句では、日付項目または時刻項目の合計サイズを桁数で指定します。この桁数は形式リテラルのサイズ以上でなければなりません。 形式リテラルのサイズは、変換指定子をそれらの最大値によって置き換え、必要な場合はさらに実行時 CCSID への変換を行うことによって判別されます。 詳しくは、 「IBM® Rational® Development Studio for i: ILE COBOL プログラマーの手引き」に記載されている CRTCBLMOD の CCSID パラメーターの説明を参照してください。
日付項目または時刻項目の長さがコンパイル時に判別できない場合は、これらの項目について SIZE 句を指定する必要があります。
コンパイラーが日付項目または時刻項目のサイズを判別できない場合を以下に示します。
- リテラル-8 と LOCALE 句の両方が指定されている場合。 これは、日付項目または時刻項目には指定されたロケールから実行時に判別される部分が含まれるため、実際の長さは実行時に決まるということを意味します。
- リテラル-8 は指定されているが LOCALE 句は指定されておらず、リテラル-8 の中に指定されている変換のうちの 1 つを実行した結果が可変長項目になる可能性がある場合。
- リテラル-8 が指定されていない 場合。 これは、日付項目または時刻項目のすべての内容は指定されたロケールから実行時に判別されるため、実際の長さが決まるのは実行時であることを意味します。
- 整数-3、整数-4
- 整数-3 および整数-4 では、デフォルトの日付項目または時刻項目のサイズを桁数で指定します。 日付項目または時刻項目のサイズがコンパイル時に判別できない場合は、整数-3 または整数-4 を指定する必要があります。 日付項目および時刻項目については、整数-3 および整数-4 は 4 以上でなければなりません。 日時クラスの項目の最大サイズは、その項目に USAGE DISPLAY が指定されている場合、またはその項目の USAGE PACKED-DECIMAL に 31 が指定されている場合は 256 桁となります。