View previous topic :: View next topic
Author
Message
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Hi All,
I am facing a small error while I was executing my job:
Code:
//STEP01 EXEC PGM=COPYHASP
//*
//SYSIN DD DSN=&NAME..GW01.ONCALL.DATA,DISP=SHR
//SYSOUT DD SYSOUT=*
//*
//**********************************************************************
//* STEP NAME: STEP02 *
//* PROGRAM: IEFBR14 *
//* PURPOSE: DELETES THE FILES CREATED BY PREVIOUS RUN OF JOB *
//**********************************************************************
//STEP02 EXEC PGM=IEFBR14
//*
//DEDGL DD DSN=&NAME..DEDGL.DATA,DISP=(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
//DEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP=(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
//LIMGL DD DSN=&NAME..LIMGL.DATA,DISP=(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
//*
//**********************************************************************
//* STEP NAME: STEP03 *
//* PROGRAM: SAS *
//* PURPOSE: CALL SAS CODES USING THE PARM P3709W03 TO CREATE *
//* THE DIFFERENT FLAT FILES *
//**********************************************************************
//STEP03 EXEC SAS
//SASLOG DD SYSOUT=*
//SASAUTOS DD DSN=CN.PDS.SASMAC,DISP=SHR
// DD DSN=ND.CORP.P0STG2.SAS,DISP=SHR
//DEDGL DD DSN=&NAME..DEDGL.DATA,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
//DEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
//LIMGL DD DSN=&NAME..LIMGL.DATA,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
//SYSIN DD DISP=SHR,DSN=XXXX.TEST.SAS(P3709W03)
//*
//**********************************************************************
//* STEP NAME: STEP04 *
//* PROGRAM: ABORT2 *
//* PURPOSE: ABORT THE JOB IF ANY STEP RETURNS A HICODE *
//**********************************************************************
//STEP04 EXEC PGM=ABORT2,COND=(0,EQ)
//UCC11NR DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//SYSUDUMP DD SYSOUT=D
//*
As per the COND parameter in STEP04, the step04 is to get executed if any of the above steps return a code not equal to zero.
But when my step03 returned a code of 8, still my job didn't execute the step.
Can anyone let me know please exactly where was I wrong and why did not the step get executed.
Back to top
Aaru Senior Member Joined: 03 Jul 2007Posts: 1287 Location: Chennai, India
what is the return code of the first 2 steps?
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
The Return Code for the first two steps is 0.
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
One more problem that is arising is:
My Job is calling the PROC which consists of the above steps. So, when I am mentioning COND=(0,EQ,STEP03), then the job is displaying a JCL-Error and showing the message STEP03 not found in job.
Why is this issue arising?
Back to top
vasanthkumarhb Active User Joined: 06 Sep 2007Posts: 275 Location: Bang,iflex
Hi,
Check out the letters or symbols used in the step01o2 or 03, some time it happens, or other wise write the same or copy the same in new dataset it will work according to your expectation.
Regard's
Vasanth........
Back to top
Aaru Senior Member Joined: 03 Jul 2007Posts: 1287 Location: Chennai, India
swapnadeep,
Quote:
The Return Code for the first two steps is 0.
You have not coded the stepname in the 4th step COND parameter.When you do not code a stepname, step4 will execute only when the return codes of all previous steps do not satisfy the test specified by COND.
Here as the return code of the first 2 steps are zeroes, the condition is satisfied and hence this is bypassed.
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Aaru,
I am not able to specify the stepname in the COND parameter. I am getting a JCL error which is stating :"STEP03 NOT FOUND IN JOB".
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Vasanth,
I tried your suggestion too...
But it still did not work for me....
Back to top
jmreddymca Warnings : 1 New User Joined: 14 Oct 2007Posts: 29 Location: Bangalore
please include the previous step name in the last cond and chek it
Back to top
vasanthkumarhb Active User Joined: 06 Sep 2007Posts: 275 Location: Bang,iflex
Hi Swapnadeep,
//STEP04 EXEC PGM=ABORT2,COND=(0,EQ)
give the stepname after the EQ parameter, if it says step name not available change the step name save it and submitt it, or other wise pls send us joblog statements.
Regard's
Vasanth......
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Hi,
I tried your suggestion but to no avail.
The joblog is as under:
Code:
J E S 2 J O B L O G -- S Y S T E M 1 1 5 1 -- N O
04.15.23 J0022362 ---- THURSDAY, 01 NOV 2007 ----
04.15.23 J0022362 IRR010I USERID XXXXXX IS ASSIGNED TO THIS JOB.
04.15.23 J0022362 JESX6014 SCHENV=TDH1 K=82 XXXXXX
04.15.34 J0022362 IEF452I XXXXXX - JOB NOT RUN - JCL ERROR
04.15.34 J0022362 $HASP396 XXXXXX TERMINATED
------ JES2 JOB STATISTICS ------
01 NOV 2007 JOB EXECUTION DATE
12 CARDS READ
180 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
12 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
The message that we are getting as under:
Code:
STMT NO. MESSAGE
3 IEFC001I PROCEDURE K3709W03 WAS EXPANDED USING PRIVATE LIBRARY XXXXXX.
12 IEFC001I PROCEDURE SAS WAS EXPANDED USING SYSTEM LIBRARY SYS1.PROCLIB
39 IEF645I INVALID REFERBACK IN THE COND FIELD
Back to top
murmohk1 Senior Member Joined: 29 Jun 2006Posts: 1436 Location: Bangalore,India
Swapnadeep,
JESJCL please. We cannot see whats there in your job.
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
The JESJCL is as under:
Code:
//XXXXXX JOB (8200,2395),'SWAPNADEEP XXXXXX',
// MSGCLASS=J,NOTIFY=XXXXXX,CLASS=J,MSGLEVEL=1,SCHENV=TDH1
/*ROUTE PRINT N11R10
//********************************************************************
//* || JOB NARRATIVE ||
//* -------------------
//* THE JOB CALLS THE PROC K3709W03 TO INVOKE THE SAS CODES
//* LINKING THE JCL WITH THE SAS CODE
//*
//********************************************************************
//PROCLIB JCLLIB ORDER=(XXXXXX.TEST.SAS)
//K3709 EXEC PROC=K3709W03
XXK3709W03 PROC NAME=XXXXXX.GW03.SAS
XX********************************************************************
XX* || PROC NARRATIVE ||
XX* --------------------
XX*
XX* THE PROC K3709W03 IS RESPONSIBLE TO LINK THE JCL BY CALLING
XX* THE PARM P3709W03 WHICH CONTAINS THE SAS CODES.
XX*
XX* OUTPUT(S) FROM THIS JOB:
XX*
XX* FLAT FILE(S):
XX* DEDGL :T3709BTX.GW03.SAS.DEDGL.DATA
XX* DEDPROP :T3709BTX.GW03.SAS.DEDPROP.DATA
XX* LIMGL :T3709BTX.GW03.SAS.LIMGL.DATA
XX*
XX* * * * * * * * * * * *
XX*
XX* STEP PROGRAM DESCRIPTION
XX* ---- ------- -----------
XX* STEP01 COPYHASP ON-CALL LIST IF JOB ABENDS
XX* STEP02 IEFBR14 DELETES FLAT FILES CREATED BY PREVIOUS RUN
XX* STEPSAS SAS CALL SAS CODES TO CREATE THE DATASETS
XX* STEP04 ABORT2 ABORT JOB IF ABOVE STEP RETURNS A HICODE
XX*
XX********************************************************************
XX********************************************************************
XX* STEP NAME: STEP01
XX* PROGRAM: COPYHASP
XX* PURPOSE: CALLS THE ON-CALL DATASET IF THE PROGRAM RETURNS A
XX* HIGH VALUE. DEPENDING UPON THE VALUE RETURNED,
XX* DIFFERENT ERROR FILE IS DISPLAYED IN SPOOL.
XX********************************************************************
XX********************************************************************
XX* ========================
XX* | C A L L L I S T |
XX* ========================
XX********************************************************************
XXSTEP01 EXEC PGM=COPYHASP
XX*
XXSYSIN DD DSN=T3709BTX.GW01.ONCALL.DATA,DISP=SHR
XXSYSOUT DD SYSOUT=*
XX*
XX********************************************************************
XX* STEP NAME: STEP02
XX* PROGRAM: IEFBR14
XX* PURPOSE: DELETES THE FILES CREATED BY PREVIOUS RUN OF JOB
XX********************************************************************
XXSTEP02 EXEC PGM=IEFBR14
XX*
XXDEDGL DD DSN=&NAME..DEDGL.DATA,DISP=(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.DEDGL.DATA,DISP=(MOD
XXDEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP=(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.DEDPROP.DATA,DISP=(M
XXLIMGL DD DSN=&NAME..LIMGL.DATA,DISP=(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
XX*
XX********************************************************************
XX* STEP NAME: STEPSAS
XX* PROGRAM: SAS
XX* PURPOSE: CALL SAS CODES USING THE PARM P3709W03 TO CREATE
XX* THE DIFFERENT FLAT FILES
XX********************************************************************
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.LIMGL.DATA,DISP=(MOD,DELETE,DELETE)
12 XXSTEPSAS EXEC SAS
13 XXSAS PROC ENTRY=SASB,
XX CONFIG=NULLFILE,
XX LOAD='SYSPSAS.NULLPDS',
XX LOAD2='SYSPSAS.NULLPDS',
XX LOAD3='SYSPSAS.NULLPDS',
XX SASAUTO='SYSPSAS.NULLCOPY',
XX OPTIONS=,
XX SORT=4,
XX WORK='200,200',WORKCNT=5
XX*
XX* CREATED A PERMANENT NULLPDS TO RESOLVE A CA-11 RESTART ISSUE.
XX* B. NEILD 03/09/2006
XX*
XX* ADDED LOAD2 AND LOAD3 SYMBOLICS.
XX* B. NEILD 12/21/2006
XX*
XX* UPDATED WORK ALLOCATION.
XX* B. NEILD 2/27/2007
XX*
XX********************************************************************
14 XXSAS EXEC PGM=&ENTRY,PARM='SORT=&SORT &OPTIONS',REGION=4096K
IEFC653I SUBSTITUTION JCL - PGM=SASB,PARM='SORT=4 ',REGION=4096K
XXSTEPLIB DD DISP=SHR,DSN=&LOAD
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP=SHR,DSN=&LOAD2
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP=SHR,DSN=&LOAD3
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP=SHR,DSN=SYSPSAS.LIBRARY
XX DD DISP=SHR,DSN=SYSPSAS.SASC.TRANSLIB
XX**
XX** UNCOMMENT/SUPPLY YOUR DSN IF YOU NEED TO CONCATENATE SORT LIB
XX** DD DISP=SHR,DSN=SYS1.SORT.LINKLIB
XX**
XX* REQUIRED FOR EMAIL
XXSYSTCPD DD DISP=SHR,DSN=SYS1.TCPPARMS(TCPDATB)
XXCONFIG DD DISP=SHR,DSN=SYSTSAS.CNTL(BATW0)
XX DD DISP=SHR,DSN=&CONFIG
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=NULLFILE
XXSASAUTOS DD DSN=CN.PDS.SASMAC,DISP=SHR
X/SASAUTOS DD DISP=SHR,DSN=&SASAUTO
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=SYSPSAS.NULLCOPY
24 XX DD DSN=ND.CORP.P0STG2.SAS,DISP=SHR
X/ DD DISP=SHR,DSN=SYSPSAS.AUTOLIB
25 XX DD DISP=SHR,DSN=SYSPSAS.SPC.LOCAL.AUTOLIB
26 XXSASHELP DD DISP=SHR,DSN=SYSPSAS.SASHELP
27 XXSASMSG DD DISP=SHR,DSN=SYSPSAS.SASMSG
28 XXTKMVSENV DD DISP=SHR,DSN=SYSPSAS.TKMVSENV(TKMVSENV)
29 XXWORK DD SPACE=(CYL,(&WORK),,,ROUND),UNIT=(,&WORKCNT),
XX DCB=(RECFM=FS,DSORG=PS)
IEFC653I SUBSTITUTION JCL - SPACE=(CYL,(200,200),,,ROUND),UNIT=(,5),DCB=(RECFM=FS,DSORG=PS)
30 XXSASLOG DD SYSOUT=*
X/SASLOG DD SYSOUT=*
31 XXSASCLOG DD SYSOUT=*
32 XXSASLIST DD SYSOUT=*
33 XXSASPARM DD UNIT=SYSDA,SPACE=(400,(100,300)),
XX DCB=(RECFM=FB,LRECL=80,BLKSIZE=400,BUFNO=1)
34 XXSYSUDUMP DD SYSOUT=*
XX** ADD A LINE LIKE THE FOLLOWING TO CREATE A MACHINE-READABLE DUMP
XX*SYSMDUMP DD DSN=DUMP,UNIT=SYSDA,DISP=(NEW,CATLG),SPACE=(TRK,(20,5))
XX* END
35 XXDEDGL DD DSN=&NAME..DEDGL.DATA,DISP=(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.DEDGL.DATA,DISP=(NEW,CATLG,
36 XXDEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP=(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.DEDPROP.DATA,DISP=(NEW,CATL
37 XXLIMGL DD DSN=&NAME..LIMGL.DATA,DISP=(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL - DSN=T3709BTX.GW03.SAS.LIMGL.DATA,DISP=(NEW,CATLG,
38 XXSYSIN DD DISP=SHR,DSN=N48FF9.TEST.SAS(P3709W03)
XX*
XX**********************************************************************01450
XX* STEP NAME: STEP04 *01460
XX* PROGRAM: ABORT2 *01470
XX* PURPOSE: ABORT THE JOB IF ANY STEP RETURNS A HICODE *01480
XX**********************************************************************01500
39 XXSTEP04 EXEC PGM=ABORT2,COND=(0,EQ,STEPSAS)
40 XXUCC11NR DD DUMMY
41 XXSYSPRINT DD SYSOUT=*
42 XXSYSOUT DD SYSOUT=*
43 XXCEEDUMP DD SYSOUT=*
44 XXSYSUDUMP DD SYSOUT=D
XX*
Back to top
hemanth.nandas Active User Joined: 18 Aug 2007Posts: 120 Location: India
Hi Swarandeep,
Its not Job step, So Include your job step name.
Like this,
Code:
//STEP04 EXEC PGM=ABORT2,COND=(0,EQ,K3709.STEPSAS)
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Sorry Hemanth,
Still getting the same message: "STEP "K3709W03.STEPSAS " NOT FOUND IN JOB"
Back to top
hemanth.nandas Active User Joined: 18 Aug 2007Posts: 120 Location: India
Hi SWapnadeep,
Quote:
//PROCLIB JCLLIB ORDER=(XXXXXX.TEST.SAS)
//K3709 EXEC PROC=K3709W03
XXK3709W03 PROC NAME=XXXXXX.GW03.SAS
XX********************************************************************
I told you to use Job Step name, not Proc step name.
Again you have used proc name only.
Use like this,
Quote:
//STEP04 EXEC PGM=ABORT,COND=(0,EQ,K3709)
OR
//STEP04 EXEC PGM=ABORT,COND=(0,EQ,K3709.STEPSAS)
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
No hemanth.
I am still getting the same message
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10872 Location: italy
To all of You ...
what about reading the JCL reference on how to use the
"COND" with nested procs ???
Back to top
hemanth.nandas Active User Joined: 18 Aug 2007Posts: 120 Location: India
Hi Swapnadeep,
Try with following code and let me know.
Code:
//STEP04 EXEC PGM=ABORT,COND.STEPSAS=(0,EQ,K3709)
or
//STEP04 EXEC PGM=ABORT,COND.STEPSAS=(0,EQ)
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
Hi Hemant,
It states: INVALID PARAMETER ON EXEC STATEMENT
Back to top
murmohk1 Senior Member Joined: 29 Jun 2006Posts: 1436 Location: Bangalore,India
Swapnadeep,
It should be
cond=(0,EQ,STEPSAS.xxxxxxx)
Back to top
hemanth.nandas Active User Joined: 18 Aug 2007Posts: 120 Location: India
Hi Swapnadeep,
Is it executing all prior steps?
If yes, What ever I had given are the only chances to code COND parameter (As I know). You better to contact your Admin.
Back to top
murmohk1 Senior Member Joined: 29 Jun 2006Posts: 1436 Location: Bangalore,India
Hemanth,
Quote:
I had given are the only chances to code COND parameter
Why do you think so?
Swapnadeep,
If you are referring somestep in the sas proc, use the cond provided above. replace xxxxxx with the stepname.
If this is not you requirement, post your req clearly.
Back to top
swapnadeep.ganguly Active User Joined: 21 Mar 2007Posts: 203 Location: India
According to my requirement,
The Abort step(STEP04) is to be executed only if there is a return code not equal to 0 from the SAS step (STEPSAS).
All these steps are within the Proc which I am calling from the job.
When I am giving the COND statement in STEP04 as COND=(0,EQ,STEPSAS), the job is giving a warning as "STEPSAS not found in JOB". But after submitting, the job gets abended...
Back to top
Please enable JavaScript!