How to code PARM in a JCL EXEC when entity type ID contains special characters

Document ID : KB000054862
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Alchemist can be very flexible in what characters it allows as part of an Entity Type Definition (ETD) name (or ID).

For example, you can conceivably code ID('PSF - PAGE/FORM DEFS, ETC .') which contains a slash, hyphen, comma and period.

This is quite acceptable as a valid entity type and Alchemist has no trouble managing entities of this type. However, this can be a challenge when it comes to coding the entity type as a parameter on a JCL EXEC statement for some of the utilities, such as ZCEXPORT and ZCEZCEXT. A comma is the most problematic.

EXAMPLES of formats that will NOT work or give the desired results:

  1. //XTRACT   EXEC PGM=ZCEZCEXT,                                    
    //         PARM='SELECTVER=C9,ETYPE=(PSF - PAGE/FORM DEFS, ETC.)'
    //ZCEXPORT EXEC PGM=ZCEXPORT,                                           
    //         PARM='BATCH=YES,TYPE=(PSF - PAGE/FORM DEFS, ETC.),          X
    //             ZONE=PROD,OENAME=ALCPRD'    
    //XTRACT   EXEC PGM=ZCEZCEXT,                                        
    //         PARM='SELECTVER=C9,ETYPE=("PSF - PAGE/FORM DEFS, ETC.")'  
    //ZCEXPORT EXEC PGM=ZCEXPORT,                                           
    //         PARM='BATCH=YES,TYPE=("PSF - PAGE/FORM DEFS, ETC."),        X
    //             ZONE=PROD,OENAME=ALCPRD'    
    All result in the following error message:
    ZAAPRM06E - PARM KEYWORD "ETYPE" VALUE LIST SPECIFIES TOO MANY ITEMS
  2. //XTRACT   EXEC PGM=ZCEZCEXT,
    // PARM='SELECTVER=C1,ETYPE="PSF - PAGE/FORM DEFS, ETC."'
    Results in the following error:
    ZAAPRM01E - PARM KEYWORD "ETC."" NOT FOLLOWED BY =
  3. //XTRACT   EXEC PGM=ZCEZCEXT,                               
    //         PARM='SELECTVER=C9,ETYPE=(PSF*)'   
    A wild card might not result in a direct error, but no entities are found by the utility:
    ZCEZCE01I - ZCL EXTRACT LIMITED TO ENTITY TYPE PSF*    
    ZCEZCE09I - ZCL EXTRACT COMPLETED FOR 00000000 MEMBERS 
    ZCEZCE10I - ZCL EXTRACT UTILITY ENDED

Solution:

  1. Code the entity type parm between two pair of single quotes.

  2. You also need to make sure that the data between ''and'' is 30 bytes long (that is padded with blanks). This is the maximum length of the entity type ID field, also known as entity type name or ename.
For the example ETD above, code entity type as ETYPE=''PSF - PAGE/FORM DEFS, ETC.    ''

So for ZCEZCEXT, you could code the parm as:
PARM='xxx,ETYPE=''PSF - PAGE/FORM DEFS, ETC.    '',yyy'
PARM='SELECTVER=C9,ETYPE=''PSF - PAGE/FORM DEFS, ETC.    '''

So for ZCEXPORT, you could code the parm as:
PARM='xxx,TYPE=''PSF - PAGE/FORM DEFS, ETC.    '',yyy'
PARM='BATCH=YES,TYPE=''PSF - PAGE/FORM DEFS, ETC. '',ZONE=PROD,OENAME=ALCPRD'