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

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

book

Article ID: 77115

calendar_today

Updated On:

Products

Datacom DATACOM - AD CIS COMMON SERVICES FOR Z/OS 90S SERVICES DATABASE MANAGEMENT SOLUTIONS FOR DB2 FOR Z/OS COMMON PRODUCT SERVICES COMPONENT Common Services CA ECOMETER SERVER COMPONENT FOC Easytrieve Report Generator for Common Services INFOCAI MAINTENANCE IPC UNICENTER JCLCHECK COMMON COMPONENT Mainframe VM Product Manager CHORUS SOFTWARE MANAGER CA ON DEMAND PORTAL CA Service Desk Manager - Unified Self Service PAM CLIENT FOR LINUX ON MAINFRAME MAINFRAME CONNECTOR FOR LINUX ON MAINFRAME GRAPHICAL MANAGEMENT INTERFACE WEB ADMINISTRATOR FOR TOP SECRET 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 &B@-SPP-IS-ACTIVE                    /* GO77101     
      *       ELSE                                      /* SHOULD BE A 
      *       &GOBACK                                   /* SPECIAL     
      *    &ENDIF    


Change to (uncomment those statements by removing the *):
           &IF NOT &B@-SPP-IS-ACTIVE                    /* 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