Page 1 of 2

what is the purpose of proclib dd statement

PostPosted: Sun Aug 17, 2008 9:06 pm
by Ajay Baghel
What is the purpose of PROCLIB dd statement in the below jcl

// EXEC PGM=DFSRRC00,PARM=......
.
.
.
//PROCLIB DD DSN=PROCLIB.DATASET,DISP=SHR
.
.

Thanks,
Ajay

Re: what is the use of proclib dd statement

PostPosted: Sun Aug 17, 2008 11:06 pm
by dick scherrer
Hello Ajay and welcome to this forum,

As used in your example, PROCLIB is just another DD statement for that step.

Re: what is the purpose of proclib dd statement

PostPosted: Mon Aug 18, 2008 1:14 pm
by Ajay Baghel
Thanks Dick for your prompt reply.

I understand JCLLIB is used to locate the pds from which to pick the catalogued procedures and it is coded before the EXEC statements. But does PROCLIB dd statement do a similar task? If yes, why it is coded within the step that invokes DFSRRC00?

I am not able to understand what is PROCLIB dd statement doing in the step executing DFSRRC00. If it is a ddname specific to the DFSRRC00 utility, then i would like to know what its significance is for DFSRRC00.

Is its purpose to indicate procedure library? If yes, then why it is coded within step and how it is doing its job?

Please guide.

Thanks,
Ajay

Re: what is the purpose of proclib dd statement

PostPosted: Mon Aug 18, 2008 9:54 pm
by dick scherrer
Hello,

But does PROCLIB dd statement do a similar task?
No, however there is a PROCLIB parameter on the /*JOBPARM (if one is used).
http://publibz.boulder.ibm.com/cgi-bin/ ... 650/27.3.6?

I am not able to understand what is PROCLIB dd statement doing in the step executing DFSRRC00.
Pretend the ddname is MYPROCS. You would understand that the program will open MYPROCS and read or write some data. Don't let the ddname cause confusion - it is just a ddname.

Re: what is the purpose of proclib dd statement

PostPosted: Tue Aug 19, 2008 1:31 pm
by Ajay Baghel
But Dick, this dataset PROCLIB.DATASET is a PDS Dataset and it contains members having jobs as well.

I need to research some more on DFSRRC00 to find what it does with PROCLIB.

Will get back if i find something ... hopefully

Thanks Again!!
Ajay

Re: what is the purpose of proclib dd statement

PostPosted: Wed Aug 20, 2008 1:58 am
by dick scherrer
Hello,

this dataset PROCLIB.DATASET is a PDS Dataset and it contains members having jobs as well


Why does this cause concern?

The PROCLIB dataset should contain all IMS-generated cataloged procedures, jobs, and control statements. If DFSRRC00 needs something from that dataset, it has it available rather than dong some kind of dynamic allocation.

Re: what is the purpose of proclib dd statement

PostPosted: Tue Aug 11, 2009 3:30 pm
by GuyC
//PROCLIB DD disp=shr,dsn=...
Is an old and obsolete way of overruling the proclib list.

The new way is /*JOBPARM or //myprocs JCLLIB ORDER =(...,...)

But in a lot of old JCLs this was coded. Normally this stmt would give an error, but it is possible to make jes just to ignore the stmt without error.
If it is still in there it was just lazyness during migration.

Re: what is the purpose of proclib dd statement

PostPosted: Tue Aug 11, 2009 11:19 pm
by dick scherrer
Hello,

If it is still in there it was just lazyness during migration.
Or it is describes a dataset that is used by the step. . .

It is not necessarily wrong or "left behind" due to laziness.

Re: what is the purpose of proclib dd statement

PostPosted: Wed Aug 12, 2009 1:04 pm
by GuyC
True : not necessary. you might find some really exotic program that scans or changes members in a complete PDS

But I'd like to see a batch program that has a PDS in the DD-list and accesses members without "doing some kind of dynamic allocation"

Re: what is the purpose of proclib dd statement

PostPosted: Thu Aug 13, 2009 1:34 am
by dick scherrer
Hello,

There are many systems that use a member or a concatenation of members as a single input to an application program. These use the jcl as input, modify it (usually adding/changing some instream data as well), and "write" it to the internal reader.

Also, most systems i've supported have "sort control" statements in one or more PDS that is named as a DD in the job.