View previous topic :: View next topic
|
Author |
Message |
balajipradeep
New User
Joined: 12 Mar 2009 Posts: 21 Location: chennai
|
|
|
|
I have a requirement like
Need to do JCL changes to puickup the all the unprocesed previous generation.
In the JCl currently my job is picking up the current generation of GDG and processing the output file. In existing process suppose if it is holiday the file QC.S.DP is received but we didnt process the file. Next day another file received with new generation . In my job since I have give input file as 0 generation it will pickup the current generation and process the file so we missed out the holiday version file. Please see JCL below.
Code: |
//sstep EXEC PGM=xxx
//Dd1 DD DSN=xxx.PS.DP005020.CTL.CARD,DISP=SHR
//Pp1 DD DSN=QC.S.DP.(+0),DISP=SHR
//DPRW DD DSN=QC.PC.D.RE.KSDF,DISP=SHR
//OUT DD DSN=QC.PRDS.QDP740D1,
// DISP=(NEW,CATLG,DELETE),
|
Let me know if you need any other details. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Terminology note: version and generation are both valid constructs for a GDG and mean vastly different things. Your post used the term version but it appears you meant generation. The perception of your abilities is much lower by making such elementary mistakes.
There is no easy way to determine if a given generation has been processed -- there is nothing the system will provide to tell you this.
I suggest your process be redesigned so all unprocessed generations are handled at one time by using the GDG base name instead of a given generation. Once the processing is successfully completed, use an IDCAMS DELETE to get rid of all generations of the GDG. So each time your program runs, you will know that all generations represent unprocessed data. This may require an additional sort since processing of all generations is done in reverse generation order (i.e., most recent first). |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
looks like an infrastructure issue...
You will have to implement an infrastructure to keep track of the processed datasets
and process <the logs> to build the proper jcl
nothing builtin into the system |
|
Back to top |
|
|
balajipradeep
New User
Joined: 12 Mar 2009 Posts: 21 Location: chennai
|
|
|
|
Ok Thanks |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I've always used a process where I log each generation processed, so each time the job uses the NEXT generation, which may not necessarily be the CURRENT generation. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
You could use a scheduler to trigger a job to process a new generation |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
My usual practice is for the first job of the application to .......
a) Dfdss backup of all existing generations
b) Copy all existing generations to a different GDG +1
c) Delete all existing generations
d) Create an empty +1 generation |
|
Back to top |
|
|
|