View previous topic :: View next topic
Author
Message
Jasand New User Joined: 23 Jan 2009Posts: 32 Location: Tamil nadu
INPUT:
Code:
CC000AA******** GOOD MORNING ****** TIME
CC100AAJOBNAME XXXX DESCRIPTION-------- 23:45
CC101BBJOBNAME XXXX DESCRIPTION-------- 11:45
CC102CCJOBNAME XXXX DESCRIPTION-------- 09:45
CC103DDJOBNAME XXXX DESCRIPTION-------- 01:45
CC104EEJOBNAME XXXX DESCRIPTION-------- 11:23
CC105FFJOBNAME XXXX DESCRIPTION-------- 03:06
CC106GGJOBNAME XXXX DESCRIPTION-------- 12:05
CC107HHJOBNAME XXXX DESCRIPTION-------- 07:41
CC200AAJOBNAME YYY DESCRIPTION-------- 07:45
CC201BBJOBNAME YYY DESCRIPTION-------- 09:45
CC202CCJOBNAME YYY DESCRIPTION-------- 11:50
CC203DDJOBNAME YYY DESCRIPTION-------- 01:45
CC204EEJOBNAME YYY DESCRIPTION-------- 04:49
CC205FFJOBNAME YYY DESCRIPTION-------- 23:36
CC206GGJOBNAME YYY DESCRIPTION-------- 11:35
CC207HHJOBNAME YYY DESCRIPTION-------- 11:45
OUTPUT TEMPLATE:
Code:
***************** REPORT START ******
AA BB CC DD EE FF GG HH
----- ----- ----- ----- ----- ----- ----- -----
XXXX ..... ..... ..... ..... ..... ..... ..... .....
YYY ..... ..... ..... ..... ..... ..... ..... .....
HHH ..... ..... ..... ..... ..... ..... ..... .....
JJJ ..... ..... ..... ..... ..... ..... ..... .....
WWW ..... ..... ..... ..... ..... ..... ..... .....
IIII ..... ..... ..... ..... ..... ..... ..... .....
RRRR ..... ..... ..... ..... ..... ..... ..... .....
***************** REPORT END ******
In the i/p file, the XXXX are one set of records and YYY are another set.
In CC100 AA JOBNAME -
00 - indicate the beginning of each set, there are 7 sets like that (eg; XXXX, YYY, JJJ, WWW, IIII, RRRR)
AA - specify each category
need to get the 'TIME' of a particular set/ category into the output template.
Can somebody help with this ?
Back to top
Jasand New User Joined: 23 Jan 2009Posts: 32 Location: Tamil nadu
I tried a sort card like below, but couldnt get the exact format..
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=GROUP,BEGIN=(4,2,ZD,EQ,00), PUSH=(70:1,7)),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'AA'),
BUILD=(6:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'BB'),
BUILD=(12:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'CC'),
BUILD=(18:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'DD'),
BUILD=(24:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'EE'),
BUILD=(30:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'FF'),
BUILD=(36:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'GG'),
BUILD=(42:42,5),HIT=NEXT),
IFTHEN=(WHEN=(3,1,ZD,EQ,1,AND,6,2,CH,EQ,C'HH'),
BUILD=(48:42,5),HIT=NEXT)
thought that BEGIN=(4,2,ZD,EQ,00) will help to identify the beginning of each set of record and BUILD will extract the TIME
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
Jasand,
The following DFSORT JCL will give you the desired results.
Code:
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
CC000AA******** GOOD MORNING ****** TIME
CC100AAJOBNAME XXXX DESCRIPTION-------- 23:45
CC101BBJOBNAME XXXX DESCRIPTION-------- 11:45
CC102CCJOBNAME XXXX DESCRIPTION-------- 09:45
CC103DDJOBNAME XXXX DESCRIPTION-------- 01:45
CC104EEJOBNAME XXXX DESCRIPTION-------- 11:23
CC105FFJOBNAME XXXX DESCRIPTION-------- 03:06
CC106GGJOBNAME XXXX DESCRIPTION-------- 12:05
CC107HHJOBNAME XXXX DESCRIPTION-------- 07:41
CC200AAJOBNAME YYY DESCRIPTION-------- 07:45
CC201BBJOBNAME YYY DESCRIPTION-------- 09:45
CC202CCJOBNAME YYY DESCRIPTION-------- 11:50
CC203DDJOBNAME YYY DESCRIPTION-------- 01:45
CC204EEJOBNAME YYY DESCRIPTION-------- 04:49
CC205FFJOBNAME YYY DESCRIPTION-------- 23:36
CC206GGJOBNAME YYY DESCRIPTION-------- 11:35
CC207HHJOBNAME YYY DESCRIPTION-------- 11:45
//OUT DD SYSOUT=*
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(1,4,CH) WITHANY KEEPNODUPS USING(CTL1) -
WITH(06,5) WITH(12,5) WITH(18,5) WITH(24,5) WITH(30,5) WITH(36,5) -
WITH(42,5) WITH(48,5)
//CTL1CNTL DD *
OPTION COPY,SKIPREC=1
INREC IFTHEN=(WHEN=INIT,BUILD=(17,4,35X,81:42,5,6,2)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'AA'),OVERLAY=(06:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'BB'),OVERLAY=(12:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'CC'),OVERLAY=(18:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'DD'),OVERLAY=(24:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'EE'),OVERLAY=(30:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'FF'),OVERLAY=(36:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'GG'),OVERLAY=(42:81,5)),
IFTHEN=(WHEN=(86,2,CH,EQ,C'HH'),OVERLAY=(48:81,5))
OUTFIL REMOVECC,BUILD=(1,80),
HEADER2=(18'*',21:'REPORT START',35:6'*',/,/,
08:'AA BB CC DD EE FF GG HH',/,
06:'----- ----- ----- ----- ----- ----- ----- -----'),
TRAILER1=(/,18'*',21:'REPORT END',35:6'*')
//*
The output from this job is
Code:
****************** REPORT START ******
AA BB CC DD EE FF GG HH
----- ----- ----- ----- ----- ----- ----- -----
XXXX 23:45 11:45 09:45 01:45 11:23 03:06 12:05 07:41
YYY 07:45 09:45 11:50 01:45 04:49 23:36 11:35 11:45
****************** REPORT END ******
Back to top
Jasand New User Joined: 23 Jan 2009Posts: 32 Location: Tamil nadu
Many thanks Skolusu..
Back to top
Please enable JavaScript!