Have GDG's containing some date feild at the top. We should look for a particuler date and if found in any generation then we need to pick that generation of GDG and use in the later step of a job.
Can any one please help me in this regard.
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
The best scenario I can think of is to, for each individual generation, run a search (the SuperC program) for the required date field, check the return-code (found/not-found) and apply that specific dataset name to the follow-up processing.
@superK
I can check the date in GDG by giving sort card also and i will give GDG base while using the sort card for searching in all the generations.
but
after getting the required date value in GDG in any generation, how can i use that generation(which contain that date value) in later steps of my jcl.
@Anuj Dhawan
No, that date value we need to give in jcl and it will vary time to time.
Hi all,
as per your suggestions i am getting this JCl which will be submitted ...
Code:
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//OUT DD DSN=DXY7B.ORDER.CYCDATE8,
// DISP=(OLD,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(10,10),RLSE)
//TOOLIN DD *
COPY FROM(GDG001) TO(OUT) USING(C001)
COPY FROM(GDG002) TO(OUT) USING(C002)
COPY FROM(GDG003) TO(OUT) USING(C003)
COPY FROM(GDG004) TO(OUT) USING(C004)
COPY FROM(GDG005) TO(OUT) USING(C005)
COPY FROM(GDG006) TO(OUT) USING(C006)
COPY FROM(GDG007) TO(OUT) USING(C007)
COPY FROM(GDG008) TO(OUT) USING(C008)
COPY FROM(GDG009) TO(OUT) USING(C009)
COPY FROM(GDG010) TO(OUT) USING(C010)
COPY FROM(GDG011) TO(OUT) USING(C011)
COPY FROM(GDG012) TO(OUT) USING(C012)
COPY FROM(GDG013) TO(OUT) USING(C013)
COPY FROM(GDG014) TO(OUT) USING(C014)
COPY FROM(GDG015) TO(OUT) USING(C015)
COPY FROM(GDG016) TO(OUT) USING(C016)
COPY FROM(GDG017) TO(OUT) USING(C017)
COPY FROM(GDG018) TO(OUT) USING(C018)
COPY FROM(GDG019) TO(OUT) USING(C019)
COPY FROM(GDG020) TO(OUT) USING(C020)
//C001CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5057V00 ')
//C002CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5058V00 ')
//C003CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5059V00 ')
//C004CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5060V00 ')
//C005CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5061V00 ')
//C006CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5062V00 ')
//C007CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5063V00 ')
//C008CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5064V00 ')
//C009CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5065V00 ')
//C010CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5066V00 ')
//C011CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5067V00 ')
//C012CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5068V00 ')
//C013CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5069V00 ')
//C014CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5070V00 ')
//C015CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5071V00 ')
//C016CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5072V00 ')
//C017CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5073V00 ')
//C018CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5074V00 ')
//C019CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5075V00 ')
//C020CNTL DD *
INCLUDE COND=(1,80,SS,EQ,C'11/24/09')
OUTFIL FNAMES=OUT,REMOVECC,
HEADER1=('STRING IN PXY0N.ORDER.CYCDATE.G5076V00 ')
//GDG001 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5057V00
//GDG002 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5058V00
//GDG003 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5059V00
//GDG004 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5060V00
//GDG005 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5061V00
//GDG006 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5062V00
//GDG007 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5063V00
//GDG008 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5064V00
//GDG009 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5065V00
//GDG010 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5066V00
//GDG011 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5067V00
//GDG012 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5068V00
//GDG013 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5069V00
//GDG014 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5070V00
//GDG015 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5071V00
//GDG016 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5072V00
//GDG017 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5073V00
//GDG018 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5074V00
//GDG019 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5075V00
//GDG020 DD DISP=SHR,DSN=PXY0N.ORDER.CYCDATE.G5076V00
It is copying all the Text, defined in HEADER1 for every control card to output file DXY7B.ORDER.CYCDATE8.
As per my requirement:- if given condition in INCLUDE COND is getting match, then only it should copy the text given in its Header1 to output file.
Here i am NOT having "11/25/09" text at 1-8 position in PXY0N.ORDER.CYCDATE.G5058V00 file. but still i am getting "Hi" Text in DXY7B.ORDER.CYCDATE8 file.
My requirement is ,if Date is present in file PXY0N.ORDER.CYCDATE.G5058V00 then only i should get 'Hi' text in DXY7B.ORDER.CYCDATE8 file.