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

Cobol to split the file into two values as below


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Digital Siva

New User


Joined: 19 Jul 2010
Posts: 4
Location: Chennai

PostPosted: Mon Jul 19, 2010 6:07 pm
Reply with quote

I have a input file which contains the values as Reportname and emailid. The file format looks as below.

TS DRA DETAIL abc@gmo.com
RS PRO SOURCE xyz@bro.com
TEL STA PRACTICE dro@tell.com
OS PROCESS RECORD tell@gro.com

My requirement is to split the file into two values as below format

Code:

ReportName             Email Address
TS DRA DETAIL          abc@gmo.com
RS PRO SOURCE          xyz@bro.com
TEL STA PRACTICE       dro@tell.com
OS PROCESS RECORD      tell@gro.com
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Jul 19, 2010 6:12 pm
Reply with quote

Personally, I don't see any difference between the two lists you posted.

However, since email addresses cannot contain a space, use FUNCTION REVERSE to reverse the data and find the first space after the first non-space character and that's where you want to split. After you've moved the data to two variables, use FUNCTION REVERSE on each to get back into normal order.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon Jul 19, 2010 6:20 pm
Reply with quote

Digital Siva sort of wrote:
Code:
TS DRA DETAIL abc@gmo.com
RS PRO SOURCE xyz@bro.com
TEL STA PRACTICE dro@tell.com
OS PROCESS RECORD tell@gro.com

Code:
ReportName                               Email Address
TS DRA DETAIL          abc@gmo.com
RS PRO SOURCE                           xyz@bro.com
TEL STA PRACTICE                       dro@tell.com
OS PROCESS RECORD                 tell@gro.com

And if he had just previewed, it would actually look correct..... icon_rolleyes.gif
Back to top
View user's profile Send private message
Digital Siva

New User


Joined: 19 Jul 2010
Posts: 4
Location: Chennai

PostPosted: Mon Jul 19, 2010 6:21 pm
Reply with quote

I have used below cobol code,its extracts email address correctly but i didnt get report name field. it shows null value

Code:
UNSTRING INP-MAIL DELIMITED BY "@" INTO TEMP1,TEMP3.     
MOVE FUNCTION REVERSE(TEMP1) TO TEMP4.                   
UNSTRING TEMP4 DELIMITED BY ALL " " INTO TEMP5,TEMP6.   
MOVE FUNCTION REVERSE(TEMP6) TO TEMP4.                   
STRING TEMP4,TWO-PARTS DELIMITED BY " " INTO WS-EMAIL-ID.
DISPLAY " EMAIL ADDRESS=" WS-EMAIL-ID.                   
MOVE WS-EMAIL-ID TO OUP-MAIL.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Jul 19, 2010 6:40 pm
Reply with quote

TEMP6 should have the reversed report name. What you posted does not show anything being done with TEMP6.

Please learn to use the Code button to display code -- I've edited your post to do this but you need to do it yourself in the future.
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 -> COBOL Programming

 


Similar Topics
Topic Forum Replies
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 Replace each space in cobol string wi... COBOL Programming 3
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
Search our Forums:

Back to Top