ksouren007
New User
Joined: 30 Jun 2010 Posts: 85 Location: Toronto, ON
|
|
|
|
Hi,
I have a VBA input file for with below properties.
SORTIN : RECFM=VBA ; LRECL= 240; BLKSIZE= 3124
The record contents are like below.
Code: |
=COLS> ----+----1----+----2----+----3----+----4----+----5
000005
000006 ID SOURCE LINES
000007 ----+----1----+----2----+----3----+----4----+
000008
000009
000010
000011
000012 I - +0000000000268.26 20110630 135205 MG00C02
000013 D - +0000000000268.26 20110731 135205 MG00C02
000014 I - -0000000000266.82 20110630 135205 MG00C02
000015 D - -0000000000266.82 20110731 135205 MG00C02
|
I want to sum up the above amounts(starting from 6 all characters) group by the first character 'I' or 'D' and the date starting from 2 and 24 positions respectively. But I am facing difficulty in defining the positions in the sort card.
my outfile would be RECFM=FB,LRECL=80,DSORG=PS.
Could someone please suggest a sort card for this? |
|
Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
ksouren007,
Use the following DFSORT JCL which will give you the desired results
Code: |
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&&T1,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=(6,1,SS,EQ,C'I,D')
SORT FIELDS=(6,1,CH,A,28,8,CH,A),EQUALS
OUTFIL REMOVECC,NODETAIL,VTOF,BUILD=(80X),
SECTIONS=(1,1,28,8,
TRAILER3=(6,4,
TOT=(10,17,SFF,EDIT=(STTTTTTTTTTTTTTT.TT),SIGNS=(+,-)),
27,25))
//* |
The output from this job is
Code: |
D - +000000000000001.44 20110731 135205 MG00C02
I - +000000000000001.44 20110630 135205 MG00C02
|
|
|