A cobol compile is getting error DML084 in the IDMSDMLC pre-compile.
There was a change introduced in r17.0 which enforces the requirement that in a FIND/OBTAIN WITHIN SET USING SORT-KEY statement, the SORT-KEY identified by the USING clause can only be one field. This requires that the statement be delimited with a “;” or a “.”.
The best resolution is to add a “;” or a “.” to the statement depending on whether or not the statement is inside an IF/THEN/ELSE construct.
Alternatively, optional bits 309 and/or 310 can be used to change the behaviour of the compiler.
By default, the DML084 will cause the compile to end with RC=8.
If you enable bit 309 in RHDCOPTF, the compile will end with RC=4.
#DEFOPT OPT00309
If you enable bits 309 and 310 in RHDCOPTF, the compile will end with RC=0.
#DEFOPT OPT00309
#DEFOPT OPT00310
The functionality of bits 309 and 310 was added to CA-IDMS by r17.0 APAR RO12491.
From r18.0 and onwards, APAR RO12491 is fixed in the base release of CA-IDMS and therefore should not, and can not, be applied at those releases.
For more information, see the following CA IDMS DocOps pages:
Applying Optional Functionality
FIND/OBTAIN WITHIN SET USING SORT KEY (COBOL)
See also the documentation of the change in the r17.0 Release Summary.
See also RO12491.