DLBA316E - FOUND "WHEN END" CLAUSE WHICH HAS NO CORRESPONDING "FOR" STATEMENT

book

Article ID: 77115

calendar_today

Updated On:

Products

CA Datacom - DB CA Datacom CA Datacom - AD CA Datacom - Server CA CIS CA Common Services for z/OS CA 90s Services CA Database Management Solutions for DB2 for z/OS CA Common Product Services Component CA Common Services CA Datacom/AD CA ecoMeter Server Component FOC CA Easytrieve Report Generator for Common Services CA Infocai Maintenance CA IPC Unicenter CA-JCLCheck Common Component CA Mainframe VM Product Manager CA Chorus Software Manager CA On Demand Portal CA Service Desk Manager - Unified Self Service CA PAM Client for Linux for zSeries CA Mainframe Connector for Linux on System z CA Graphical Management Interface CA Web Administrator for Top Secret CA CA- Xpertware

Issue/Introduction



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.

Environment

z/OS

Resolution

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 &[email protected]                    /* GO77101     
      *       ELSE                                      /* SHOULD BE A 
      *       &GOBACK                                   /* SPECIAL     
      *    &ENDIF    


Change to (uncomment those statements by removing the *):
           &IF NOT &[email protected]                    /* GO77101     
              ELSE                                      /* SHOULD BE A 
              &GOBACK                                   /* SPECIAL     
           &ENDIF                                                      ​

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.

Additional Information

Here is a bit of history about CA MetaCOBOL+ 1.1 special and PTFs GO77101/LS45563/LO12009:

PTF GO77101 although intended as a special was sourced into DLM with CA MetaCOBOL+ 1.1 genlevel 9511.  
PTF LO12009 was provided for 1.1 to undo GO77101 commenting those statements.
PTF LS45563 was then provided for those situations that needed those statements uncommented.

As intended, CA Datacom support for MetaCOBOL 15.1 was provided with those statements commented (no special). And, since any of the MetaCOBOL macros could be customized by the user, the user continues to have the option to create copied version(s) of MCT#DLM.

Note that CA MetaCOBOL+ 1.1 has end of life (EOL) status since February 15, 2017.
https://support.ca.com/us/product-content/status/announcement-documents/2016/ca-metacobol-end-of-life-announcement.html