‎2008 Nov 08 11:56 AM
Hello Experts,
How to make first letter of each word in string to capital letter and all others to lower case.
This can acheived using INITCAP keyword in other languages. How to do it in ABAP.
Regards,
Benu
‎2008 Nov 08 1:27 PM
translate g_var+0(1) to upper case.
translate g_var+1 to lower case.
where g_var is the variable.
>report ZTEST15.
>DATA: A(10) VALUE 'AMIT'.
>TRANSLATE a+0(1) TO UPPER CASE.
>TRANSLATE A+1 TO LOWER CASE.
>WRITE: A.
Output
Amit
Edited by: Amit Gupta on Nov 8, 2008 2:29 PM
‎2008 Nov 08 1:51 PM
Hi,
I don't thing there is some direct statement. But u can put in below simple logic.
DATA: l_count TYPE i,
l_len TYPE i,
l_name(30) TYPE c VALUE 'viNod kuMar veMuru'.
WRITE:/1 'Before change name is:', l_name.
l_len = strlen( l_name ).
CONDENSE l_name.
TRANSLATE l_name+0(1) TO UPPER CASE.
DO l_len TIMES.
IF l_name+l_count(1) EQ space.
ADD 1 TO l_count.
TRANSLATE l_name+l_count(1) TO UPPER CASE.
CONTINUE.
ENDIF.
ADD 1 TO l_count.
TRANSLATE l_name+l_count(1) TO LOWER CASE.
ENDDO.
WRITE:/1 'After change name is:', l_name.
Thanks,
Vinod.
Small change in Logic;)
‎2008 Nov 08 2:01 PM
Hi Benu,
Use the Function Module:
STRING_UPPER_LOWER_CASE
Thanks,
Chidanand
‎2008 Nov 08 2:15 PM
Hai,
Use the keyword Translate
Data : txt(100) Value 'benu Mariantony '.
Data : Begin of itab occurs 0,
txt1(100),
End of itab.
Split txt At ' ' into table itab.
Clear txt.
Loop at itab.
Translate itab-txt1+0(1) to upper case.
Concatenate txt itab-txt1 into txt separated by ' '.
Endloop.
txt = txt+1.
Write : / txt.
[SAP Help|http://help.sap.com/saphelp_erp2005vp/helpdata/en/fc/eb33a5358411d1829f0000e829fbfe/frameset.htm]
Regards,
Harish