Bill,
Here is a JCL which will give you the desired results. SORTOUT will have
your Mainframe File and CSVFILE will have the comma separated data
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=YOUR INPUT FB 80 BYTE FILE
//SORTOUT DD SYSOUT=*
//CSVFILE DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC IFTHEN=(WHEN=(1,14,CH,EQ,C'>CUST MASTER$,'),
PARSE=(%01=(ABSPOS=15,ENDBEFR=C'(',FIXLEN=50)),
BUILD=(001:%01,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=53),
301:%01)),
IFTHEN=(WHEN=(1,04,CH,EQ,C'CM03'),
PARSE=(%02=(ABSPOS=06,ENDBEFR=C' ',FIXLEN=5)),
BUILD=(054:%02,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=08),
351:%02)),
IFTHEN=(WHEN=(1,10,CH,EQ,C'>CUST REG,'),
PARSE=(%03=(ABSPOS=11,ENDBEFR=C'(',FIXLEN=50)),
BUILD=(062:%03,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=53),
356:%03)),
IFTHEN=(WHEN=(1,04,CH,EQ,C'CR02'),
PARSE=(%04=(ABSPOS=06,ENDBEFR=C' ',FIXLEN=3)),
BUILD=(115:%04,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=06),
406:%04)),
IFTHEN=(WHEN=(1,11,CH,EQ,C'>CUST LOC1,'),
PARSE=(%05=(ABSPOS=12,ENDBEFR=C' ',FIXLEN=50)),
BUILD=(121:%05,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=53),
409:%05)),
IFTHEN=(WHEN=(1,04,CH,EQ,C'CL01'),
PARSE=(%06=(ABSPOS=06,ENDBEFR=C' ',FIXLEN=3),
%07=(ABSPOS=10,ENDBEFR=C' ',FIXLEN=15)),
BUILD=(174:%06,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=6),
180:%07,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=18),
459:%06,
462:%07)),
IFTHEN=(WHEN=(1,12,CH,EQ,C'>CUST CONT$,'),
PARSE=(%08=(ABSPOS=13,ENDBEFR=C' ',FIXLEN=50)),
OVERLAY=(198:%08,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=53),
477:%08)),
IFTHEN=(WHEN=(1,04,CH,EQ,C'CC02'),
PARSE=(%09=(ABSPOS=06,FIXLEN=3),
%10=(ABSPOS=10,FIXLEN=2),
%11=(ABSPOS=13,FIXLEN=1),
%12=(ABSPOS=15,FIXLEN=1),
%13=(ABSPOS=17,FIXLEN=10)),
OVERLAY=(251:%09,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=6),
257:%10,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=5),
262:%11,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=4),
266:%12,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'",',
LENGTH=4),
270:%13,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'"',
LENGTH=12),
282:C'P',
527:%09,
530:%10,
532:%11,
533:%12,
534:%13))
OUTREC IFTHEN=(WHEN=GROUP,BEGIN=(001,1,CH,EQ,C'"'),
PUSH=(001:001,53,301:301,50)),
IFTHEN=(WHEN=GROUP,BEGIN=(054,1,CH,EQ,C'"'),
PUSH=(054:054,08,351:351,05)),
IFTHEN=(WHEN=GROUP,BEGIN=(062,1,CH,EQ,C'"'),
PUSH=(062:062,53,356:356,50)),
IFTHEN=(WHEN=GROUP,BEGIN=(115,1,CH,EQ,C'"'),
PUSH=(115:115,06,406:406,03)),
IFTHEN=(WHEN=GROUP,BEGIN=(121,1,CH,EQ,C'"'),
PUSH=(121:121,53,409:409,50)),
IFTHEN=(WHEN=GROUP,BEGIN=(174,1,CH,EQ,C'"'),
PUSH=(174:174,06,459:459,03)),
IFTHEN=(WHEN=GROUP,BEGIN=(180,1,CH,EQ,C'"'),
PUSH=(180:180,18,462:462,15)),
IFTHEN=(WHEN=GROUP,BEGIN=(198,1,CH,EQ,C'"'),
PUSH=(198:198,53,477:477,50))
OUTFIL INCLUDE=(282,1,CH,EQ,C'P'),
BUILD=(301,243)
OUTFIL FNAMES=CSVFILE,INCLUDE=(282,1,CH,EQ,C'P'),
BUILD=(001,281,SQZ=(SHIFT=LEFT,PAIR=QUOTE))
/*
Thanks,
Kolusu
DFSORT Development
IBM Corporation
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN