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

How to delimit data with '|' which has quotes and apostrophe


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

New User


Joined: 16 Mar 2009
Posts: 13
Location: Chennai

PostPosted: Wed Aug 13, 2014 9:16 am
Reply with quote

My input is :
Code:
FIRST" NAME                     123456789ADDRESS LINE '1


and I need the output to be:
Code:
FIRST" NAME|123456789|ADDRESS LINE '1|


I tried using the SQZ/JFY options in DFSORT as below.

Code:
//SYSIN    DD *                                             
   OPTION COPY                                             
   INREC IFOUTLEN=88,                                       
    IFTHEN=(WHEN=INIT,                                     
     BUILD=(1:1,50,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'|"'),     
     54:51,9,JFY=(SHIFT=LEFT),C'|',                         
     64:60,24,JFY=(SHIFT=LEFT,LEAD=C'"',TRAIL=C'|"'))),
    IFTHEN=(WHEN=INIT,                                     
     OVERLAY=(1,88,SQZ=(SHIFT=LEFT,PAIR=QUOTE))),       
    IFTHEN=(WHEN=INIT,                                     
     FINDREP=(IN=C'"',OUT=C''))                         
/*


But it works perfectly only if my data doesnt have double quotes.

Please suggest me on how to handle this if data has " and ' also.

Thanks.
Back to top
View user's profile Send private message
gch77

New User


Joined: 16 Mar 2009
Posts: 13
Location: Chennai

PostPosted: Wed Aug 13, 2014 11:22 am
Reply with quote

Please advise icon_sad.gif
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 13, 2014 11:31 am
Reply with quote

Use FINDREP to change problematic character to a value which can't naturally occur in your data (X'FD', something like that). Then, after processing, use FINDREP to reverse that change.
Back to top
View user's profile Send private message
gch77

New User


Joined: 16 Mar 2009
Posts: 13
Location: Chennai

PostPosted: Wed Aug 13, 2014 11:58 am
Reply with quote

Perfect ! thank you. it just dint strike me before. Thanks a lot.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 13, 2014 12:00 pm
Reply with quote

gch77 wrote:
Please advise icon_sad.gif


You're lucky I didn't see that before posting. You want it quick, you want to ask how it's going, then you find someone to pay to do it.

Here, you come for free. Acting like you're paying for it tends to reduce your chance of an answer.

It is not a complex process to come up with the answer. "This character causes a problem - if only it weren't there..." but "I do need that character after I've finished messing around".
Back to top
View user's profile Send private message
gch77

New User


Joined: 16 Mar 2009
Posts: 13
Location: Chennai

PostPosted: Thu Aug 14, 2014 9:00 am
Reply with quote

Quote:
You want it quick, you want to ask how it's going, then you find someone to pay to do it.

Here, you come for free. Acting like you're paying for it tends to reduce your chance of an answer.


Sorry. I was also trying at my end to resolve the issue but just wanted seek some expert help who could give me a hint so that I shall change the way of my attempt to resolve the issue.

Thanks for helping me.
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 Store the data for fixed length COBOL Programming 1
No new posts Data set Rec-Cnt and Byte-Cnt Testing & Performance 2
No new posts SCOPE PENDING option -check data DB2 2
No new posts Check data with Exception Table DB2 0
No new posts JCL EXEC PARM data in C Java & MQSeries 2
Search our Forums:

Back to Top