Support for PARMDD EXEC parameter
search cancel

Support for PARMDD EXEC parameter

book

Article ID: 98339

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

There is an EXEC statement parameter in zOS 2.1 and above, PARMDD.
This parameter enables the job to pass a string longer than 100 characters to the EXEC program IGYCRCTL. 

Using PARMDD it is possible to pass a string up to approx. 32000 characters. If would be extremely helpful if it were possible to pass parameters longer than 100 characters.

Resolution

Endevor does not support the PARMDD parameter.  Therefore processors are limited to passing up to 100 characters using the PARM parameter.

The suggestion is to use MULTIPLE C1PRMGEN steps to build the parameter file content and use PARM=OPTFILE in your IGYCRCTL step :
 
//S1 EXEC PGM=C1PRMGEN, PARM=’PARM 1'
//PARMOUT DD DSN=&&PARM1,DISP=(,PASS)
//S2 EXEC PGM=C1PRMGEN, PARM=’PARM 2'
//PARMOUT DD DSN=&&PARM2,DISP=(,PASS)
 
//COMPILE EXEC PGM=IGYCRCTL,PARM=OPTFILE
//SYSOPTF DD DSN=&&PARM1,DISP=(OLD,DELETE)
//        DD DSN=&&PARM2,DISP=(OLD,DELETE)


The processor will be executed as shown in the example below:
 
09:15:25  C1X0240I         //***************************************************************  
09:15:25  C1X0240I         //* C1PRMGEN - use C1PRMGEN to create a global edit parm cards     
09:15:25  C1X0240I         //**************************************************************   
09:15:25  C1X0240I     21  //C1PRMGN1 EXEC PGM=C1PRMGEN,                                      
09:15:25  C1X0240I         //         PARM=' LIB,NOSEQ,OBJECT,APOST,NOADATA,CODEPAGE(1140)'   
09:15:25  C1X0240I     22  //PARMOUT  DD DISP=(NEW,PASS),                                     
09:15:25  C1X0240I         //         UNIT=VIO,                                               
09:15:25  C1X0240I         //         SPACE=(80,(1,0)),                                       
09:15:25  C1X0240I         //         DCB=(RECFM=FB,LRECL=80),                                
09:15:25  C1X0240I         //         DSN=&PRMGEN01                                           
09:15:25  C1X0240I         //*                                                                
09:15:25  C1X0240I     23  //C1PRMGN2 EXEC PGM=C1PRMGEN,                                      
09:15:25  C1X0240I         //         PARM=' NODBCS,NODECK,NOEXIT,LANGUAGE(EN),LINECOUNT(60),'
09:15:25  C1X0240I     24  //PARMOUT  DD DISP=(NEW,PASS),                                     
09:15:25  C1X0240I         //         UNIT=VIO,                                               
09:15:25  C1X0240I         //         SPACE=(80,(1,0)),                                       
09:15:25  C1X0240I         //         DCB=(RECFM=FB,LRECL=80),   
09:15:25  C1X0240I         //         DSN=&PRMGEN02      
09:15:25  C1X0240I         //*                                
09:15:25  C1X0240I     25  //C1PRMGN3 EXEC PGM=C1PRMGEN,                                        
09:15:25  C1X0240I         //         PARM=' TRUNC(OPT),NODYNAM,LIST,RENT,MAP,XREF,OPT'         
09:15:25  C1X0240I     26  //PARMOUT  DD DISP=(NEW,PASS),                                       
09:15:25  C1X0240I         //         UNIT=VIO,                                                 
09:15:25  C1X0240I         //         SPACE=(80,(1,0)),                                         
09:15:25  C1X0240I         //         DCB=(RECFM=FB,LRECL=80),                                  
09:15:25  C1X0240I         //         DSN=&PRMGEN03                                             
09:15:25  C1X0240I         //*                                                                  
09:15:25  C1X0240I         //*******************************************************************
09:15:25  C1X0240I         //**    COMPILE THE ELEMENT                                        **
09:15:25  C1X0240I         //*******************************************************************
09:15:25  C1X0240I     27  //COMPILE  EXEC PGM=IGYCRCTL,COND=(0,LT),MAXRC=4,                    
09:15:25  C1X0240I         //         PARM=OPTFILE                                              
09:15:25  C1X0240I         //*        PARM='&PARMCOB'                                           
09:15:25  C1X0240I     28  //SYSOPTF  DD DISP=(OLD,PASS),    
09:15:25  C1X0240I         //         DSN=&PRMGEN01          
09:15:25  C1X0240I     29  //         DD DISP=(OLD,PASS),    
09:15:25  C1X0240I         //         DSN=&PRMGEN02          
09:15:25  C1X0240I     30  //         DD DISP=(OLD,PASS),    
09:15:25  C1X0240I         //         DSN=&PRMGEN03       
                       




 

 

Additional Information