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


NOCMPR2

受信側が可変長グループである場合、CMPR2 では実際の長さを使用しますが、NOCMPR2 で は可変長グループの最大長を使用する場合があります。この動作は、受信側が可変長であり、それ自身の ODO オブジェクトを含んでおり、構造内の 最後のグループである場合に行われます。以下に例を示します。
01  ODO-SENDER
    02  SEND-OBJ PIC 99.
    02  SEND-ITEM PIC X OCCURS 1 TO 20 DEPENDING ON SEND-OBJ.

01  ODO-RECEIVER.
    02  RECV-OBJ PIC 99.
    02  RECV-ITEM PIC X OCCURS 1 TO 20 DEPENDING ON RECV-OBJ.
⋮
MOVE 5 TO SEND-OBJ.
MOVE 10 TO RECV-OBJ.
MOVE ODO-SENDER TO ODO-RECEIVER.
⋮
CMPR2:
   Occurrences 1-5 of ODO-SENDER moved to ODO-RECEIVER.
   Occurrences 6-10 of ODO-RECEIVER become spaces.
   Occurrences 11-20 of ODO-RECEIVER are unchanged.
NOCMPR2:
   Occurrences 1-5 of ODO-SENDER moved to ODO-RECEIVER.
   Occurrences 6-20 of ODO-RECEIVER become spaces.

データ移動ステートメントの実行時に ODO オブジェクトの値を超えるテーブル・オカレンス数を参照 するプログラムは、NOCMPR2 のもとで使用されると正しい結果を生成しません。

上記の例では、グループ移動の前にオカレンス 11 ~ 20 にデータがあって も、NOCMPR2 のもとで実行されると、グループ移動後にデータが消失します。


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

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