surya4ug
New User
Joined: 08 Jul 2008 Posts: 62 Location: chennai
|
|
|
|
Well, i didn't find anysuch thing that could satisfy my requirement in a step ...but found this....
We can do it using the below 2 steps:
1. The first step will pull up the day of the week based on the Local LPAR timing
a. If you would like to do it based on the GMT Timing use &WDAY instead of &LWDAY.
b. This step will return the 3 characters day value e.g. ‘MON’, ‘TUE’, etc.
2. The 2nd step will calculate the last Sunday prior to the current date and based on the current day of the week, pick up the date for the last Sunday.
&DATE1 , will fetch the date in ‘YYYYMMDD’ format, if you want to keep it in any other form you can use the available formats for the DATE function.
Here are the JCL steps:
Code: |
//STEP001 EXEC PGM=EZACFSM1
//SYSOUT DD DSN=HIGHLVL.MIDLVL.SAMPLE1.OUT2,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(5000,5000),RLSE),
// DATACLAS=DCCOM,VOL=(,,,80),
// DCB=(RECFM=FB,BLKSIZE=0,LRECL=80)
//SYSUDUMP DD SYSOUT=I
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
&LWDAY
/*
//STEP002 EXEC PGM=SORT
//SORTIN DD DSN=HIGHLVL.MIDLVL.SAMPLE1.OUT2,DISP=SHR
//SORTOUT DD DSN=HIGHLVL.MIDLVL.SAMPLE1.OUT3,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(5000,5000),RLSE),
// DATACLAS=DCCOM,VOL=(,,,80),
// DCB=(RECFM=FB,BLKSIZE=0,LRECL=80)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL IFTHEN=(WHEN=(3,3,CH,EQ,C'SUN'),
BUILD=(&DATE1)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'MON'),
BUILD=(&DATE1-1)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'TUE'),
BUILD=(&DATE1-2)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'WED'),
BUILD=(&DATE1-3)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'THU'),
BUILD=(&DATE1-4)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'FRI'),
BUILD=(&DATE1-5)),
IFTHEN=(WHEN=(3,3,CH,EQ,C'SAT'),
BUILD=(&DATE1-6)) |
/* |
|