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

Abend when using the GDG created in previous Step


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

New User


Joined: 02 Mar 2005
Posts: 6

PostPosted: Tue Mar 08, 2005 3:35 pm
Reply with quote

I have 4 steps in my job.

A GDG is being created in step2.

The created GDG will be used as input to the next step ie step3.

Job is abended in the step3 . I don't want to make any changes to the job, ie when i restart from abended step(STEP3), is that will work or any other way to do

Thanks,
Naidu
Back to top
View user's profile Send private message
sunnyk

New User


Joined: 20 Oct 2004
Posts: 59

PostPosted: Tue Mar 08, 2005 4:28 pm
Reply with quote

Hi,
Please provide the layout of ur JCl.Are you taking taking the correct version of GDG in the step3 i.e (+1)????

And if your job abends in step 3 and u want to restart from step3 only, then you need to put GDG version as (+0).
I guess this will do.
Please someone having better idea clarify.

Regds
sunny
Back to top
View user's profile Send private message
priyabrata mohanty

New User


Joined: 04 Mar 2005
Posts: 8
Location: bangalore

PostPosted: Wed Mar 09, 2005 1:42 pm
Reply with quote

hi sunnyk,
can u give the jcl coding for the problem?
regards,
mohanty.
Back to top
View user's profile Send private message
sivatechdrive

Active User


Joined: 17 Oct 2004
Posts: 191
Location: hyderabad

PostPosted: Wed Mar 09, 2005 5:39 pm
Reply with quote

Hi naidu

in GDG the execution depends on Job,
so if any abend occurs in any step of the job the data set is not created..example a job has 2 steps
in step1 you are creating Generation data set as
TT.MVS.GDG(+1)
if any error in step2 and job abends the generation data set that we are trying to create in step1 is not succesfull,so we need to run the whole job



Thanks
Siva
Back to top
View user's profile Send private message
mainframemouli

New User


Joined: 01 Mar 2005
Posts: 52
Location: Mysore

PostPosted: Wed Mar 09, 2005 6:41 pm
Reply with quote

Quote:
if any error in step2 and job abends the generation data set that we are trying to create in step1 is not succesfull,so we need to run the whole job


The GDG will be created even if there is a abend in the suceeding step but if you are trying to refer to that GDG then a JCL Error message will be displayed,

Example:

step2 ==> a GDG version is created using X.Y.Z(+1)

step 3 ==> X.Y.Z(+1) is Referred and the job abended.

then GDG X.Y.Z.G0001v00 will be created and if you try to access then an JCL ERROR will occur.

The solution is you can Delete the Current version and Run the job from the beginning.

hope this helps.
Back to top
View user's profile Send private message
anuradha

Active User


Joined: 06 Jan 2004
Posts: 247
Location: Hyderabad

PostPosted: Thu Mar 10, 2005 12:06 pm
Reply with quote

Quote:
I have 4 steps in my job.

A GDG is being created in step2.

The created GDG will be used as input to the next step ie step3.

Job is abended in the step3 . I don't want to make any changes to the job, ie when i restart from abended step(STEP3), is that will work or any other way to do



Hi Naidu,

While restarting you need to refer step3 GDG's generation with(+0) or else you can delete the current generation(created in second step) and can restart the job if you dont want to do any changes to job.

Hope this helps..
Back to top
View user's profile Send private message
jeyaprakashmN

New User


Joined: 08 Mar 2005
Posts: 4
Location: Bangalore

PostPosted: Mon Mar 14, 2005 4:34 pm
Reply with quote

See,you have 4 steps in youa job.

A GDG is being created in step2.

The created GDG will be used as input to the next step ie step3.

Job is abended in the step3 .

First see the error message from SPSF , why step 3 is abend, recorrect the step 3., Save the job ,

Run the JOB.

Thats All , Don't change any New generation number because if the job is not sucessfully run., So generation number for step still (+1) only not (0).

Jeya Prakash Narayanan.M
Back to top
View user's profile Send private message
radhakrishnan82

Active User


Joined: 31 Mar 2005
Posts: 435
Location: chennai, India

PostPosted: Mon Apr 04, 2005 5:30 pm
Reply with quote

mainframenaidu wrote:
I have 4 steps in my job.

A GDG is being created in step2.

The created GDG will be used as input to the next step ie step3.

Job is abended in the step3 . I don't want to make any changes to the job, ie when i restart from abended step(STEP3), is that will work or any other way to do

Thanks,
Naidu



Yes.It will work.There is no harm to the GDG created if the job aborts at the third step.As it is used as a input to the the third step,the disposition should be SHR.so you can restart the job from the aborted step without any change in the input GDG(after checking output dataset).

Anuradha,
Please dont delete the current version and re-ran the job.Though it will be a correct one,it will increase your processing time and wastage of resource utilisation.It will add up yours resource cost unnecessarily.

