Page 1 of 1

Delimit and put on next line

PostPosted: Mon Jun 30, 2008 11:50 am
by kamal
My i/p is like
there are 3 fields and these are delimited by ",".
Just want thse fields one by one on different lines.
e.g
i/p :
123;ANDB;890
3455;SGDH;7899


o/p should be:
123
ANDB
890
3455
SGDH
7899

can this be done using SORT?

Re: Delimit and put on next line

PostPosted: Mon Jun 30, 2008 9:38 pm
by Frank Yaeger
Here's a DFSORT job that will do what you asked for. I assumed the maximum length of a field is 20, but you can change the job accordingly for the correct maximum length.

//S1    EXEC  PGM=ICEMAN
//SYSOUT    DD  SYSOUT=*
//SORTIN DD DSN=...  input file (FB)
//SORTOUT DD DSN=...  output file (FB)
//SYSIN    DD    *
  OPTION COPY
  OUTFIL PARSE=(%01=(ENDBEFR=C';',FIXLEN=20),
                %02=(ENDBEFR=C';',FIXLEN=20),
                %03=(FIXLEN=20)),
         BUILD=(%01,/,%02,/,%03)
/*


If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:

http://www.ibm.com/servers/storage/supp ... tmpub.html