‎2009 Feb 05 1:40 PM
We have a field that have a letter in the first character or at last. F.e: A23234343 or 2233667F.
We want to extract the number values from left or from right but we don't know were the letter is.
Any suggestion?
Best Regards.
‎2009 Feb 05 2:01 PM
TRANSLATE l_char_field TO UPPER CASE.
TRANSLATE l_char_field USING 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '.
CONDENSE l_char_field.
l_val_field = l_char_field.matt
‎2009 Feb 05 1:43 PM
hi,
Check this code.
data:
w_num(10) type n.
w_num = 'A23234343'.
write:
w_num.
w_num = '2233667F'.
write: w_num.
adjust the length of the numeric variable as per your requirement.
Hope this is helpful..
Thanks
Sharath
Edited by: Sharath Panuganti on Feb 5, 2009 2:43 PM
‎2009 Feb 05 1:49 PM
Hi David,
Please read help on CO (contains only) and CA (contains any).
I think you have to use contains any for the alphabet and then delete it from the string.
Thanx.
‎2009 Feb 05 1:50 PM
‎2009 Feb 05 1:53 PM
v_text = 'A123456'.
v_length = STRLEN( v_text ).
v_next = 0.
v_last = v_length - 1.
if 1st charecter in v_text CO 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
delete it.
endif.
if lastcharecter CO 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
delete the last char.
endif.
‎2009 Feb 05 1:56 PM
Hi David
strlen = STRLEN( lv_field ).
IF lv_field(1) = 'A'.
lv_number = lv_field+1.
ELSEIF lv_field(strlen) = 'F'.
strlen1 = strlen - 1.
lv_number = lv_field(strlen1).
ENDIF.
*take care of data types
Pushpraj
‎2009 Feb 05 2:01 PM
TRANSLATE l_char_field TO UPPER CASE.
TRANSLATE l_char_field USING 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '.
CONDENSE l_char_field.
l_val_field = l_char_field.matt
‎2009 Feb 05 2:05 PM
Hi,
Try this...
DATA : LEN TYPE I,
CHR.
DATA : STR1 TYPE STRING VALUE '23234343F'.
LEN = STRLEN( STR1 ).
CHR = STR1+0(1).
IF CHR CO '1234567890'.
STR1 = STR1+0(8).
ELSE.
STR1 = STR1+1(8).
ENDIF.
WRITE : STR1.
regards.