MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Help on JCL

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL)
View previous topic :: View next topic  
Author Message
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Mon Nov 29, 2004 10:50 pm    Post subject: Help on JCL Reply with quote

Hi all,

I am working on testings of new quikjobs. How can I set in JCL so that I have a similar manner as load module libraries?

In other words, in load module, I can do something like:
//JOBLIB DD DISP=SHR,DSN=TEST.LOADLIB
// DD DISP=SHR,DSN=PROD.LOADLIB
so that I can find the testing load module from TEST.LOADLIB first, and then search it from PROD.LOADLIB

Can I do a similar thing on PGM=QUIKJOB like:
//SYSIN DD DISP=SHR,DSN=TEST.QJOBLIB
// DD DISP=SHR,DSN=PROD.QJOBLIB

Thanks for helping.

Franky
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Nov 30, 2004 5:54 am    Post subject: Reply with quote

ypngan,


Code your JCL as a proc and override it from the JCL

ex:

Code:

//STEPNAME.SYSIN DD
//                DD DUMMY


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Tue Nov 30, 2004 5:59 am    Post subject: Reply with quote

You can certainly concatenate multiple libraries to the SYSIN DD, but be aware that, when you concatenate, the contents of SYSIN will be the entire COMBINED contents of both files.

Also, doesn't Quikjob need a PDS for the SYSIN, with a specific member specified?
Back to top
View user's profile Send private message
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Tue Nov 30, 2004 6:02 am    Post subject: Reply with quote

kolusu wrote:
ypngan,


Code your JCL as a proc and override it from the JCL

ex:

Code:

//STEPNAME.SYSIN DD
//                DD DUMMY


Hope this helps...

Cheers

Kolusu
Hi Kolusu,

Thanks for your reply. I am now writing a proc to call QUIKJOB so that it will try to get the member into SYSIN from TEST.QJOBLIB first, and if not found, get it from PROD.QJOBLIB.

Franky
Back to top
View user's profile Send private message
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Tue Nov 30, 2004 6:09 am    Post subject: Reply with quote

Hi superk,

I think you catch my meaning. I know that I cannot simply use 2 DD statements on SYSIN for this purpose, but I don't know how to do something similar to LOADLIB on QJOBLIB...

Franky
Back to top
View user's profile Send private message
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Tue Nov 30, 2004 9:09 am    Post subject: Reply with quote

You could have step1 of the job do an IEBCOPY. First, copy TEST.QJOBLIB to a new, temporary PDS and then copy PROD.QJOBLIB into same PDS without replace option. Use this new PDS in your test step.

//ST1 EXEC PGM=IEBCOPY
-other DD cards-
//TEST DD DISP=SHR,DSN=TEST.QJOBLIB
//PROD DD DISP=SHR,DSN=PROD.QJOBLIB
//COMBINED DD DISP=(,PASS),DSN=TEMP.QJOBLIB,.....
//SYSIN DD *
COPY INDD=TEST,OUTDD=COMBINED
COPY INDD=PROD,OUTDD=COMBINED

Regards,
Bill
Back to top
View user's profile Send private message
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Tue Nov 30, 2004 10:05 pm    Post subject: Reply with quote

Hi Bill,

Your suggestion works well except that since my PROD.QJOBLIB is very large, and I have several QJOB to run in the job, the total run time increases very much. I will use this method until I find a better one. Thanks a lot for your help.

Franky
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Tue Nov 30, 2004 10:25 pm    Post subject: Reply with quote

If I understand this correctly, you can use ISRSCAN to do the copy. It scans the dirctories looking for the 1st occurance of a member and copies that member to a 2nd data set (which is usually passed to another step). To see how it is used, generate any JCL from ISPF's batch compiler options (ISPF option 5 usually). It is pretty straightforward and this is exactly what it is for (again, if I understand the problem).
Back to top
View user's profile Send private message Visit poster's website
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Tue Nov 30, 2004 11:16 pm    Post subject: Reply with quote

Hi semigeezer,

oh... my ISPF doesn't have option 5...

Franky
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Dec 01, 2004 6:34 am    Post subject: Reply with quote

ypngan,
Quote:

oh... my ISPF doesn't have option 5...



What is your ISPF version?

semigeezer,

I remember reading somewhere that if the source data is not packed, then only ISRSCAN program is used and if the data is packed packed, member expansion uses the ISRLEMX program.

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Wed Dec 01, 2004 6:51 am    Post subject: Reply with quote

how to check the ISPF version?
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Dec 01, 2004 7:05 am    Post subject: Reply with quote

ypngan,

On the ISPF main menu you will find this list (at the top of your ISPF screen)
Code:

 Menu  Utilities  Compilers  Options  Status  Help 


Place your cursor on the status option and press ENTER. It gives you a drop down box and in there select SESSION.

It should show you something like this.
Code:

 User ID . : Tzzzzzz
 Time. . . : 07:01   
 Terminal. : 3278   
 Screen. . : 1       
 Language. : ENGLISH
 Appl ID . : ISR     
 TSO logon : TSOUSER
 TSO prefix: Tzzzzzz
 System ID : xxxx   
 MVS acct. : 0,1722 
 Release . : ISPF 5.2


Hope this helps....

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ypngan
Beginner


Joined: 29 Nov 2004
Posts: 8
Topics: 2

PostPosted: Wed Dec 01, 2004 7:12 am    Post subject: Reply with quote

Mine is "Release . : ISPF 4.8"
Back to top
View user's profile Send private message
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Wed Dec 01, 2004 12:04 pm    Post subject: Reply with quote

If you know which members you need, you can reduce the time by only copying those few. Change the cards like this and the members will be copied from first lib found (although you may get an error msg if not found in TEST):


//SYSIN DD *
COPY INDD=TEST,OUTDD=COMBINED
SELECT MEMBER=member1
SELECT MEMBER=member2
COPY INDD=PROD,OUTDD=COMBINED
SELECT MEMBER=member1
SELECT MEMBER=member2

Regards,
Bill
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL) All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group