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

Reply via email to