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

How to restart a step within a PROC. ( PROC has > 1 step)


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

New User


Joined: 31 Oct 2006
Posts: 48
Location: Chennai

PostPosted: Fri Jul 27, 2007 1:26 am
Reply with quote

How to restart the JOB from a STEP within the PROC.
The PROC has more than one steps.
Example
//TEST1 PROC
//S010 EXEC DELETE,
// D01='A4XYR31.TEST1.T1'
//S020 EXEC DELETE,
// D01='A4XYR31.TEST1.T3'
// PEND
//T1 EXEC TEST1

How to restart from step S020 in the proc TEST1
Back to top
View user's profile Send private message
Douglas Wilder

Active User


Joined: 28 Nov 2006
Posts: 305
Location: Deerfield IL

PostPosted: Fri Jul 27, 2007 1:41 am
Reply with quote

On the job card add RESTART=T1.S020
Back to top
View user's profile Send private message
op

New User


Joined: 31 Oct 2006
Posts: 48
Location: Chennai

PostPosted: Fri Jul 27, 2007 7:53 pm
Reply with quote

We tried that option and it didn't work.

Could anyone give me a sloution please?
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Fri Jul 27, 2007 8:08 pm
Reply with quote

That is the correct solution. RESTART=JOBSTEP.PROCSTEP. Look it up:

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B660/20.23?DT=20050713232151
Back to top
View user's profile Send private message
Douglas Wilder

Active User


Joined: 28 Nov 2006
Posts: 305
Location: Deerfield IL

PostPosted: Fri Jul 27, 2007 9:45 pm
Reply with quote

Delete is evidently a proc.

According to IBM:
"The step identified by procstepname must contain the PGM keyword rather than invoke a procedure. "

Since you did not give us your Delete Proc I madeup one of my own for testing.

You will need to change you instream proc.

Try this:
Code:
//JOBNAMEX JOB 12345678,'TEST RESTART',CLASS=Q,TIME=1,           
//  RESTART=T1.S015,                                             
//             MSGCLASS=G,NOTIFY=&SYSUID,REGION=4096K,COND=(0,NE)
//**********************************************************     
//DELETE PROC  D01=DUMMY                                         
//D010    EXEC PGM=IEFBR14                                       
//D01       DD DSN=&D01,                                         
//             DISP=(MOD,DELETE,DELETE),SPACE=(TRK,1)           
// PEND                                                         
//*                                                             
//TEST1 PROC                                                     
//S010 EXEC DELETE,                                             
// D01='A4XYR31.TEST1.T1'                                       
//S015 EXEC PGM=IEFBR14                                         
//S020 EXEC DELETE,                                             
// D01='A4XYR31.TEST1.T3'                                       
// PEND                                                         
//*                                                             
//T1 EXEC TEST1                                                 
//


I hope this helps.
Back to top
View user's profile Send private message
Douglas Wilder

Active User


Joined: 28 Nov 2006
Posts: 305
Location: Deerfield IL

PostPosted: Fri Jul 27, 2007 10:01 pm
Reply with quote

I found another solution:

Code:

//JOBNAMEX JOB 12345678,'TEST RESTART',CLASS=Q,TIME=1,           
//  RESTART=S020.D010,                                             
//             MSGCLASS=G,NOTIFY=&SYSUID,REGION=4096K,COND=(0,NE)
//**********************************************************     
//DELETE PROC  D01=DUMMY                                         
//D010    EXEC PGM=IEFBR14                                       
//D01       DD DSN=&D01,                                         
//             DISP=(MOD,DELETE,DELETE),SPACE=(TRK,1)           
// PEND                                                         
//*                                                             
//TEST1 PROC                                                     
//S010 EXEC DELETE,                                             
// D01='A4XYR31.TEST1.T1'                                       
//S020 EXEC DELETE,                                             
// D01='A4XYR31.TEST1.T3'                                       
// PEND                                                         
//*                                                             
//T1 EXEC TEST1                                                 
//


This still leaves open the question of what you could do if your JCL called proc test1 twice.
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

 


Similar Topics
Topic Forum Replies
No new posts Return codes-Normal & Abnormal te... JCL & VSAM 7
No new posts How to append a PS file into multiple... JCL & VSAM 3
No new posts convert file from VB to FB and use tr... DFSORT/ICETOOL 8
No new posts Forcing a step to run (even if abended) JCL & VSAM 8
No new posts step by step trace 4 ISPF dialog call... TSO/ISPF 17
Search our Forums:

Back to Top