Alexis Sebastian
New User
Joined: 04 Mar 2010 Posts: 38 Location: DC
|
|
|
|
Hi All,
Is it possible to create a report for the below requirement?
Input File RECFM = FB, RECLEN = 80
Code: |
015032011 - HEADER RECORD
1122645102390606012605039060114122010
1122645372465595912605046559514122010
1122645532000323212605000032814122010
1122055611702434312605070243026012011
1122057051415525212605041552726012011
1122057481032939312605003293326012011
1122645102390606012605039060127012011
1122645372465595912605046559527012011
1122645532000323212605000032827012011
1160126050702434312605070243001022011
1159126050460126050500390603701022011
1132126050059126050500465595301022011
1143126050032126050500000325301022011
1152126050043126050500702435306022011
1193126050052126050500415525306022011
1160126050093126050500032935306022011
1159126050060126050500390605306022011
1132126050059126050500465595315032011
1143126050032126050500000325315032011
1152126050043126050500702435315032011
1193126050022645532500226455315032011
1160126050032931260500226455315032011
90000022 - TRAILER RECORD
|
Date Field starts at pos 30, lenth=8 ( DDMMYYYY ). This file is getting accumulated daily. Need to create summary report based on the date field i.e How many records present for a particular date?
The given input file is a sample file. It may contain more than 10k records.
Output Report
Code: |
DATE NO OF RECORDS
------------------------
14122010 - 3
26012011 - 3
27012011 - 3
01022011 - 4
06022011 - 4
15032011 - 5
------------------------
TOTAL 22
|
Thanks in advance. |
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Alex,
Here's a DFSORT job that will do what you asked for:
Code: |
//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file
//SORTOUT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=(1,1,CH,EQ,C'1')
INREC BUILD=(30,8,80:X)
SORT FIELDS=(5,4,CH,A,3,2,CH,A,1,2,CH,A)
OUTFIL REMOVECC,NODETAIL,
HEADER2=('DATE NO OF RECORDS'/,24'-'),
SECTIONS=(1,8,
TRAILER3=(1,8,C' - ',COUNT=(EDIT=(IIIT)))),
TRAILER1=(24'-',/,'TOTAL',12:COUNT=(EDIT=(IIIT)))
/*
|
|
|