Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 コンパイラーおよびランタイム 移行ガイド


SIZE ERROR、MULTIPLY と DIVIDE の

COBOL 74 標準 および COBOL 85 標準では、COMPUTE、DIVIDE、または MULTIPLY ステートメントに複数の 受信フィールドがあるときは、中間結果がインプリメンターによって提供されるこ とが明言されています。たとえば、MULTIPLY A BY B GIVING C D は次のように動作します。
MULTIPLY A BY B GIVING temp
MOVE temp TO C
MOVE temp TO D

ここで、temp は、インプリメンターによって提供された中間結果です。

中間結果の使用および定義については、Enterprise COBOLプログラミング・ガイド」を参照してください。中間結果は最高 30 桁である (ARITH(EXTEND) を指定すると 31 桁)、などの定義があります。

したがって、上記の例で、A、B、C、D がすべて PIC S9(18) と定義されている場合、A と B を乗算すると 36 桁の結果となりますが、30 桁 (または 31 桁) の中間結果 temp に移されます。その後、temp が C と D に移されます。


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

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