Using Symbolic parm in PROC's SYSTSIN
Posted: Fri Nov 27, 2020 12:50 am
Hi All -
We have a requirement to replace an old way way of handling symbolic parm. So far, client used a DPSS subsystem to replace/handle the external parms passed from the JCL. Have a look in to the calling JCL and proc
JCL
proc
This proc has been called by many JCL's.
Now, the clients is trying to get rid of that DPSS stuff altogether and want to use symbolic parm instead. I tried to use SET statement but it is truncating the values. fro example, CMD is getting value as -TERM instead of full statement i.e. -TERM UTILITY (AI.AIZ040)
I know that we can add a rexx pgm at the begining of the proc to resolve the passed values. But, I want to know if it is possible to resolve the issue without adding any additional step in the proc.
Experts, please suggest if this is possible.
We have a requirement to replace an old way way of handling symbolic parm. So far, client used a DPSS subsystem to replace/handle the external parms passed from the JCL. Have a look in to the calling JCL and proc
JCL
//TERM EXEC DB2CMD,
// CMD=' -TERM UTILITY (AI.AIZ040)'
//*
// CMD=' -TERM UTILITY (AI.AIZ040)'
//*
proc
***************************** Top of Data ***************
//DB2CMD PROC SOUT='*',RGN=0M,
// CMD=,CMD2='END',CMD3='END',CMD4='END',SSN=' '
//DB2SYS INCLUDE MEMBER=$DB2SYS&SSN
//TMP EXEC PGM=IKJEFT01,DYNAMNBR=200,REGION=&RGN
//SYSTSIN DD SUBSYS=(DPSS,'CARD(DSN ',
// 'SYSTEM(&$DB2SYS) #',
// '&CMD #',
// '&CMD2 #',
// '&CMD3 #',
// '&CMD4 #',
// 'END )')
//SYSTSPRT DD SYSOUT=&SOUT
//SYSPRINT DD SYSOUT=&SOUT
//SYSIN DD DUMMY
//ENQUEUE DD DSN=&$DB2SYS..DB2CATLG.ENQUEUE,DISP=SHR
**************************** Bottom of Data *************
//DB2CMD PROC SOUT='*',RGN=0M,
// CMD=,CMD2='END',CMD3='END',CMD4='END',SSN=' '
//DB2SYS INCLUDE MEMBER=$DB2SYS&SSN
//TMP EXEC PGM=IKJEFT01,DYNAMNBR=200,REGION=&RGN
//SYSTSIN DD SUBSYS=(DPSS,'CARD(DSN ',
// 'SYSTEM(&$DB2SYS) #',
// '&CMD #',
// '&CMD2 #',
// '&CMD3 #',
// '&CMD4 #',
// 'END )')
//SYSTSPRT DD SYSOUT=&SOUT
//SYSPRINT DD SYSOUT=&SOUT
//SYSIN DD DUMMY
//ENQUEUE DD DSN=&$DB2SYS..DB2CATLG.ENQUEUE,DISP=SHR
**************************** Bottom of Data *************
This proc has been called by many JCL's.
Now, the clients is trying to get rid of that DPSS stuff altogether and want to use symbolic parm instead. I tried to use SET statement but it is truncating the values. fro example, CMD is getting value as -TERM instead of full statement i.e. -TERM UTILITY (AI.AIZ040)
I know that we can add a rexx pgm at the begining of the proc to resolve the passed values. But, I want to know if it is possible to resolve the issue without adding any additional step in the proc.
Experts, please suggest if this is possible.