Why is CA Datacom support for MetaCOBOL 15.1 translation giving error:
DLBA316E - FOUND "WHEN END" CLAUSE WHICH HAS NO CORRESPONDING "FOR" STATEMENT.
The same program translated with no error under CA MetaCOBOL+ 1.1.
The user had a customized version of CA MetaCOBOL+ 1.1 DLM macro that was provided by special PTF LS45563.
Since CA no longer provides 'special' solutions, the user can implement the same changes for 15.1 manually.
Change the user DLM copy of CA Datacom 15.1 CABSAMP(MCT#DLM) from:
* &IF NOT &B@-SPP-IS-ACTIVE /* GO77101
* ELSE /* SHOULD BE A
* &GOBACK /* SPECIAL
Change to (uncomment those statements by removing the *):
&IF NOT &B@-SPP-IS-ACTIVE /* GO77101
ELSE /* SHOULD BE A
&GOBACK /* SPECIAL
NOTE: Do NOT change the CABDSAMP member as it is target library SMP/e maintained.
It may be that only some of the user programs needed the special DLM change for CA MetaCOBOL+ 1.1 so two versions of the DLM were provided.
If so, two versions of DLM would also need to be provided with 15.1.