文字ストリングおよび項目のサイズ

ユーザー・プログラムでは、基本項目のサイズは、その PICTURE 文字ストリングの中で指定する文字位置の個数によって決まります。 しかし、ストレージ内では、その項目が実際に占めるバイト数 (PICTURE 文字ストリングと USAGE 文節の組み合わせによって判別される) によって項目のサイズが決められます。

変更の始まりUSAGE DISPLAY で記述された項目 (カテゴリーは英字、英数字、英数字編集、数字編集、数字、および外部浮動小数点) の場合、項目の PICTURE 文字ストリングと SIGN IS SEPARATE 文節 (該当する場合) によって記述されたそれぞれの文字位置ごとに 1 バイトのストレージが予約されます。変更の終わり

IBM Extension
IBM Extension

変更の始まりUSAGE DISPLAY-1 で記述される項目 (カテゴリー DBCS) の場合は、項目の PICTURE 文字ストリングによって記述されたそれぞれの文字位置ごとに 2 バイトのストレージが予約されます。変更の終わり

変更の始まりUSAGE NATIONAL で記述される項目 (カテゴリーは国別および数字) の場合、項目の PICTURE 文字ストリングと SIGN IS SEPARATE 文節 (符号付きの数字の場合) によって記述されたそれぞれの文字位置ごとに 2 バイトのストレージが予約されます。変更の終わり

LOCALE 句を含む PICTURE 文節を持つ基本項目のサイズは SIZE 句の整数-1 から判別されます。

内部浮動小数点項目については、ストレージ内の項目のサイズはその USAGE 文節によって決められます。 USAGE COMPUTATIONAL-1 は項目用に 4 バイトのストレージを予約し、USAGE COMPUTATIONAL-2 は 8 バイトのストレージを予約します。

日時クラスの基本項目のサイズは、FORMAT リテラルまたは SIZE 句内の整数から判別されます。

End of IBM Extension
End of IBM Extension

通常、算術項目をあるフィールドからそれより短いフィールドに移すと、 コンパイラーは短い方の項目の PICTURE 文字ストリングで表された文字数に 合わせて、 データを切り捨てます。

例えば、PICTURE S99999 と指定され、+12345 という値が入っている送り出しフィールドから、PICTURE S99 と指定され、BINARY である受け入れフィールドにデータが移されるとすると、そのデータは切り捨てられて +45 になります。 詳しくは USAGE 文節を参照してください。