In OS/VS COBOL, if the LINKAGE SECTION contained the object of the OCCURS DEPENDING ON clause, when the number of occurrences of the subject of the OCCURS clause changed, you would need to reset the object of the OCCURS DEPENDING ON clause to trigger the update of the group length. With Enterprise COBOL, this resetting is unnecessary because the length of the group is calculated whenever the structure is referenced.
OS/VS COBOL Enterprise COBOL
LINKAGE SECTION. LINKAGE SECTION.
01 PARMLIST.
05 FILLER PIC S9(8).
05 RECORD-POINTER PIC S9(8).
.
.
01 VAR-RECORD. 01 VAR-RECORD.
05 REC-OTHER-DATA PIC X(30). 05 REC-OTHER-DATA PIC X(30).
05 REC-AMT-CNT PIC 9(4). 05 REC-AMT-CNT PIC 9(4).
05 REC-AMT PIC 9(5) 05 REC-AMT PIC 9(5)
OCCURS 1 TO 100 TIMES OCCURS 1 TO 100 TIMES
DEPENDING ON REC-AMT-CNT. DEPENDING ON REC-AMT-CNT.
. .
. .
PROCEDURE DIVISION. PROCEDURE DIVISION.
. .
. .
EXEC CICS READ DATASET("INFILE") EXEC CICS READ DATASET("INFILE")
RIDFLD(INFILE-KEY) RIDFLD(INFILE-KEY)
SET(RECORD-POINTER) SET(ADDRESS OF VAR-RECORD)
LENGTH(RECORD-LEN) LENGTH(RECORD-LEN)
END-EXEC. END-EXEC.
MOVE REC-AMT-CNT TO REC-AMT-CNT. .
MOVE VAR-RECORD TO WS-RECORD-HOLD. MOVE VAR-RECORD TO WS-RECORD-HOLD.
. .
. .