Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Doubt about variables.

ronaldo_aparecido
Contributor
0 Likes
886

Good Morning Guys.

I have a variable v_x with value 'C:/Users/AAlves/Desktop/Demandas Rodolfo/Chamado Exit # REST- CEST - PEST/9000000002.csv'

I want get the value 9000000002 fro this variable to move to other variable.

I use the strlen ..ect. But i want know if exist other way to work.

Thanks for help.

1 ACCEPTED SOLUTION
Read only

GeorgeShlyakhov
Participant
0 Likes
854

Hi Ronaldo!

Try to use something like this:

DATA l_num TYPE text1024.
PERFORM get_number USING 'C:/Users/AAlves/Desktop/Demandas Rodolfo/Chamado Exit # REST- CEST - PEST/9000000002.csv'
                CHANGING l_num.

FORM get_number USING uv_value  TYPE text1024
             CHANGING cv_number TYPE any.

  DATA:
    lt_tab  TYPE STANDARD TABLE OF text1024,
    l_lines TYPE i,
    l_line  TYPE text1024,
    l_dummy.


  SPLIT uv_value AT '/' INTO TABLE lt_tab.
  l_lines = LINES( lt_tab ).
  READ TABLE lt_tab INTO l_line INDEX l_lines.
  CHECK sy-subrc = 0.

  SPLIT l_line AT '.' INTO cv_number l_dummy.

ENDFORM.

-----

Best regards,

George Shlyahov

7 REPLIES 7
Read only

RaymondGiuseppi
Active Contributor
0 Likes
854

You could SPLIT the text AT '/' INTO a TABLE, the last record will get the fullname, split it at '.'.

Regards,

Raymond

Read only

GeorgeShlyakhov
Participant
0 Likes
855

Hi Ronaldo!

Try to use something like this:

DATA l_num TYPE text1024.
PERFORM get_number USING 'C:/Users/AAlves/Desktop/Demandas Rodolfo/Chamado Exit # REST- CEST - PEST/9000000002.csv'
                CHANGING l_num.

FORM get_number USING uv_value  TYPE text1024
             CHANGING cv_number TYPE any.

  DATA:
    lt_tab  TYPE STANDARD TABLE OF text1024,
    l_lines TYPE i,
    l_line  TYPE text1024,
    l_dummy.


  SPLIT uv_value AT '/' INTO TABLE lt_tab.
  l_lines = LINES( lt_tab ).
  READ TABLE lt_tab INTO l_line INDEX l_lines.
  CHECK sy-subrc = 0.

  SPLIT l_line AT '.' INTO cv_number l_dummy.

ENDFORM.

-----

Best regards,

George Shlyahov

Read only

0 Likes
854

Thanks George.

Worked!!!

Thanks so much.

Thanks guys .

Read only

0 Likes
854

You are welcome, Ronaldo!

Read only

Former Member
0 Likes
854

Hi Ronaldo,

You can use the

SPLIT v_x AT '/' INTO TABLE itab.

After that you can read the last record of itab and again do:


SPLIT itab AT '.' INTO v1 v2.

v1 will be having your required number.

check this link:

http://help.sap.com/saphelp_nw04/Helpdata/en/fc/eb3400358411d1829f0000e829fbfe/content.htm

Thanks,

Ajay Bose

Read only

hemanth_kumar21
Contributor
0 Likes
854

Hi Ronaldo,

Please use the below code:

  DATA: v_x TYPE string  VALUE
'C:/Users/AAlves/Desktop/Demandas Rodolfo/Chamado Exit # REST- CEST - PEST/9000000002.csv'.

DATA: result_tab  TYPE STANDARD TABLE OF  string,
      s_tab       TYPE string,
      lv_lines    TYPE i,
      s_digit     TYPE string,
      s_filetype  TYPE string.


SPLIT v_x AT '/' INTO TABLE result_tab.

DESCRIBE TABLE result_tab LINES lv_lines.

READ TABLE result_tab INTO s_tab INDEX lv_lines.

SPLIT s_tab AT '.' INTO s_digit s_filetype.

WRITE s_digit.

Read only

Former Member
0 Likes
854

I like to use one-liner regular expression in such cases.

Have a look at this snippet.

DATA str TYPE string VALUE

      'C:/Users/AAlves/Desktop/Demandas Rodolfo/Chamado Exit # REST- CEST - PEST/9000000002.csv'.

DATA lv_sub TYPE string.

* find from last slash

FIND REGEX '([^/]+).csv$' IN str SUBMATCHES lv_sub.

WRITE:/ lv_sub.

* find series of digits in end followed by .csv

FIND REGEX '(\d+).csv$' IN str SUBMATCHES lv_sub.

WRITE:/ lv_sub.