split into two stages ...
****** ***************************** Top of Data ******************************
000001 //ENRICO1 JOB NOTIFY=&SYSUID,
000002 // MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X
000003 //*
000004 //AMS EXEC PGM=IDCAMS
000005 //SYSPRINT DD SYSOUT=*
000006 //SYSIN DD *
000007 DELETE ENRICO.SORT.TMP
000008 DELETE ENRICO.SORT.TMP2
000009 DELETE ENRICO.SORT.TMP3
000010 SET LASTCC=0
000011 SET MAXCC=0
000012 //*
000013 //ICE EXEC PGM=ICETOOL
000014 //TOOLMSG DD SYSOUT=*
000015 //DFSMSG DD SYSOUT=*
000016 //TMP DD DISP=(MOD,CATLG),
000017 // DSN=ENRICO.SORT.TMP,
000018 // UNIT=SYSDA,SPACE=(CYL,(8,8))
000019 //TMP2 DD DISP=(MOD,CATLG),
000020 // DSN=ENRICO.SORT.TMP2,
000021 // UNIT=SYSDA,SPACE=(CYL,(8,8))
000022 //TMP3 DD DISP=(MOD,CATLG),
000023 // DSN=ENRICO.SORT.TMP3,
000024 // UNIT=SYSDA,SPACE=(CYL,(8,8))
000025 //IN1 DD *
000026 12345 000001
000027 12345 000002
000028 12345 000003
000029 12345 000004
000030 12345 000005
000031 12345 000006
000032 12345 000007
000033 12345 000008
000034 12345 000009
000035 12345 000010
000036 12345 000011
000037 12345 000012
000038 23456 000001
000039 23456 000002
000040 23456 000003
000041 23456 000004
000042 23456 000005
000043 23456 000006
000044 23456 000007
000045 23456 000008
000046 23456 000009
000047 23456 000010
000048 23456 000011
000049 23456 000012
000050 //OUT DD SYSOUT=*
000051 //TOOLIN DD *
000052 SORT FROM(IN1) TO(TMP) USING(CTL1)
000053 SPLICE FROM(TMP) TO(TMP2) ON(1,5,CH) ON(81,1,CH) WITHANY -
000054 WITH(006,7) WITH(013,7) WITH(020,7) WITH(027,7) WITH(034,7)
000055 COPY FROM(TMP2) TO(TMP3) USING(CTL2)
000056 SPLICE FROM(TMP3) TO(OUT) ON(1,5,CH) WITHANY -
000057 WITH(006,35) WITH(041,35) WITH(076,35)
000058 //CTL1CNTL DD *
000059 SORT FIELDS=(1,5,CH,A,7,6,CH,A)
000060 OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,5,ZD,RESTART=(01,5))),
000061 IFTHEN=(WHEN=(81,5,ZD,EQ,01),BUILD=(1,5,006:C'-',7,6,81:C'1')),
000062 IFTHEN=(WHEN=(81,5,ZD,EQ,02),BUILD=(1,5,013:C'-',7,6,81:C'1')),
000063 IFTHEN=(WHEN=(81,5,ZD,EQ,03),BUILD=(1,5,020:C'-',7,6,81:C'1')),
000064 IFTHEN=(WHEN=(81,5,ZD,EQ,04),BUILD=(1,5,027:C'-',7,6,81:C'1')),
000065 IFTHEN=(WHEN=(81,5,ZD,EQ,05),BUILD=(1,5,034:C'-',7,6,81:C'1')),
000066 IFTHEN=(WHEN=(81,5,ZD,EQ,06),BUILD=(1,5,006:C'-',7,6,81:C'2')),
000067 IFTHEN=(WHEN=(81,5,ZD,EQ,07),BUILD=(1,5,013:C'-',7,6,81:C'2')),
000068 IFTHEN=(WHEN=(81,5,ZD,EQ,08),BUILD=(1,5,020:C'-',7,6,81:C'2')),
000069 IFTHEN=(WHEN=(81,5,ZD,EQ,09),BUILD=(1,5,027:C'-',7,6,81:C'2')),
000070 IFTHEN=(WHEN=(81,5,ZD,EQ,10),BUILD=(1,5,034:C'-',7,6,81:C'2')),
000071 IFTHEN=(WHEN=(81,5,ZD,EQ,11),BUILD=(1,5,006:C'-',7,6,81:C'3')),
000072 IFTHEN=(WHEN=(81,5,ZD,EQ,12),BUILD=(1,5,013:C'-',7,6,81:C'3'))
000073 //CTL2CNTL DD *
000074 OPTION COPY
000075 OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,5,ZD,RESTART=(01,5))),
000076 IFTHEN=(WHEN=(81,5,ZD,EQ,01),BUILD=(1,5,006:006,35)),
000077 IFTHEN=(WHEN=(81,5,ZD,EQ,02),BUILD=(1,5,041:006,35)),
000078 IFTHEN=(WHEN=(81,5,ZD,EQ,03),BUILD=(1,5,076:006,35))
000079 //*
****** **************************** Bottom of Data ****************************