My advice is not to delete the current GDG as it will be a very hard move to undertake it.sometimes it will result in the loss of a dataset.

Output dataset shud be a worrying factor and a considerable one in case of abort in that step.We can also avoid overlooking into the output dataset if the disposition parameter is set as DELETE during abnormal execution of the step.

Check whether the output dataset is DELETE during abnormal execution.
If yes,you can restart the job from that step.Otherthings ,there is no need to change the input GDG.

shud you have any concerns pls get back to me.
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Mon Apr 04, 2005 6:31 pm
Reply with quote

Wrong.

The other posters are correct. The generation specified in STEP3 must be changed from "+1" to "0 or +0" in order to properly restart in this step.

The proper solution to this problem is to change the dataset used in STEP2 and STEP3 to a normal cataloged sequential (QSAM) dataset, and only create the new generation in the very last step of the job. Or, end the first job after STEP2, and start a new job at the point of where STEP3 begins.
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Tue Apr 05, 2005 6:44 am
Reply with quote

You can also make the gen# a symbolic using (+1) as the default. If the job abends you can restart it w/a (+0).
Back to top
View user's profile Send private message
radhakrishnan82

Active User


Joined: 31 Mar 2005
Posts: 435
Location: chennai, India

PostPosted: Mon Apr 11, 2005 1:32 pm
Reply with quote

superk wrote:
Wrong.

The other posters are correct. The generation specified in STEP3 must be changed from "+1" to "0 or +0" in order to properly restart in this step.

The proper solution to this problem is to change the dataset used in STEP2 and STEP3 to a normal cataloged sequential (QSAM) dataset, and only create the new generation in the very last step of the job. Or, end the first job after STEP2, and start a new job at the point of where STEP3 begins.


superk,

The GDG, version control is handled by Job termination routines. Even though we create a +1, it becomes a 0 level, after Job termination.So that is the reason why you keep +1 in the job, wherever the dataset is refered in the same job and in the same run.

For GDG it will always say as 'ROLLED IN' and not 'RETAINED' as for the normal datasets. The 'Rolledin' is 'ROLLEDOUT' at job termination and then only the version is available.

If the job terminates abnormally then there is a STOP to the flow and not END to the control flow.Hence GDG version (+1) will indicate the current version inside the same job.
Unless it is forcecompleted or re-ran we need to put (+1) version rather than giving (0) version inside the same job.

As when the job aborts, the GDG dsn is rolled into the GDG structure. Provide this GDG DSN in form of absolute generation number(aaa.XXX.G123V00) to the operators and they will take care to have this inserted in the abended step and run it from the current PDS itself. If this is not a scheduled job, you will have to restart it from the step with the version as (0). Hope this answers.
Back to top
View user's profile Send private message
somasundaran_k

Active User


Joined: 03 Jun 2003
Posts: 134

PostPosted: Mon Apr 11, 2005 9:15 pm
Reply with quote

radhakrishnan

You said in your first post
Quote:

Yes.It will work.There is no harm to the GDG created if the job aborts at the third step.As it is used as a input to the the third step,the disposition should be SHR.so you can restart the job from the aborted step without any change in the input GDG(after checking output dataset).


and in your second post
Quote:

The GDG, version control is handled by Job termination routines. Even though we create a +1, it becomes a 0 level, after Job termination.So that is the reason why you keep +1 in the job, wherever the dataset is refered in the same job and in the same run.


Don't you think it's a contradiction?
All other posters said is that the GDG should point to the current generation ,ie '0' before you restart at STEP3
since +1 is not applicable when you restart this job.

Regds
-Som
Back to top
View user's profile Send private message
radhakrishnan82

Active User


Joined: 31 Mar 2005
Posts: 435
Location: chennai, India

PostPosted: Tue Apr 12, 2005 4:15 pm
Reply with quote

There were two cases happening in job aborts:

1)Once the job aborts,then the job gets completely disconnected with the submitted id.In this case,after job aborts,if you need to restart the job then it is same as submitting a new job.
2)The job moves to hold once the job aborts.If you need to restart after the abort then the control lies within the job and it is entirely different from the job that follows the process of the first step.

which one you are talking about?
Was the job moves to hold after it gets aborted or is it like the first case?
Back to top
View user's profile Send private message
radhakrishnan82

Active User


Joined: 31 Mar 2005
Posts: 435
Location: chennai, India

PostPosted: Tue Apr 12, 2005 5:57 pm
Reply with quote

For scheduling systems,the version (+1) is applicable during restart.
Scheduling systems belong to the second case where in which your job
flow STOPS during aborts.

If you mean to say that your job flow terminates with ur submitting id after the abort then as per case 1,version (0) is applicable.It is same as submitting a new job.hence (0) is applicable for GDG's during restart.

Need help from superk to correct me if Iam wrong with my details.
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 ISAM and abend S03B JCL & VSAM 10
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 Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
Search our Forums:

Back to Top