View previous topic :: View next topic
Author
Message
Anuj Dhawan Superior Member Joined: 22 Apr 2006Posts: 6250 Location: Mumbai, India
Looks like you've edited your post about IEBEDIT.
Well, if you insist have a Job B:
As you said, if the job abends or not GDG is always calaloged anyways, when it reachs to you for a solution . Do the following:
- first step will take the GDG(0) to copy to a QSAM-file(flat file).
- copy step from your Job A as-it-is and make use of this QSAM file instead of GDG.
- In Job A have a step to submit above two steps using INTRDR (via Job B) only when there is an abend.
Back to top
sanupadh New User Joined: 29 Jun 2010Posts: 11 Location: chennai
job B is nothing but a monitoring tool.
Below is my JCL.
Code:
//*RETRIEVE THE JOB DETAILS FROM SAR (SPOOL) - FOR THE JOB ZFV1710
//********************************************************
//STEP02 EXEC PGM=SARBCH
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//OUTDS DD DSN=FVTEST.W.TRUST.ZFV1710.SPOOL,
// DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(50,10),RLSE),
// UNIT=SYSDA,
// LRECL=133,RECFM=FBA,BLKSIZE=27930
//SYSIN DD *
/DBASE NAME=VW.W.J.VWDBASE
/PRINT ID=ZFV1710 DDNAME=OUTDS
//***********************************************************
//*PICK RETURN CODE OF ALL STEPS
//****************************************************************
//STEP03 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=FVTEST.W.TRUST.ZFV1710.SPOOL,DISP=SHR
//SORTOUT DD DSN=FVTEST.W.TRUST.ZFV1710.ALLSTEPS.RCODE,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(90,100),RLSE),
// DCB=(LRECL=133,RECFM=FB)
//SYSIN DD *
INCLUDE COND=((27,10,CH,EQ,C'1I ZFV1710'),AND,(39,5,CH,NE,C'ENDED')
OUTREC FIELDS=(39,23,133:X)
SORT FIELDS=COPY,
STOPAFT=200
//***************************************************************
//*CREATE FILE BY VALIDATING RETURN CODE
//*OMITTING RETURN CODE '00','08','FLUSH'
//**************************************************************
//STEP04 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=FVTEST.W.TRUST.ZFV1710.ALLSTEPS.RCODE,DISP=SHR
//SORTOUT DD DSN=FVTEST.W.TRUST.ZFV1710.RCODE.ABEND,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(90,100),RLSE),
// DCB=(LRECL=133,RECFM=FB)
//SYSIN DD *
OMIT COND=((19,5,CH,EQ,C' 08'),OR,(19,5,CH,EQ,C' 00'),
OR,(19,5,CH,EQ,C'FLUSH'))
OUTREC FIELDS=(1,23,133:X)
SORT FIELDS=COPY
//****************************************************************
//*CHECKS FOR EMPTY DATASET CREATED IN STEP04
//****************************************************************
//CHKEMPT1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=D
//DFSMSG DD SYSOUT=D
//IN1 DD DSN=FVTEST.W.TRUST.ZFV1710.RCODE.ABEND,DISP=SHR
//TOOLIN DD *
COUNT FROM(IN1) EMPTY RC4
//*
//****************************************************************
//*SEND NOTIFICATION MAIL TO TRUST TEAM 'JOB RUN SUCCESSFULLY'
//****************************************************************
// IF (CHKEMPT1.RC EQ 4) THEN
//STEP05 EXEC SAS,OPTIONS='EMAILHOST=SMTP.BNYMELLON.NET'
//SYSTCPD DD DSN=FVTEST.W.ADCXZNK.CARDLIB(TCPDATA),DISP=SHR
//SAS.SYSIN DD DSN=FVTEST.W.ADCXZNK.CARDLIB(MAIL1),DISP=SHR
//******************************************************************
//*CREATE FILE IF ABEND 'U0617' IS IN STEP 'C5171035'
//******************************************************************
// ELSE
//STEP06 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=FVTEST.W.TRUST.ZFV1710.RCODE.ABEND,DISP=SHR
//SORTOUT DD DSN=FVTEST.W.TRUST.ZFV1710.ABEND.OUT,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(90,100),RLSE),
// DCB=(LRECL=133,RECFM=FB)
//SYSIN DD *
INCLUDE COND=((1,8,CH,EQ,C'C5171035'),AND,(19,5,CH,EQ,C'U0617'))
SORT FIELDS=COPY
//****************************************************************
//*CHECKS FOR EMPTY DATASET CREATED IN STEP06
//****************************************************************
//CHKEMPT2 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=D
//DFSMSG DD SYSOUT=D
//IN1 DD DSN=FVTEST.W.TRUST.ZFV1710.ABEND.OUT,DISP=SHR
//TOOLIN DD *
COUNT FROM(IN1) EMPTY RC4
//*
//****************************************************************
//*RERUN JOB ZFV1710 FROM STEP C5171035
//****************************************************************
// IF (CHKEMPT2.RC EQ 0) THEN
//STEP07 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=FVTEST.W.ADCXZNK.CARDLIB(DUMMY),DISP=SHR
//SYSUT2 DD SYSOUT=(,INTRDR)
//SYSIN DD DUMMY
//*
//****************************************************************
//*SEND NOTIFICATION MAIL TO TRUST TEAM 'OTHER ABEND'
//****************************************************************
// ELSE
//STEP08 EXEC SAS,OPTIONS='EMAILHOST=SMTP.BNYMELLON.NET'
//SYSTCPD DD DSN=FVTEST.W.ADCXZNK.CARDLIB(TCPDATA),DISP=SHR
//SAS.SYSIN DD DSN=FVTEST.W.ADCXZNK.CARDLIB(MAIL2),DISP=SHR
// ENDIF
// ENDIF
Edited: Please use BBcode when You post some code/error, that's rather readable, Thanks... Anuj
Back to top
sanupadh New User Joined: 29 Jun 2010Posts: 11 Location: chennai
problem is in STEP07 where now I am running a dummy jcl.
if abend occurs.
but I need to replace the dummy job by job ZFV1710 from step C5171035 with GDG(0)
how can I do this?
Back to top
sanupadh New User Joined: 29 Jun 2010Posts: 11 Location: chennai
Please dont confuse with return code 08.Its OK
Back to top
Anuj Dhawan Superior Member Joined: 22 Apr 2006Posts: 6250 Location: Mumbai, India
Show us, what is there in: FVTEST.W.ADCXZNK.CARDLIB(DUMMY)?
Back to top
PeterHolland Global Moderator Joined: 27 Oct 2009Posts: 2481 Location: Netherlands, Amstelveen
I guess a job running iefbr14
Back to top
sanupadh New User Joined: 29 Jun 2010Posts: 11 Location: chennai
Its a dummy job I have created to test the JCL only.
but I need to replace this by job ZFV1710 (abended job)
and start it from step C5171035 with GDG(0)
Back to top
Nic Clouston Global Moderator Joined: 10 May 2007Posts: 2455 Location: Hampshire, UK
Ignore - hadn't read the second page.
Back to top
Nic Clouston Global Moderator Joined: 10 May 2007Posts: 2455 Location: Hampshire, UK
Why not split job A so that it stops after STEP04. Then run STEP05 to the end as a seperate job. Then you can restart this job automatically. No need to change the GDG from +1 to 0.
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Hello,
What causes this "acceptable abend"? How does it magically get corrected? As Vasanthz asked - "What if the job A never runs successfully?"
From what little that has been posted, it sounds like the cause of the abend is also a scheduling opportunity. . .
Back to top
prasanth_thavva New User Joined: 28 Jul 2005Posts: 86 Location: Chennai
I don't think you need to schedule Job B using schedular, if yet all if the job down with specified return code in internal reader step just specify the condition and invoke the Job B and always has the required parameters set for this job,
pls let me know if i am wrong
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Hello,
Quote:
I don't think you need to schedule Job B using schedular, if yet all if the job down with specified return code in internal reader step just specify the condition and invoke the Job B and always has the required parameters set for this job,
I do not understand what this is suggesting . . .
Quote:
pls let me know if i am wrong
Yes, i believe this is incorrect.
Back to top
Please enable JavaScript!