私はCOBOL(およびOpenCOBOL)を初めて使用します。私の質問は、OpenCOBOLの「complex-odo」(OCCURS ... DEPENDING ON)についてです。
次のコードで 1.0 を使用しました
……
01 W-PTDO-PROC-TBL.
05 W-PTDO-PROC-ENTRY OCCURS 0 TO 450 TIMES
DEPENDING ON W-PTDO-PROC-MAX
INDEXED BY W-PTDO-PROC-INDX.
10 W-PTDO-PROC-APC PIC X(05).
10 W-PTDO-PROC-LNSUB PIC S9(07) COMP-3.
10 W-PTDO-PROC-KEY.
15 W-PTDO-PROC-WA-OFFSET PIC 9(08)V99.
15 W-PTDO-PROC-UNITS PIC 9(09).
10 W-PTDO-PROC-DEVICE-CNT PIC 9(03).
10 W-PTDO-PROC-DARRAY OCCURS 0 TO 450 TIMES
DEPENDING ON W-PTDO-DARRAY-MAX
INDEXED BY W-PTDO-DARRAY-INDX.
15 W-PTDO-PROC-DHCPCS PIC X(05).
10 W-PTDO-DARRAY-SIZE PIC 9(03).
10 W-PTDO-PROC-TOT-DCHRGS PIC 9(10)V99.
10 W-PTDO-PROC-TOT-DUNITS PIC 9(05).
10 W-PTDO-PROC-USED PIC X(01).
……
cobc は次のエラー メッセージを返します。
エラー: 'W-PTDO-PROC-DARRAY' のため、'W-PTDO-PROC-ENTRY' に OCCURS 句を含めることはできません
上記のエラー メッセージは、このコメントを見つけた field.c から発行されます。
この「複雑な方法」を OpenCOBOL にサポートさせる方法はありますか?
「OCCURS DEPENDING」が上位レベルの「OCCURS」句の下にネストされた上記のコード スニペットは、IBM の COBOL プログラミング ガイドの付録によると、明確に定義された「complex-odo」のようです。
ありがとうございました、
ビリー・ロン