View previous topic :: View next topic
Author
Message
balaji81_k Active User Joined: 29 Jun 2005Posts: 155
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
balaji81_k Active User Joined: 29 Jun 2005Posts: 155
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
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
Please enable JavaScript!