View previous topic :: View next topic
|
Author |
Message |
RahmanisGod
New User
Joined: 12 Aug 2008 Posts: 7 Location: Chennai, India
|
|
|
|
Hi all,
I have a requirement to split a Variable lenghth CSV file into 2 files.Each of the fields in the CSV file could change dynamically at record level.
Eg:
Input File ( with 4 fields):
ABC,DEFG,12345,XYZX
ZXYT,REF,WERTYUI,1,
DFRTYUI,HJK,1234,FGH
required Output file ( needs to be split on the 3rd field for each record)
Output file 1:
-----------------
ABC,DEFG,
ZXYT,REF,
DFRTYUI,HJK,
Output file 2
----------------
12345,XYZX
WERTYUI,1
1234,FGH
Is this possible with any of the DFSORT tricks?? |
|
Back to top |
|
|
Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
rahmanisgod,
The following JCL will give you the desired results. I assumed that each field has a max length of 10 bytes.
Code: |
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
ABC,DEFG,12345,XYZX
ZXYT,REF,WERTYUI,1,
DFRTYUI,HJK,1234,FGH
//OUT1 DD SYSOUT=*
//OUT2 DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
INREC PARSE=(%01=(ENDBEFR=C',',FIXLEN=10),
%02=(ENDBEFR=C',',FIXLEN=10),
%03=(ENDBEFR=C',',FIXLEN=10),
%04=(ENDBEFR=C',',FIXLEN=10)),
BUILD=(%01,%02,%03,%04)
OUTFIL FNAMES=OUT1,BUILD=(01,20,SQZ=(SHIFT=LEFT,MID=C',',TRAIL=C','))
OUTFIL FNAMES=OUT2,BUILD=(21,20,SQZ=(SHIFT=LEFT,MID=C','))
/* |
|
|
Back to top |
|
|
|
|