Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Ramsri,
The below SYNCTOOL application should work for your requirement. From the sample data you posted, I assumed the below positions. If it's different from your actual data positions, you can modify it accordingly.
'00898' - 34,5,CH
'@HDRIND' - 1,7,CH
Code: |
//STEP0100 EXEC PGM=SYNCTOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN= Input file ---- FB/LRECL=500
//OUT DD DSN= Output file ---- FB/LRECL=500
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(509,8,CH) WITHALL WITH(1,500) -
KEEPBASE KEEPNODUPS USING(CTL1)
//CTL1CNTL DD *
INREC IFTHEN=(WHEN=INIT,
OVERLAY=(501:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,7,CH,EQ,C'@HDRIND'),
OVERLAY=(509:SEQNUM,8,ZD),HIT=NEXT),
IFTHEN=(WHEN=(1,7,CH,EQ,C'@HDRIND',AND,34,5,CH,EQ,C'00898'),
OVERLAY=(517:C'Y')),
IFTHEN=(WHEN=NONE,
OVERLAY=(509:SEQNUM,8,ZD,509:501,8,ZD,SUB,509,8,ZD,M11,LENGTH=8))
OUTFIL INCLUDE=(517,1,CH,EQ,C'Y'),BUILD=(1,500)
/* |
|
|