Support for PARMDD EXEC parameter

Document ID : KB000098339
Last Modified Date : 31/05/2018
Show Technical Document Details
Issue:
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. Endevor does not support the PARMDD parameter.
Therefore processors are limited to passing up to 100 characters using the PARM parameter.
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.
Cause:
This enhancement is already requested but there is already a solution that allows to pass long string to IGYCRCTL.
Resolution:
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: