Я новичок в COBOL (и OpenCOBOL), и мой вопрос о "complex-odo" (происходит в зависимости от) в OpenCOBOL.
Я использовал 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 возвращает с этой ошибкой msg:
Ошибка: «W-PTDO-PROC-ENTRY» не может иметь предложение OCCURS из-за «W-PTDO-PROC-DARRAY»
И выше сообщение об ошибке выдается из field.c, где я нашел этот комментарий
/ * элемент данных, который содержит предложение OCCURS DEPENDING, не должен подчиняться элементу данных, который содержит предложение OCCURS * /
Есть ли способ заставить OpenCOBOL поддерживать этот "complex-odo"?
Мой фрагмент кода, приведенный выше, с "OCCURS DEPENDING", вложенным в предложение "OCCURS" более высокого уровня, кажется хорошо определенным "complex-odo" в соответствии с приложением IBM COBOL Programming Guide.
Спасибо,
Билли Ронг