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 “.”.
CA-IDMS, any release from r17.0 onwards.The same cobol source compiles cleanly on releases prior to r17.0.
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.
If you enable bits 309 and 310 in RHDCOPTF, the compile will end with RC=0.
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:
See also the documentation of the change in the r17.0 Release Summary.
See also RO12491.