Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


パック 10 進数フィールドの問題の回避

COMPUTATIONAL-3 フィールド (パック 10 進数形式) は、奇数桁数を持つものとして定義されることがよくあります。フィールドがその大きさの数値を保持しない場合でもそうです。 それは、内部表現ではパック 10 進数の桁数が常に奇数になっているからです。

例えば、6 桁のグレゴリオ暦日付を入れるフィールドを PIC S9(6) COMP-3 と宣言します。この宣言により、4 バイトのストレージが予約されることになります。しかしプログラマーは、PIC S9(7) を指定しても予約バイトは 4 バイトであることを考慮して、フィールドを PIC S9(7) として宣言し、最高位桁を常に 0 にするようにしているかもしれません。

このフィールドに DATE FORMAT YYXXXX という文節を追加した場合、コンパイラーから診断メッセージが出ます。PICTURE 文節内の桁数が日付形式指定のサイズに一致しないからです。その場合、フィールド使用を 1 つずつ慎重に調べる必要があります。高位桁を使わない場合は、単にフィールド定義を PIC S9(6) に変更することができます。使用する場合 (例えば同じフィールドに日付以外の値も入れることがある場合)、他のなんらかのアクションが必要になります。


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)