2010 Mar 15 1:31 PM
Hi experts
i got a string and one field got values like this.
b = ab_345
b= cvb 234
b=23456
b=sdfg_7892
how can i add infront off all the values v_345 ,v_234,v_23456 and v_7892.
Hi experts
i got a string and one field got values like this.
b = ab_345
b= cvb 234
b=23456
b=sdfg_7892
how can i add infront off all the values v_345 ,v_234,v_23456 and v_7892.
2010 Mar 15 1:39 PM
Hi Sandya,
Use FIND OCCURANCE OF '_' in your string. when the search is successful, sy-fdpos will be set its offset. Then delete those many letters from your substring and append v to your _234 etc.
Thanks,
Kiran
2010 Mar 15 1:39 PM
Hi,
Try this
PARAMETERS P_DATA TYPE STRING.
DATA D_OFFSET TYPE SY-FDPOS.
WRITE : P_DATA, '--->'.
* Search te Character '_' and store position into variable
FIND FIRST OCCURRENCE OF '_' IN P_DATA MATCH OFFSET D_OFFSET.
* REPLACE '_' if found
IF D_OFFSET GT 0 .
ADD 1 TO D_OFFSET.
ENDIF.
CONCATENATE 'V_' P_DATA+D_OFFSET INTO P_DATA.
WRITE P_DATA.
Rgds
2010 Mar 15 1:48 PM
Hi thanks for ur reply but if the space in between the value .its not working
ex: p_data abcde 345
output : v_abcde 345.
i want like this v_345
2010 Mar 15 1:55 PM
When the sy-subrc fails, check for SPACE and follow the same logic.
Regards,
Kiran
2010 Mar 15 1:58 PM
Hi,
you would like replace all character not Equals 0 1 2 3 4 5 6 7 8 9 and put before string 'V_' ?
Rgds
Edited by: stéphane mouraux on Mar 15, 2010 2:59 PM
2010 Mar 15 2:03 PM
REPLACE FIRST OCCURRENCE OF REGEX '[0-9]' IN lv_string WITH 'v_$&' .
2010 Mar 15 4:05 PM
hi ,
try the following code .
data: p_data type string value 'abcde 345'.
data: l_result type string.
data: l_length type i.
data: l_count type i VALUE 0 .
data: l_current_char type c.
data: l_no_number type c value 'X'.
l_length = strlen( p_data ).
WHILE l_count < l_length.
l_current_char = p_data+l_count(1).
if not l_current_char co '0123456789' and
not l_current_char is INITIAL.
REPLACE ALL OCCURRENCES OF l_current_char IN p_data WITH l_no_number.
endif.
add 1 to l_count.
ENDWHILE.
CONDENSE p_data NO-GAPS.
REPLACE ALL OCCURRENCES OF l_no_number IN p_data WITH space.
CONCATENATE 'v_' p_data into l_result.
write l_result.
Regards luigi
2010 Mar 18 12:02 PM
REPORT ZTEST.
PARAMETERS P_DATA TYPE STRING.
DATA D_OFFSET TYPE SY-FDPOS.
WRITE : P_DATA, '--->'.
data: len TYPE n,
fr TYPE n.
len = strlen( p_data ).
fr = 0.
do.
if fr le len.
if p_data+fr(1) ca '0123456789'.
fr = fr + 1.
len = len - fr.
CONCATENATE 'V_' P_DATA+fr(len) INTO P_DATA.
exit.
endif.
fr = fr + 1.
ENDIF.
ENDDO.
**
WRITE P_DATA.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |