Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Assuming that the identifying keywords in your records are at fixed positions, you can use a DFSORT/ICETOOL job like the following to do what you asked for. You'll need the April, 2006 DFSORT PTF to use INREC with SPLICE.
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=&&IN,DISP=(OLD,PASS)
//OUT DD SYSOUT=*
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(82,8,ZD) -
WITHEACH WITH(14,19) WITH(34,48) USING(CTL1)
//CTL1CNTL DD *
INCLUDE COND=(26,8,CH,EQ,C'****JOB ',OR,
1,13,CH,EQ,C'PROGRAM NAME:',OR,
1,13,CH,EQ,C'JES2 JOB ID :')
INREC IFOUTLEN=89,
IFTHEN=(WHEN=INIT,OVERLAY=(82:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(26,8,CH,EQ,C'****JOB '),
BUILD=(1:30,12,82:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,13,CH,EQ,C'JES2 JOB ID :',OR,
1,13,CH,EQ,C'PROGRAM NAME:'),
OVERLAY=(90:SEQNUM,8,ZD,
82:82,8,ZD,SUB,90,8,ZD,M11,LENGTH=8),
HIT=NEXT),
IFTHEN=(WHEN=(1,13,CH,EQ,C'JES2 JOB ID :'),
BUILD=(14:24,19,82:82,8)),
IFTHEN=(WHEN=(1,13,CH,EQ,C'PROGRAM NAME:'),
BUILD=(34:1,48,82:82,8))
OUTFIL FNAMES=OUT,
BUILD=(1,13,14:34,23,37:14,20,57:57,25)
/*
|
As an example, if IN had:
Code: |
MVS/ESA SP7.0.4 PRDS*********JOB PX92RFBD***********
JES2 JOB ID : JOB01616 START DATE : 06.161
JOB CLASS : B START TIME : 02:18:20.11
STEP NAME : STEP03 END DATE : 06.161
STEP NUMBER : 0005 END TIME : 02:18:20.44
PROGRAM NAME: ICEGENER ELAPSED TIME: 00:00:00.33
MVS/ESA SP7.0.4 PRDS*********JOB PQR52183***********
JES2 JOB ID : JOB01617 START DATE : 06.162
JOB CLASS : B START TIME : 02:50:32.01
STEP NAME : STEP03 END DATE : 06.162
STEP NUMBER : 0005 END TIME : 03:52:32.12
PROGRAM NAME: ICEMAN ELAPSED TIME: 01:02:00.11
|
OUT would have:
Code: |
JOB PX92RFBD PROGRAM NAME: ICEGENER START DATE : 06.161 ELAPSED TIME: 00:00:00.33
JOB PQR52183 PROGRAM NAME: ICEMAN START DATE : 06.162 ELAPSED TIME: 01:02:00.11
|
|
|