enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
a quick and dirty attempt
tested processing 20(twenty) bytes of data
Code: |
****** ***************************** Top of Data ******************************
000001 //ENRICO1 JOB NOTIFY=&SYSUID,
000002 // MSGLEVEL=(1,1),CLASS=A,MSGCLASS=H
000003 //*
000004 //S1 EXEC PGM=SORT
000005 //SYSPRINT DD SYSOUT=*
000006 //SYSOUT DD SYSOUT=*
000007 //SORTIN DD *
000008 H HDR 1
000009 S SUB 1
000010 D DET 1 1
000011 H HDR 2
000012 S SUB 2
000013 D DET 2 1
000014 D DET 2 2
000015 H HDR 3
000016 S SUB 3
000017 D DET 3 1
000018 D DET 3 2
000019 D DET 3 3
000020 H HDR 4
000021 S SUB 4
000022 D DET 4 1
000023 D DET 4 2
000024 D DET 4 3
000025 D DET 4 4
000026 //SORTOUT DD SYSOUT=*,
000027 // DCB=(RECFM=FB,LRECL=80)
000028 //SYSIN DD *
000029 SORT FIELDS=COPY
000030 INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,1,CH,EQ,C'H'),PUSH=(081:1,20)),
000031 IFTHEN=(WHEN=GROUP,BEGIN=(1,1,CH,EQ,C'S'),PUSH=(101:1,20))
000032 OUTFIL BUILD=(081,20,101,20,1,20,20X),
000033 INCLUDE=(01,20,CH,NE,81,20,CH,AND,01,20,CH,NE,101,20,CH)
000034 //*
****** **************************** Bottom of Data ****************************
|
and the result is
Code: |
H HDR 1 S SUB 1 D DET 1 1
H HDR 2 S SUB 2 D DET 2 1
H HDR 2 S SUB 2 D DET 2 2
H HDR 3 S SUB 3 D DET 3 1
H HDR 3 S SUB 3 D DET 3 2
H HDR 3 S SUB 3 D DET 3 3
H HDR 4 S SUB 4 D DET 4 1
H HDR 4 S SUB 4 D DET 4 2
H HDR 4 S SUB 4 D DET 4 3
H HDR 4 S SUB 4 D DET 4 4 |
for the full 80 bytes <thing>
the sort control cards should look like ( not tested )
and check the output dcb attributes
Code: |
000028 //SYSIN DD *
000029 SORT FIELDS=COPY
000030 INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,1,CH,EQ,C'H'),PUSH=(081:1,80)),
000031 IFTHEN=(WHEN=GROUP,BEGIN=(1,1,CH,EQ,C'S'),PUSH=(161:1,80))
000032 OUTFIL BUILD=(081,80,161,80,1,80),
000033 INCLUDE=(01,80,CH,NE,081,80,CH,AND,01,80,CH,NE,161,80,CH)
000034 //* |
|
|