Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Query on Overrides for load program's source

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
sunny_io

New User


Joined: 11 Jul 2007
Posts: 68
Location: noida

PostPosted: Thu Jul 22, 2010 4:31 pm    Post subject: Query on Overrides for load program's source
Reply with quote

Hi All.

I have the following JCL

Code:
000001 //FxxxxxxD JOB (xxxxxxxx),'ACC ACCC ',                       
000002 // CLASS=8,MSGCLASS=9,NOTIFY=&SYSUID,                                   
000003 // REGION=0M,TIME=10,                                                   
000004 // USER=mee,PASSWORD=                                                   
000005 /*JOBPARM      COPIES=001,LINES=999                                     
000006 //JLIB  JCLLIB ORDER=(XXXX.PROCLIB)                                     
000007 //     INCLUDE MEMBER=UCSENV                                           
000008 //     INCLUDE MEMBER=UCSSYMBJ                                         
000009 //         SET TEMPLIB='PRD.XXXXXX.TESTLIB'       
000010 //**********************************************************************
000011 //** NOTE: SET GDG0 TO '-1' WHEN RESTARTING AFTER JS010.PS001.        **
000012 //**       SET GDG1 TO '+0' WHEN RESTARTING AFTER JS010.PS001.        **
000013 //**********************************************************************
000014 //JS010   EXEC SSS3300,                                                 
000015 //             GDG0='+0',                                               
000016 //             GDG1='+1'                                               


Here the module called inside the proc sss3300 is not being picked from the loadlib "prd.xxxxxx.testlib" rather from "xxxx.testlib"

There is a statement in UCSSYMBJ as follows.

// SET TEMPLIB='xxxx.TESTLIB'
// SET TESTLIB='xxxx.TESTLIB'

manual says that a subsequent SET statement overides the previous one.
Not sure why the module concerned is being picked from the xxxx.testlib.
Any pointers on what i should check ?
TIA
Back to top
View user's profile Send private message

dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Thu Jul 22, 2010 4:36 pm    Post subject:
Reply with quote

Quote:
// SET TEMPLIB='xxxx.TESTLIB'
// SET TESTLIB='xxxx.TESTLIB'

manual says that a subsequent SET statement overides the previous one.


only if they affect the same symbolic.
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6258
Location: Mumbai, India

PostPosted: Thu Jul 22, 2010 4:44 pm    Post subject:
Reply with quote

Quote:
000008 // INCLUDE MEMBER=UCSSYMBJ
000009 // SET TEMPLIB='PRD.XXXXXX.TESTLIB'
You "re-set" TEMPLIB not TESTLIB - make usre, you re-set the correct symbolic in UCSSYMBJ.
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Thu Jul 22, 2010 4:45 pm    Post subject:
Reply with quote

Presumably the step in proc sss3300 that references the program has a STEPLIB that is resolved by &TEMPLIB ??

Garry.
Back to top
View user's profile Send private message
sunny_io

New User


Joined: 11 Jul 2007
Posts: 68
Location: noida

PostPosted: Thu Jul 22, 2010 5:16 pm    Post subject: Pasting ucssymbj for reference
Reply with quote

Hi All.

1) sss3300 doesn't have a steplib

2) here is ucssymbj
Code:
Command ===>                                                  Scroll ===> CSR 
000001 //         SET LOADLIB='xxxx.LOADLIB'                   * PROD LOAD LIB
000002 //         SET TEMPLIB='XXXX.TESTLIB'                     * 1ST TESTLIB
000003 //         SET TESTLIB='XXXX.TESTLIB'                     * 2ND TESTLIB


While I tried looking at manuals for LOADLIB etc explanation i couldn't find any .. I am still stuck .. Pls share if there is more i can show here to invite suggestions for my problem .

* kindly note the jcl set command is after ucssymbj is included so should override it

TIA
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6258
Location: Mumbai, India

PostPosted: Thu Jul 22, 2010 5:18 pm    Post subject:
Reply with quote

Well, have you looked at what Dick (and I) had said?
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Thu Jul 22, 2010 5:23 pm    Post subject:
Reply with quote

Quote:
1) sss3300 doesn't have a steplib


How does sss3300 know where to find the program to execute? If you have a STEPLIB, it searches that library first, then looks for JOBLIB and then searches the system libraries.

You don't have JOBLIB in what you've shown and you say you don't have a STEPLIB so it would seem that you are getting the module from a linklist library.

Can you show the sss3300 procedure so we can see where TESTLIB and TEMPLIB are referenced?

Garry.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Thu Jul 22, 2010 5:26 pm    Post subject:
Reply with quote

how about cut&paste the 2d DSID of the jes output
(the one where the expanded jcl is shown)
when you ran the program.

In fact, you can execute the JOB with TYPRUN=SCAN,
thus not really running the job,
yet will supply you with the data that you have to supply us,
in order to determine your problem.....
Back to top
View user's profile Send private message
sunny_io

New User


Joined: 11 Jul 2007
Posts: 68
Location: noida

PostPosted: Thu Jul 22, 2010 5:32 pm    Post subject: Solved!!
Reply with quote

Hello ,

As anuj suggsted , i did the following :

Code:
//JLIB  JCLLIB ORDER=(xxxx.PROCLIB)         
//     INCLUDE MEMBER=UCSENV               
//     INCLUDE MEMBER=UCSSYMBJ             
//     SET TESTLIB='PRD.xxxxxx.TESTLIB'     

--- result : didn't pick the module from these libraries

Then i tried doing it for both :

Code:
//JLIB  JCLLIB ORDER=(xxxx.PROCLIB)         
//     INCLUDE MEMBER=UCSENV               
//     INCLUDE MEMBER=UCSSYMBJ             
//     SET TESTLIB='PRD.xxxxxx.TESTLIB'     
//     SET TEMPLIB='PRD.xxxxxx.TESTLIB'     

result : module gets picked from here

Not too sure about the reasons.
As the include members mentions templib and testlb as just 1st and 2nd testlibs
Code:
Command ===>                                                  Scroll ===> CSR 
000001 //         SET LOADLIB='xxxx.LOADLIB'                   * PROD LOAD LIB
000002 //         SET TEMPLIB='XXXX.TESTLIB'                     * 1ST TESTLIB
000003 //         SET TESTLIB='XXXX.TESTLIB'                     * 2ND TESTLIB


Thank you all for your time
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6258
Location: Mumbai, India

PostPosted: Thu Jul 22, 2010 5:41 pm    Post subject:
Reply with quote

Then you should read again what Garry has suggested:
Quote:
How does sss3300 know where to find the program to execute? If you have a STEPLIB, it searches that library first, then looks for JOBLIB and then searches the system libraries


And for an experiment and keeping in mind what you've posted so far, I'd say just use:
Quote:
//JLIB JCLLIB ORDER=(xxxx.PROCLIB)
// INCLUDE MEMBER=UCSENV
// INCLUDE MEMBER=UCSSYMBJ
// SET TEMPLIB='PRD.xxxxxx.TESTLIB'
it should work.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Thu Jul 22, 2010 6:08 pm    Post subject:
Reply with quote

Quote:
Not too sure about the reasons.


that is because you have not supplied us with the expanded job as requested.
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Jul 22, 2010 8:08 pm    Post subject:
Reply with quote

Hello,

Quote:
Not too sure about the reasons.
As you are not willing to post the info needed to actually help you or explain, we can only guess that you have incomplete/incorrect jcl. . .
Back to top
View user's profile Send private message
venkat.bmw
Warnings : 2

New User


Joined: 05 May 2009
Posts: 21
Location: India

PostPosted: Tue Jul 27, 2010 10:01 pm    Post subject: @ sunny_io
Reply with quote

Hi Sunny,

The SET statement lets you set the values of symbolic parameters within a JCL or PROC member.

I think you are trying to give dataset(LOADLIB) in the SET statement.

JCL will RUN fine but the pgm will be picked from your JOBLIB.

For example , Run ur JCL with same SET statements and with diff joblib which doesnot have ur pgm (proc sss3300) . It will abend .

Try like this

// JCLLIB ORDER=SIMOTIME.PDS.JCLINC
24 // INCLUDE MEMBER=JCLINCI1
##*
##* *******************************************************************
##* SET Values from the JCLINCI1.INC Member.
## SET HLQ01=SIMOTEST
## SET HLQ02=TEMP
25 //* *******************************************************************
26 //* Step 1 of 2 This job step will delete a previously created
27 //* hex-dump file.
28 //*
29 //TAKEAWAY EXEC PGM=IEFBR14
30 //TESTFILE DD DSN=&HLQ01..&HLQ02..TESTFILE,DISP= (MOD,DELETE,DELETE),
SUBSTITUTION - DSN=SIMOTEST.TEMP.TESTFILE,DISP=(MOD,DELETE,DELETE),
31 // STORCLAS=MFI,
32 // SPACE=(TRK,5),
33 // DCB=(RECFM=V,LRECL=80,DSORG=PS)
34 //*

Hope this helps you.
Back to top
View user's profile Send private message
dneufarth

Active User


Joined: 27 Apr 2005
Posts: 236
Location: Cincinnati OH USA

PostPosted: Wed Jul 28, 2010 3:33 am    Post subject:
Reply with quote

Garry,

If STEPLIB specified, isn't JOBLIB totally ignored? Need a brain refresh. Manual says order is STEPLIB then system libs if JOBLIB exists.
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Wed Jul 28, 2010 12:16 pm    Post subject:
Reply with quote

Dave,
Quote:
If STEPLIB specified, isn't JOBLIB totally ignored?


Yes. Without wanting to go into detail, my point was that the OP was suggesting that there was no STEPLIB for the override. We also saw no evidence of JOBLIB, so I questioned where the library was being specified. If the program was being loaded from a system library, then no overide would change this.

Garry.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Wed Jul 28, 2010 1:28 pm    Post subject:
Reply with quote

Hi Garry,

are you sure you cannot override the system libraries ?
unless I'm misunderstanding the below
Quote:
Program Search Order:

The program search order for MVS uses the following program
libraries in the order given:

1) JOB Pack Area (already loaded programs)
2) Private task library, if specified.
3) STEPLIB library, if specified.
4) JOBLIB library, if specified, AND no STEPLIB is
specified
5) Link Pack Area (PLPA)
6) System Link List (i.e., SYS1.LINKLIB and the data sets
concatenated to it).



Gerry
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Wed Jul 28, 2010 1:59 pm    Post subject:
Reply with quote

One can override system libraries by specifying in the JCL the library to be used.

The OP had a symbolic parameter override which would require a library using that symbolic to have been already specified in JCL. The OP claimed that there was no such STEPLIB and the job shown had no JOBLIB.

Garry.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts I can not compile my program PL1 V3.R... Miguel Fernandez PL/I & Assembler 13 Tue Dec 06, 2016 8:30 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
This topic is locked: you cannot edit posts or make replies. Db2 SQL query to convert rows into co... subratarec DB2 5 Thu Nov 17, 2016 4:51 pm
No new posts Two Selects in a single select query Rohit Umarjikar DB2 1 Fri Nov 04, 2016 8:46 pm
No new posts Problem in Running Query via JCL vickey_dw DB2 3 Tue Oct 18, 2016 11:11 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us