H0012008-07-012008-07-31
DDATA RECORD ONE
DDATA RECORD TWO
DDATE RECORD THREE
TTRAILER RECORD FOR FIRST FILE COUNT OF DATA RECORDS 00003
H0022008-07-01200807-31
DDATA RECORD FOUR
DDATA RECORD FIVE
DDATA RECORD SIX
DDATA RECORD SEVEN
TTRAILER RECORD FOR SECOND FILE COUNT OF DATA RECORDS 00004
In my output file I need one header (does not matter which one it is)
I need all the data records
I need one trailer(does not matter which one) with the count of total data records.
Effectively I need my output file some thing like this
H0012008-07-012008-07-31
DDATA RECORD ONE
DDATA RECORD TWO
DDATE RECORD THREE
DDATA RECORD FOUR
DDATA RECORD FIVE
DDATA RECORD SIX
DDATA RECORD SEVEN
TTRAILER RECORD FOR SECOND FILE COUNT OF DATA RECORDS 00007
First byte of the file would have 'H'eader, 'D'ata or 'T'railer
It is going to be a FB file of length 80. Count of records would come in trailer record from 73 through 80.
COuld this be accomplished through DFSORT? If so, kindly help.
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
chandra_devatha,
The following DFSORT JCL will give you the desired results
Code:
//STEP0100 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
H0012008-07-012008-07-31
DDATA RECORD ONE
DDATA RECORD TWO
DDATE RECORD THREE
TTRAILER RECORD FOR FIRST FILE COUNT OF DATA RECORDS 00003
H0022008-07-01200807-31
DDATA RECORD FOUR
DDATA RECORD FIVE
DDATA RECORD SIX
DDATA RECORD SEVEN
TTRAILER RECORD FOR SECOND FILE COUNT OF DATA RECORDS 00004
//SORTOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,1,SS,EQ,C'H,T'),
OVERLAY=(89:SEQNUM,1,ZD),HIT=NEXT),
IFTHEN=(WHEN=(1,1,CH,EQ,C'T'),
OVERLAY=(73:81,8,ZD,SUB,+2,M11,LENGTH=8))
//STEP01 EXEC PGM=ICEMAN
//*-------------------------
//SYSOUT DD SYSOUT=*
//SORTIN DD *
H0012008-07-012008-07-31
DDATA RECORD ONE
DDATA RECORD TWO
DDATE RECORD THREE
TTRAILER RECORD FOR 1ST FILE. RECORD COUNT 00003
H0022008-07-01200807-31
DDATA RECORD FOUR
DDATA RECORD FIVE
DDATA RECORD SIX
DDATA RECORD SEVEN
TTRAILER RECORD FOR 2ND FILE. RECROD COUNT 00004
//SORTOUT DD *
//SYSIN DD *
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=INIT,OVERLAY=(72:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,1,SS,EQ,C'H,T'),
OVERLAY=(80:SEQNUM,1,ZD),HIT=NEXT),
IFTHEN=(WHEN=(1,1,CH,EQ,C'T'),
OVERLAY=(73:72,8,ZD,SUB,+2,M11,LENGTH=8))
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
Hello,
That is part of what you needed to post. . .
You also need to post the diagnostic info presented by the run. There should be at least 2 "pieces" of diagnostic info. When you post these, the message numbers need to be included as well.