IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Email file with semicolon as delimiter


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
mubs55

New User


Joined: 19 Apr 2006
Posts: 12

PostPosted: Wed Feb 07, 2007 6:27 am
Reply with quote

Hi,

I need to send a file as mail attachment.
the file layout is:

Code:

mubs;1,234;20/01/2007
name;89,00;19/01/2007


i want to separate the fields based on semicolon and not commas.
the file sent as attachment should be:

Code:

mubs 1,234 20/01/2007
name 89,00 19/01/2007


please let me know what is the best way out.

Thanks & Regards,
Mubs
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Wed Feb 07, 2007 6:47 am
Reply with quote

I'm not sure if this is what you had in mind, but you could use DFSORT to parse and change the records for output. I assumed that fields could actually be different lengths in different records and added a record to show that.

You'll need z/OS DFSORT V1R5 PTF UK90007 or DFSORT R14 PTF UK90006 (April, 2006) in order to use DFSORT's PARSE and SQZ functions. If you don't have the April, 2006 PTF, ask your System Programmer to install it (it's free). For complete details on all of the new DFSORT and ICETOOL functions available with the April, 2006 PTF, see:

Use [URL] BBCode for External Links

Code:

//S1    EXEC  PGM=ICEMAN
//SYSOUT    DD  SYSOUT=*
//SORTIN DD *
mubs;1,234;20/01/2007
name;89,00;19/01/2007
another;5,12;21/03/2007
/*
//SORTOUT DD DSN=...  output file
//SYSIN    DD    *
  OPTION COPY
  INREC IFTHEN=(WHEN=INIT,
    PARSE=(%01=(ENDBEFR=C';',FIXLEN=10),
           %02=(ENDBEFR=C';',FIXLEN=10),
           %03=(FIXLEN=15)),
        BUILD=(%01,%02,%03)),
    IFTHEN=(WHEN=INIT,
      BUILD=(1,35,SQZ=(SHIFT=LEFT,MID=C' ')))
/*


SORTOUT would have:

Code:

mubs 1,234 20/01/2007   
name 89,00 19/01/2007   
another 5,12 21/03/2007
Back to top
View user's profile Send private message
dineshness

New User


Joined: 25 Dec 2006
Posts: 63
Location: Perambalur

PostPosted: Wed Feb 07, 2007 11:39 pm
Reply with quote

We can also use ALTSEQ CODE to replace the ";" (semicolon) with " " (space) to achieve the same thing, as from your question you mean by separating the fields by replacing the semicolon with a space.

Frank, Correct me if i am wrong.

Dinesh.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Wed Feb 07, 2007 11:44 pm
Reply with quote

Dinesh,

Yes, you're right. That would be a simpler solution in this case. I guess I overthought it. icon_redface.gif (But it did give me a chance to show off PARSE.) icon_lol.gif

Mubs,

The DFSORT control statements for that would be:

Code:

   OPTION COPY
   ALTSEQ CODE=(5E40)
   INREC FIELDS=(1,m,TRAN=ALTSEQ)


where m is the length of your records.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
Search our Forums:

Back to Top