Page 1 of 2

Parm member display

PostPosted: Thu Aug 09, 2012 2:24 am
by beheraashisa
I have a question on Parm Lib

One job have 2 step.

Step 1. Modify the parm lib

Step 2. display the parm lib

Initial value of parm member is '123'. After modification at step 1, modified value is 'XYZ'.

Now what should the out of step 2? 123 or XYZ. This is a production job and It runs under Ca7 enviroment.

At the begining of job starts, does the job takes a snap shot of parm member.?

Re: Parm member display

PostPosted: Thu Aug 09, 2012 2:30 am
by Akatsukami
Is the parmeter passed to a program in the job, or is it used solely by CA-7?

Re: Parm member display

PostPosted: Thu Aug 09, 2012 2:37 am
by beheraashisa
in step 1, the parm member is modified by iocopy and step 2 displays by using a program.

Re: Parm member display

PostPosted: Thu Aug 09, 2012 2:45 am
by prino
Have you bothered to try this with a job of yourself - the question is rhetorical...

Re: Parm member display

PostPosted: Thu Aug 09, 2012 8:03 am
by dick scherrer
Hello and welcome to toe forum,

It may help us help you if you post the jcl and control statement(s) for the 2 steps.

Re: Parm member display

PostPosted: Thu Aug 09, 2012 7:25 pm
by beheraashisa
I tried the JCL, It modified the parm at step 1 and at step 2 it displayed old parm information only. So before going foreward i want to cconfirm with Gurus like you.

The JCL
//STEP1 EXEC PGM=IOCOPY
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//IN1 DD DSN=PROD.CURRPGM,DISP=SHR
//OUT1 DD DSN=PARMLIB(PARM1),DISP=SHR
//***************
//STEP2 EXEC PGM=IKJEFT01,REGION=6M,DYNAMNBR=20
//SYSUDUMP DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//IOSERCOM DD SYSOUT=*
//JOBDATA DD DSN=PARMLIB(PARM1),DISP=SHR
//COMDATA DD DUMMY,DCB=BLKSIZE=80
//SYSTSIN DD DSN=PARMLIB(CPRC995Z),DISP=SHR

the 2nd step program is a cobol-db2. The program does some calculation based on the values in PARM1 and dispays the values of PARM1.


I see that the parm is changed at step 1.

Re: Parm member display

PostPosted: Thu Aug 09, 2012 7:50 pm
by dick scherrer
Hello,

Suggest you insert an IEBGENER between step1 and step2 and copy PARM1 to sysout. Post the outputs from this run.

Re: Parm member display

PostPosted: Thu Aug 09, 2012 8:45 pm
by Akatsukami
berehaashisa, your terminology seems somewhat confused. If indeed your job is running a COBOL/DB2 via background, then I would expect PARMLIB(CPRC995Z) to contain something like:
DSN SYSTEM(FOO)
RUN PROGRAM(BAR) PLAN(BAR) PARMS('P1 P2')

In which case your modification of PARMLIB(PARM1) in STEP1 would have no effect. To the left, the assignment of PARMLIB(PARM) to the file JOBDATA suggests that it contains control cards, not parameters...but of course the program would actually have to open and read that file. Can you verify for us which is the case?

Re: Parm member display

PostPosted: Thu Aug 09, 2012 8:54 pm
by beheraashisa
PARMLIB(CPRC995Z)

contains

DSN SYSTEM(GRP1)
RUN PROGRAM(BPRC995Z) PLAN(BPRC995Z)

Initial value of PARMLIB(PARM1) before step 1 is 123 and after step 1 complete the the value of parm is XYZ

Re: Parm member display

PostPosted: Thu Aug 09, 2012 9:49 pm
by dick scherrer
Hello,

Did you insert the iebgener step and look at what is in the member?

Whatever is in the member will be used when the dataset is opened by the program. . . Which should be XYZ.

If it is not, you need to show more info about how the program accesses the data in that member.