|
View previous topic :: View next topic
|
| Author |
Message |
Ajay Baghel
Active User
.jpg)
Joined: 25 Apr 2007 Posts: 206 Location: Bangalore
|
|
|
|
Hi,
I have a doubt in the below step (production jcl) executing a cobol db2 program PGM1 :
| Code: |
//STEP1 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=LOADLIB..
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2subsystem)
RUN PROGRAM(PGM1)
PLAN(PGM1)
END
/* |
I tried finding IKJEFT01 in the loadlib mentioned in the STEPLIB, but did not find it. Instead i found the program PGM1 in it. STEPLIB is used to point which library needs to be searched for the program executing in EXEC statement. Also since, LIB parameter is not mentioned in the SYSTSIN Card, is it correct to say that STEPLIB is used for denoting the loadlib for RUN PROGRAM i.e PGM1 in such case?
Thanks,
Ajay |
|
| Back to top |
|
 |
dbzTHEdinosauer
Global Moderator

Joined: 20 Oct 2006 Posts: 6965 Location: porcelain throne
|
|
|
|
ikjeft.. are part of the system link libs, usually available without a step or job lib. Like sort, iebgener, ect....
the steplib contains the member to be executed by the Terminal Monitoring Program IKJEFT01/1a/1b. |
|
| Back to top |
|
 |
Ajay Baghel
Active User
.jpg)
Joined: 25 Apr 2007 Posts: 206 Location: Bangalore
|
|
|
|
Dick,
I was wondering howcome the STEPLIB is containing load for PGM1 and not IKJEFT01 because of jcl rule:
| Quote: |
| STEPLIB is used to point which library needs to be searched for the program executing in EXEC statement. |
Thanks for clearing doubt.
Thanks,
Ajay |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hi,
They say IKJET01 is "TSO" in Batch. |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
I have few doubts in the Compile JCL, i 've searched for similar posts but could not find something which answers my questions and hence i am posting it here..
the question is
What exactly dose the steplib has in the precompiler, compile, link-edit steps I have no idea about what those libraries are...? Are those system libraries or user defined ones or what exxactly are they and their significance? Please explain it to me as if you aer doing to a layman in mainframes....that would be of a great help |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
may be you did not get the whole link....i will copy paste the JCL here
//DB2COMP (XXX,XXX),'COMPILE JCL',
// CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//***********************************************************
//* COMPILATION, LINK EDIT AND THE BIND STEP FOR A COBOL DB2 PROGRAM *
//* WILL BE DONE BY SUBMITTING THIS JOB. *
//* THE DB2 REGIONS AND CORRESPONDING PARAMETERS NEEDS TO BE CHANGED *
//* WITH RESPECT TO THE PROGRAM *
//***********************************************************
//* PRECOMPILE DB2 PROGRAM *
//*-------------- LOCATION OF DBRM LIBRARY -------------------------*
//***********************************************************
//PC EXEC PGM=DSNHPC,
// PARM='HOST(COB2),APOST,SOURCE',
// REGION=4096K
//DBRMLIB DD DISP=SHR,
// DSN=DEV.SURESH.DBRM(DB2PROG) <------------------------ (1)
//STEPLIB DD DISP=SHR,
// DSN=SYSX.DB2.XXX.XXXXX
//***********************************************************
//*SYSIN -----------INPUT COBOL DB2 PROGRAM LOCATION-----------------*
//********************************************************************
//SYSIN DD DISP=SHR,
// DSN=DEV.SURESH.SRC(DB2PROG)
//SYSCIN DD DISP=(MOD,PASS),
// DSN=&&TEMP,
// SPACE=(800,(500,500)),
// UNIT=SYSDA
//***********************************************************
//* DCLGEN MEMBER LOCATION *
//*SYSLIB-----------------INPUT SOURCE LIBRARY FOR SQL---------------*
//***********************************************************
//SYSLIB DD DISP=SHR,
// DSN=DEV.SURESH.DCL <--------(3)
// DD DISP=SHR,
// DSN=DEV.SURESH.CPY
//SYSPRINT DD SYSOUT=T
//SYSTERM DD SYSOUT=T
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT2 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//*
//***********************************************************
//* COMPILATION *
//***********************************************************
//*
//COB EXEC PGM=IGYCRCTL,
// COND=(4,LT,PC),
// PARM=('SIZE(4000K),BUFSIZE(32760),LIST,LIB,MAP,OBJECT',
// 'DATA(31),XREF,RENT'),
// REGION=4M
//STEPLIB DD DISP=SHR,
// DSN=XXXX.XXXXXX
//SYSIN DD DISP=(OLD,DELETE),
// DSN=&&TEMP
//SYSLIN DD DISP=(MOD,PASS),
// DSN=&&LOADTMP,
// SPACE=(800,(500,500)),
// UNIT=SYSDA
//***********************************************************
//*--------------SOURCE LIBRARIES FOR COBOL DB2 CODE (COPY LIBRARIES)*
//***********************************************************
//SYSLIB DD DISP=SHR,
// DSN=DEV.SURESH.DCL <----------------- (4)
// DD DSN=DEV.SURESH.CPY,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT2 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT3 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT4 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT5 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT6 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT7 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//*
//*
//***********************************************************
//* LINK EDIT *
//***********************************************************
//*
//LKED EXEC PGM=IEWL,
// COND=((4,LT,COB),(4,LT,PC)),
// PARM='XREF'
//SYSLIB DD DISP=SHR,
// DSN=SXXX.SXXXXXXX
// DD DISP=SHR,
// DSN=XXXX.DB2.XXX.XXXXLOAD
// DD DISP=SHR,
// DSN=SYS1.VSCLLIB
//SYSLIN DD DISP=(OLD,DELETE),
// DSN=&&LOADTMP
//* DD DDNAME=SYSIN
//***********************************************************
//*----------------LOCATION OF LOAD LIBRARY--------------------------*
//SYSLMOD DD DISP=SHR,
// DSN=DEV.SURESH.LOADLIB(DB2PROG) <---(5)
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(1024,(50,50)),
// UNIT=SYSDA
//*
//***********************************************************
//* BIND - BIND THE DB2 PACKAGE *
//***********************************************************
//BIND EXEC PGM=IKJEFT01,
// COND=(4,LT),
// REGION=4096K
//STEPLIB DD DISP=SHR,
// DSN=XXX4.DB2.XXXX.XXXXLOAD
//DBRMLIB DD DISP=SHR,
// DSN=DEV.SURESH.DBRM(DB2PROG) <------------ (6)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM (DEVDB )
BIND MEMBER (DB2PROG) -
PACKAGE (PACKG11) -
LIBRARY ('DEV.SURESH.DBRM') - <--------(7)
ACTION (REP) -
ISOLATION (CS) -
VALIDATE (BIND)-
RELEASE (COMMIT) -
OWNER (SURESH) -
QUALIFIER (DEVQUALI)
END
/*
**************************** Bottom of Data ****************************
(1) - When we precompiled, precompiler will create the DBRM, it will
be placed in the pds specified here.
(2) - Location of COBOL-DB2 program
(3) - Needs to speficiy DCLGEN member locations
(4) - Needs to specify DCLGEN and COPYBOOK locations here
(5) - Load module location, load module will be created here. this
location needs to be given in run jcl.
(5) & (6) - specify the location of DBRM, ( same location used in step1 ). |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
Ajay,
The IKJEFT01 is a terminal monitor program, It function is to create an environment to run JOB PGM1 which is present in Load library present in STEPLIB.
Then about IKJEFT01 is normally present in default load library don't think it has to be STEPLIB Library.
When you RUN above JCL, IKJEFT01 will create an environment in MVS System and it will try to execute program PGM1 which you mentioned in JCL CARD
| Code: |
DSN SYSTEM(DB2subsystem)
RUN PROGRAM(PGM1)
PLAN(PGM1)
END |
and STEPLIB Load Library
Hope you are clear.. |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
Hi raghu,
Can you help me with my questions too....? |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
Prashanth,
What exactly you need.. we are all here for to help you :o) |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
| Well, i beleive you haven't seen the questions i posted in this thread....i have asked about the exact content of the STEPLIB in a compile jcl for Cobol DB2 program , i gave a sample JCL too...please look above in this thread...you would see questions posted by me.....waiting for your reply. |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
Hello,
| Quote: |
| What exactly dose the steplib has in the precompiler, compile, link-edit steps I have no idea about what those libraries are...? Are those system libraries or user defined ones or what exxactly are they and their significance? Please explain it to me as if you aer doing to a layman in mainframes....that would be of a great help |
As we know STEPLIB are used to locate programs which is defined in EXEC Card, In above scenario, The programs like
PRE-COMPILER
------------------
| Code: |
| //PC EXEC PGM=DSNHPC, |
DSNHPC (Pre compiler) - used to segregate sql code & Cobol code
| Code: |
//DBRMLIB DD DISP=SHR,
// DSN=DEV.SURESH.DBRM(DB2PROG) |
used to load segregated DBRM to above library DEV.SURESH.DBRM(DB2PROG)
| Code: |
//SYSIN DD DISP=SHR,
// DSN=DEV.SURESH.SRC(DB2PROG) |
Used to denote source library
| Code: |
//SYSCIN DD DISP=(MOD,PASS),
// DSN=&&TEMP, |
Used to load modified source pgm(Cobol codes which is segregated one)
COMPILER
------------
| Code: |
| //COB EXEC PGM=IGYCRCTL, |
It is a COBOL Compiler(If it C program we will have separate compiler)
| Code: |
//SYSIN DD DISP=(OLD,DELETE),
// DSN=&&TEMP |
Inputting segregated cobol code to compiler
| Code: |
//SYSLIN DD DISP=(MOD,PASS),
// DSN=&&LOADTMP, |
Compiler will link edit it will load MSP(modified source pgm)
LINK-EDIT
------------
| Code: |
| //LKED EXEC PGM=IEWL, |
The Linker can IEWL/HEWL - used to link edit and yield load module i think rest you will understand
find link below for further explanation about COMPILE-LINK-GO step
ibmmainframes.com/viewtopic.php?t=29779&postdays=0&postorder=asc&start=15
Hope you are clear |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
| Hi Raghu my doubt was about the STEPLIBs in teh JCL i had posted...what are the Libraries in the steplib and all about them....? hope you have understood the uqestion...please help me out with them |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
Hello,
Thats what i answered, Just check the above post correctly...First Learn ABCD in JCL... |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
Well then may be i misqouted the question , i know what actually a normal steplib contains ...but in the JCL i have given above.......
the precompile step has this
//STEPLIB DD DISP=SHR,
// DSN=SYSX.DB2.XXX.XXXXX
and next in the compilation step it is
//STEPLIB DD DISP=SHR,
// DSN=XXXX.XXXXXX
i said i did not understand...and if i have seen your link right...we dont have this...so that was why i was repeating the question. I hope you dont mistake me.. |
|
| Back to top |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
| Prashanth: a STEPLIB is only valid from EXEC to EXEC statement in JCL. You can specify a different STEPLIB for each EXEC in your job, and in some cases you must specify the STEPLIB for each EXEC. They point to different libraries because different programs are stored in different libraries. |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
And if you have questions about the compile jcl used on your system (everyone should use standard compile jcl, not create their own) your best source of info about the standard compile jcl is your system support people and/or dba's.
I would not muddy the water with examples from the web. . . fwiw  |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
Thank you robert for your valuable input, added to above statement,
Even order of search(To locate program which is in EXEC Card in STEPLIB library) is also different.
1. First it will search in STEPLIB Library
2. Then in JOBLIB Library if it present
3. Default Library(normally SYSIBM.LINKLIB or SYS1.LINKLIB depends on company standard).
Hope you clear now .. |
|
| Back to top |
|
 |
mambopras
New User
.jpg)
Joined: 11 Nov 2008 Posts: 52 Location: Hyderabad
|
|
|
|
| Ok! then in a precompile step what can it probably contain (Steplib)? and also in a compilation step....please let me know |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
| Quote: |
Thank you robert for your valuable input, added to above statement,
Even order of search(To locate program which is in EXEC Card in STEPLIB library) is also different.
1. First it will search in STEPLIB Library
2. Then in JOBLIB Library if it present
3. Default Library(normally SYSIBM.LINKLIB or SYS1.LINKLIB depends on company standard).
Hope you clear now .. |
the jcl manual disagrees...
and I would rather trust the manual (quote reformatted )
| Quote: |
The system searches for a program in the private library you identify.
If a job contains a JOBLIB DD statement and a step contains a STEPLIB DD statement,
the system searches for the step's program first in the STEPLIB library and then in the system libraries.
The system ignores the JOBLIB library for that step.
|
|
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 135 Location: Bangalore/Chennai-INDIA
|
|
|
|
| Quote: |
The system searches for a program in the private library you identify.
If a job contains a JOBLIB DD statement and a step contains a STEPLIB DD statement,
the system searches for the step's program first in the STEPLIB library and then in the system libraries.
The system ignores the JOBLIB library for that step. |
Enric,
I completly disagree with above statement, Try to execute programs which is in JOBLIB and SYSTEM Default Library by having diffrent version. Try to find whether JCL has pick up which version ie either from JOBLIB or SYSTEM Default Library(Have STEPLIB, JOBLIB in JCL)..(I have tested this).. :o)
To Prashanth,
I hope, This is not homework question..
You know STEPLIB is used for locate loadmodule of that particular step.. in above scenario its doing same job..for respective step..
hope you are clear.... |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
| Quote: |
| I completly disagree with above statement, Try to execute programs which is in JOBLIB and SYSTEM Default Library by having diffrent version. Try to find whether JCL has pick up which version ie either from JOBLIB or SYSTEM Default Library(Have STEPLIB, JOBLIB in JCL)..(I have tested this).. :o) |
it took me just a couple of minutes to run a test
- it took me longer to write the post
steps... done to test the joblib steplib issue
allocate a dataset to be used as joblib
allocate a dataset to be used as steplib
assemble and link into the joblib dataset
a simple program to issue a wto..
| Code: |
TEST CSECT
BAKR 14,0
BASR 12,0
USING *,12
WTO 'TEST - JUST A STUPID WTO'
PR
LTORG
END
|
submitted the job
| Code: |
//jobname JOB .....
//*
//JOBLIB DD DISP=SHR,DSN=joblib_dataset
//G EXEC PGM=TEST
//STEPLIB DD DISP=SHR,DSN=steplib_dataset
|
as expected ended with an abend s806 load module not found
which means that... guess what:
... the manual is right
so You might disagree, but You are just
... plain wrong ....
so it would be wiser to get a better grasp of the manuals in order
to review your understanding of the joblib/steplib behavior
and also to review Your testing methodology
to convince you that I am not cheating and carried on the tests properly
here are the SDSF XDC of the two jobs
abended job
| Code: |
1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1
0
18.06.53 JOB00051 ---- THURSDAY, 20 NOV 2008 ----
18.06.53 JOB00051 IRR010I USERID zosuser IS ASSIGNED TO THIS JOB.
18.06.53 JOB00051 ICH70001I zosuser LAST ACCESS AT 18:06:40 ON THURSDAY, NOVEMBER 20, 2008
18.06.53 JOB00051 $HASP373 zosuserB STARTED - INIT 1 - CLASS A - SYS SYS1
18.06.53 JOB00051 IEF403I zosuserB - STARTED - TIME=18.06.53
18.06.53 JOB00051 CSV003I REQUESTED MODULE TEST NOT FOUND
18.06.53 JOB00051 CSV028I ABEND806-04 JOBNAME=zosuserB STEPNAME=TEST
18.06.53 JOB00051 IEA995I SYMPTOM DUMP OUTPUT 874
874 SYSTEM COMPLETION CODE=806 REASON CODE=00000004
874 TIME=18.06.53 SEQ=00022 CPU=0000 ASID=001A
874 PSW AT TIME OF ERROR 070C1000 811B5A78 ILC 2 INTC 0D
874 NO ACTIVE MODULE FOUND
874 NAME=UNKNOWN
874 DATA AT PSW 011B5A72 - 8400181E 0A0D18FB 180C181D
874 AR/GR 0: 9196DFDE/00001E00 1: 00000000/84806000
874 2: 00000000/00FDDD68 3: 00000000/00000000
874 4: 00000000/00000000 5: 00000000/008FF548
874 6: 00000000/000000FF 7: 00000000/00000000
874 8: 00000000/008C1250 9: 00000000/011B5F4C
874 A: 00000000/00000000 B: 00000000/00000004
874 C: 00000000/00000000 D: 00000000/008C1250
874 E: 00000000/84806000 F: 00000002/00000004
874 END OF SYMPTOM DUMP
18.06.53 JOB00051 IEF450I zosuserB TEST - ABEND=S806 U0000 REASON=00000004 875
875 TIME=18.06.53
18.06.53 JOB00051 IEF404I zosuserB - ENDED - TIME=18.06.53
18.06.53 JOB00051 $HASP395 zosuserB ENDED
0------ JES2 JOB STATISTICS ------
- 20 NOV 2008 JOB EXECUTION DATE
- 7 CARDS READ
- 75 SYSOUT PRINT RECORDS
- 0 SYSOUT PUNCH RECORDS
- 4 SYSOUT SPOOL KBYTES
- 0.00 MINUTES EXECUTION TIME
1 //zosuserB JOB (ACCT#),'TEST',NOTIFY=&SYSUID, JOB00051
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//*
IEFC653I SUBSTITUTION JCL - (ACCT#),'TEST',NOTIFY=zosuser,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
2 //JOBLIB DD DISP=SHR,DSN=zosuser.TEST.JOBLIBB
3 //TEST EXEC PGM=TEST
4 //STEPLIB DD DISP=SHR,DSN=zosuser.TEST.STEPLIB
ICH70001I zosuser LAST ACCESS AT 18:06:40 ON THURSDAY, NOVEMBER 20, 2008
IEF236I ALLOC. FOR zosuserB TEST
IEF237I 0A83 ALLOCATED TO JOBLIB
IEF237I 0A83 ALLOCATED TO STEPLIB
CSV003I REQUESTED MODULE TEST NOT FOUND
CSV028I ABEND806-04 JOBNAME=zosuserB STEPNAME=TEST
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=806 REASON CODE=00000004
TIME=18.06.53 SEQ=00022 CPU=0000 ASID=001A
PSW AT TIME OF ERROR 070C1000 811B5A78 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 011B5A72 - 8400181E 0A0D18FB 180C181D
AR/GR 0: 9196DFDE/00001E00 1: 00000000/84806000
2: 00000000/00FDDD68 3: 00000000/00000000
4: 00000000/00000000 5: 00000000/008FF548
6: 00000000/000000FF 7: 00000000/00000000
8: 00000000/008C1250 9: 00000000/011B5F4C
A: 00000000/00000000 B: 00000000/00000004
C: 00000000/00000000 D: 00000000/008C1250
E: 00000000/84806000 F: 00000002/00000004
END OF SYMPTOM DUMP
IEF472I zosuserB TEST - COMPLETION CODE - SYSTEM=806 USER=0000 REASON=00000004
IEF285I zosuser.TEST.STEPLIB KEPT
IEF285I VOL SER NOS= Z9SYS1.
IEF373I STEP/TEST /START 2008325.1806
IEF374I STEP/TEST /STOP 2008325.1806 CPU 0MIN 00.05SEC SRB 0MIN 00.00SEC VIRT 4K SYS 256K EXT 0K SYS 10600K
IEF285I zosuser.TEST.JOBLIBB KEPT
IEF285I VOL SER NOS= Z9SYS1.
IEF375I JOB/zosuserB/START 2008325.1806
IEF376I JOB/zosuserB/STOP 2008325.1806 CPU 0MIN 00.05SEC SRB 0MIN 00.00SEC
|
| Code: |
1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1
0
18.26.48 JOB00052 ---- THURSDAY, 20 NOV 2008 ----
18.26.48 JOB00052 IRR010I USERID zosuser IS ASSIGNED TO THIS JOB.
18.26.48 JOB00052 ICH70001I zosuser LAST ACCESS AT 18:06:53 ON THURSDAY, NOVEMBER 20, 2008
18.26.48 JOB00052 $HASP373 zosuserB STARTED - INIT 1 - CLASS A - SYS SYS1
18.26.48 JOB00052 IEF403I zosuserB - STARTED - TIME=18.26.48
18.26.48 JOB00052 +TEST - JUST A STUPID WTO
18.26.48 JOB00052 IEF404I zosuserB - ENDED - TIME=18.26.48
18.26.48 JOB00052 $HASP395 zosuserB ENDED
0------ JES2 JOB STATISTICS ------
- 20 NOV 2008 JOB EXECUTION DATE
- 7 CARDS READ
- 36 SYSOUT PRINT RECORDS
- 0 SYSOUT PUNCH RECORDS
- 2 SYSOUT SPOOL KBYTES
- 0.00 MINUTES EXECUTION TIME
1 //zosuserB JOB (ACCT#),'TEST',NOTIFY=&SYSUID, JOB00052
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//*
IEFC653I SUBSTITUTION JCL - (ACCT#),'TEST',NOTIFY=zosuser,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
2 //JOBLIB DD DISP=SHR,DSN=zosuser.TEST.JOBLIBB
3 //TEST EXEC PGM=TEST
//*TEPLIB DD DISP=SHR,DSN=zosuser.TEST.STEPLIB
ICH70001I zosuser LAST ACCESS AT 18:06:53 ON THURSDAY, NOVEMBER 20, 2008
IEF236I ALLOC. FOR zosuserB TEST
IEF237I 0A83 ALLOCATED TO JOBLIB
TEST - JUST A STUPID WTO
IEF142I zosuserB TEST - STEP WAS EXECUTED - COND CODE 0000
IEF373I STEP/TEST /START 2008325.1826
IEF374I STEP/TEST /STOP 2008325.1826 CPU 0MIN 00.02SEC SRB 0MIN 00.00SEC VIRT 8K SYS 248K EXT 0K SYS 10564K
IEF285I zosuser.TEST.JOBLIBB KEPT
IEF285I VOL SER NOS= Z9SYS1.
IEF375I JOB/zosuserB/START 2008325.1826
IEF376I JOB/zosuserB/STOP 2008325.1826 CPU 0MIN 00.02SEC SRB 0MIN 00.00SEC
|
|
|
| Back to top |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
| Enrico -- I have to agree with you; revel is wrong in thinking the JOBLIB is searched if there's a STEPLIB. I've seen too many cases where the JOBLIB is ignored when a STEPLIB is included to think the manual is wrong here. |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Devil's Advocate here. . . .
What are the odds that there is some exit/add-on (purchased or "own-code") that traps the 806 when there is a steplib and uses the joblib if there is one?
My experience from many, many systems is as Enrico, Robert, and the manual have said - when there is a steplib, joblib is ignored for that step. |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hi,
Was reading just other Manual:
| Quote: |
The STEPLIB DD statement is used to identify a program library to search first when attempting to locate programs executed during the job step. The STEPLIB can be placed anywhere in the step's JCL. More than one program library can be concatenated after the first one on a STEPLIB.
If a STEPLIB DD is specified in a job that also has a JOBLIB, the STEPLIB takes precedence when searching for a program. |
Revel,
You need to prove this
| Quote: |
| I completly disagree with above statement, Try to execute programs which is in JOBLIB and SYSTEM Default Library by having diffrent version. Try to find whether JCL has pick up which version ie either from JOBLIB or SYSTEM Default Library(Have STEPLIB, JOBLIB in JCL)..(I have tested this).. :o) |
post something like Enrico did, we are not against you - at times we were called as "tough public" though. |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hello again,
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). |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|