IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

STEPLIB used to denote library for cobol db2 Load module


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Ajay Baghel

Active User


Joined: 25 Apr 2007
Posts: 206
Location: Bangalore

PostPosted: Wed Mar 05, 2008 6:03 pm
Reply with quote

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
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Wed Mar 05, 2008 6:42 pm
Reply with quote

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
View user's profile Send private message
Ajay Baghel

Active User


Joined: 25 Apr 2007
Posts: 206
Location: Bangalore

PostPosted: Wed Mar 05, 2008 6:46 pm
Reply with quote

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
View user's profile Send private message
Anuj Dhawan

Superior Member


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

PostPosted: Wed Mar 05, 2008 11:42 pm
Reply with quote

Hi,

They say IKJET01 is "TSO" in Batch.
Back to top
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 2:48 pm
Reply with quote

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
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 2:56 pm
Reply with quote

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
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Wed Nov 19, 2008 3:07 pm
Reply with quote

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
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 3:11 pm
Reply with quote

Hi raghu,
Can you help me with my questions too....?
Back to top
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Wed Nov 19, 2008 3:16 pm
Reply with quote

Prashanth,

What exactly you need.. we are all here for to help you :o)
Back to top
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 3:23 pm
Reply with quote

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
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Wed Nov 19, 2008 3:51 pm
Reply with quote

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
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 4:04 pm
Reply with quote

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
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Wed Nov 19, 2008 4:57 pm
Reply with quote

Hello,

Thats what i answered, Just check the above post correctly...First Learn ABCD in JCL...
Back to top
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Wed Nov 19, 2008 5:45 pm
Reply with quote

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
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Wed Nov 19, 2008 6:11 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Thu Nov 20, 2008 3:55 am
Reply with quote

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 icon_wink.gif
Back to top
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Thu Nov 20, 2008 1:38 pm
Reply with 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 ..
Back to top
View user's profile Send private message
mambopras

New User


Joined: 11 Nov 2008
Posts: 52
Location: Hyderabad

PostPosted: Thu Nov 20, 2008 3:23 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Nov 20, 2008 4:11 pm
Reply with quote

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
View user's profile Send private message
revel

Active User


Joined: 05 Apr 2005
Posts: 135
Location: Bangalore/Chennai-INDIA

PostPosted: Thu Nov 20, 2008 4:27 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Nov 20, 2008 10:19 pm
Reply with quote

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 icon_cool.gif

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
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Nov 20, 2008 11:56 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Fri Nov 21, 2008 3:03 am
Reply with quote

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
View user's profile Send private message
Anuj Dhawan

Superior Member


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

PostPosted: Fri Nov 21, 2008 4:12 am
Reply with quote

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
View user's profile Send private message
Anuj Dhawan

Superior Member


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

PostPosted: Fri Nov 21, 2008 4:15 am
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Load new table with Old unload - DB2 DB2 6
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts COBOL ZOS Web Enablement Toolkit HTTP... COBOL Programming 0
No new posts How to load to DB2 with column level ... DB2 6
Search our Forums:

Back to Top