Page 1 of 1

passing parameter to another JCL through ICEGENER

PostPosted: Wed Nov 23, 2011 10:45 pm
by learning_ibm
Hi,
I want to pass parameter to PGMFND jcl, can I do so by putting "PARM" as shown below?
//SORT ...
//INTRD01 EXEC PGM=ICEGENER,PARM=(XXX)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=ABC.JCL(PGMFND)
//SYSUT2 DD SYSOUT=(1,INTRDR)
//SYSIN DD DUMMY

Re: passing parameter to another JCL through ICEGENER

PostPosted: Wed Nov 23, 2011 11:04 pm
by Akatsukami
learning_ibm wrote:Hi,
I want to pass parameter to PGMFND jcl, can I do so by putting "PARM" as shown below?
//SORT  ...                     
//INTRD01  EXEC PGM=ICEGENER,[b]PARM=(XXX)[/b]         
//SYSPRINT DD SYSOUT=*                           
//SYSOUT   DD SYSOUT=*                           
//SYSUT1   DD DISP=SHR,DSN=ABC.JCL(PGMFND)
//SYSUT2   DD SYSOUT=(1,INTRDR)                   
//SYSIN    DD DUMMY

No, for as you can read for yourself, IEBGENER has very limited editing capabilities. I would suggest your shop's sort product (probably either DFSORT or Syncsort; there are fora for both on this board); if for any reason prove inadequate, a small bit of Rexx (or any lamguage really, but Rexx is the one that most likely your shop and I have in common) can be written.

Re: passing parameter to another JCL through ICEGENER

PostPosted: Thu Nov 24, 2011 12:09 am
by Frank Yaeger
Akatsukami,

The OP is using ICEGENER, not IEBGENER. ICEGENER is actually part of DFSORT.

learning,

It's not really clear what you're trying to do. You need to do a better job of explaining it before anyone can help you. What exactly are you trying to accomplish? What does your PGMFND JCL look like? What do you want to change it to using the PARM?

Re: passing parameter to another JCL through ICEGENER

PostPosted: Thu Nov 24, 2011 12:31 pm
by learning_ibm
I need to pass 'XXX' from SORT Job to PGMFND Job. PGMFND job uses an internal utility to create control card NTC such that If I pass &sysid,ba,cycl parameters to this utility, it will create DSN "&SYSUID..BA.CYCL".(so for each different "cycl", I need to create different DSN and put data into it)
But here CYCL is variable and I am not able to find how to pass value of this variable from SORT job to PGMFND.

//PGMFND ....
...
//S09 EXEC PGM=utility,
// PARM='&SYSUID,BA,CYCL'
//*
//INDD DD DSN=ABCD.CTC(NTC),
// DISP=SHR
//OUTDD DD DSN=&&NDMDATA,
// DISP=(NEW,PASS),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=1680),
// SPACE=(TRK,(1,1)),
// UNIT=SYSALLDA
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//*

Re: passing parameter to another JCL through ICEGENER

PostPosted: Fri Nov 25, 2011 11:15 am
by dick scherrer
Hello,

Looks like i've gotten lost again. . .

Why do you not simply execute PGMFND? What reason is there to invoke the SORT or ICEGENER or . . .

Maybe a more comprehensive, more clear definition of what has you stuck will help.

Re: passing parameter to another JCL through ICEGENER

PostPosted: Fri Nov 25, 2011 8:25 pm
by Anuj Dhawan
I'm also not very clear on what are you aksing, however, I'll try to read between the lines - with this
//PGMFND ....
it looks lke you have a job with name 'PGMFND' - this job executes some "utility-program". This "utility-program" accepts "CYCL" as one of the parameters among others. This "utility-program", creates a file of naming convention "&SYSUID..BA.CYCL".

You want to change the value of CYCL dynamically, as you want to create number of DSNs.

Is that correct?

Re: passing parameter to another JCL through ICEGENER

PostPosted: Sat Nov 26, 2011 7:30 am
by Frank Yaeger
Learning,

I believe you can do what you want using DFSORT's support for use of SET and PROC symbols in control statements (JPn"string" in EXEC PARM). For complete details, see:

http://www.ibm.com/support/docview.wss? ... g3T7000242

If you need more specific help with this, show your PGMFND JCL (as I requested previously) and indicate what it is you want to change there.