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

SORT to Find and Replace accent alphabet to normal alphabet


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
balaji81_k

Active User


Joined: 29 Jun 2005
Posts: 155

PostPosted: Thu Jul 24, 2014 11:44 pm
Reply with quote

Hi,

I tried to write a SORT to find and replace the below accent characters to normal characters which will be in Name field in my input file .

áÁâÂÄÄáÁãÃåÅ Replace with A
éÉêÊëËèÈ Replace with E
íÍîÎïÏìÌ Replace with I
óÓôÔÖÖòÒõÕ Replace with O
úÚûÛÜÜùÙ Replace with U
ýÝ Replace with Y
çÇ Replace with C
ñÑ Replace with N

& - special character will be converted to the word AND

Code:

//FINDREP JOB(A,B,C),'SRT FRGN',CLASS=S,MSGCLASS=X,REGION=0M,NOTIFY=&SYSUID
//SORT010    EXEC PGM=SORT
//SORTWK01   DD UNIT=SYSDA,SPACE=(CYL,(5,10),RLSE)
//SORTIN     DD DSN=INP.FILE, DISP=SHR
//SOROUT     DD DSN=OUT.FILE,DISP=SHR
//SYSIN DD *
      OPTION COPY
      INREC IFTHEN=(WHEN=INIT,FINDREP=(STARTPOS=44,ENDPOS=100,
      IN=(C'á',C'Á',C'â',C'Â',C'Ä',C'á',C'Á',C'ã',C'Ã'),OUT=C'A'))


/*
//
As i need to continue for other accent characters in IN statement . I would like to know how to do this .  Can any one help me on this .

Thanks
Balaji K
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: Fri Jul 25, 2014 12:06 am
Reply with quote

You want to continue a statement? Just break at a comma, and start on the next line. Lots of examples showing that. Or do you mean something else?
Back to top
View user's profile Send private message
balaji81_k

Active User


Joined: 29 Jun 2005
Posts: 155

PostPosted: Fri Jul 25, 2014 12:09 am
Reply with quote

Hi Bill Woodger,

I meant to continue the IN statements for all accent characters and corresponding OUT statement for its conversion .Please let me know how to do that ?

Thanks
Balaji K
Back to top
View user's profile Send private message
magesh23586

Active User


Joined: 06 Jul 2009
Posts: 213
Location: Chennai

PostPosted: Fri Jul 25, 2014 1:56 pm
Reply with quote

Use multiple IFTHEN=( like this..

I would recommend to use Hex of all these value rather than a character.

Code:

OPTION COPY                                                     
INREC IFTHEN=(WHEN=INIT,FINDREP=(STARTPOS=1,ENDPOS=80,         
IN=(C'á',C'Á',C'â',C'Â',C'Ä',C'á',C'Á',C'ã',C'Ã'),OUT=C'A')),   
IFTHEN=(WHEN=INIT,FINDREP=(STARTPOS=1,ENDPOS=80,               
IN=(C'é',C'É',C'ê',C'ë',C'è',C'È'),OUT=C'E'))                   


Hope this helps.
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: Fri Jul 25, 2014 3:11 pm
Reply with quote

Either use INOUT and specify all the pairs. Can use symbols/SYMNAMEs to document and simplify code and reduce maintenance.

Or, probably better, use ALTSEQ.
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
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 Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts To find whether record count are true... DFSORT/ICETOOL 6
Search our Forums:

Back to Top