Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
Based on the information you sent me offline, here's a DFSORT job that will do what you asked for. I assumed your input file and output files have RECFM=FB and LRECL=80, but you can change the job appropriately for other attributes. The job uses DFSORT's new WHEN=GROUP function available with z/OS DFSORT V1R5 PTF UK90013 (July, 2008).
Code:
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
1PROGRAM ID : TPMN300 FSADMFIST1 ABC
REPORT ID : TPMN300.02 X
NJR COSTI
0 APPLICATION : NJR SOURCE : AB DATA TYPE : HOURS
0 -----------INPUT------------
CORP ID FIST1 RECORDS AMOUN
.
.
.
1PROGRAM ID : TPMN500 FSADMFIST1 ABC
REPORT ID : TPMN300.02 X
NJR COSTI
0 APPLICATION : NJR SOURCE : AB DATA TYPE : HOURS
0 -----------INPUT------------
CORP ID FIST1 RECORDS
.
.
.
0PROGRAM ID : TPMN400 FSADMFIST1
REPORT ID : TPMN400.01
COMMON SUSPENSE
0 APPLICATION : NJR SOURCE : AB DATA TYP
0 -----------INPUT
CORP ID FIST1 RECORDS
-JOURNAL - NJ660X1131
ACTUALS DEBITS 47,427
CREDITS 47,427
.
.
.
/*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC IFTHEN=(WHEN=GROUP,BEGIN=(2,12,CH,EQ,C'PROGRAM ID : '),
PUSH=(81:15,7))
OUTFIL INCLUDE=(81,7,SS,EQ,C'TPMN300,TPMN400'),
BUILD=(1,80)
/*
The data for TPMN300 and TPMN400 will be selected for output.
If you don't have z/OS DFSORT PTF UK90013, ask your System Programmer to install it (it's free).
For complete details on the new functions available with PTF UK90013, see: