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

String manipulation

Former Member
0 Likes
615

We need to search for a file name in a file path and then move the file to an application server.

Ex: C:\Documents\test.csv is the file path and we need to move the file test.csv to a specified location in the application server.

we are trying to use the available string functions, but they are not helpful.

Your help is highly appreciated.

THank you

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
513

Hi!

The function module PC_SPLIT_COMPLETE_FILENAME will split that field into its components, if that is all you need...

Cheers,

John

4 REPLIES 4
Read only

Former Member
0 Likes
514

Hi!

The function module PC_SPLIT_COMPLETE_FILENAME will split that field into its components, if that is all you need...

Cheers,

John

Read only

0 Likes
513

If the path and file name is always the same, then you can use some methods of the class CL_GUI_FRONTEND_SERVICES. To check if the file exists in the specified path, use the method FILE_EXIST. If it does exist, then use the method GUI_UPLOAD to load it into the program, then use ABAP statements OPEN DATASET and TRANSFER DATASET to write the file to the application server.

Regards,

Rich Heilman

Read only

Former Member
0 Likes
513

Hi,

You can use this code to search the file name:


  DATA: li_filetable TYPE STANDARD TABLE OF file_table,
        lv_return TYPE i,
        lw_filetable TYPE file_table.

  CALL METHOD cl_gui_frontend_services=>file_open_dialog
     EXPORTING
       window_title            = 'Select file for download'
       default_extension       = '.txt'
*       DEFAULT_FILENAME        = '.txt'
*       file_filter             = '*.txt ,*.txt.'
       initial_directory       =  'C:'
     CHANGING
       file_table              = li_filetable
       rc                      = lv_return
     EXCEPTIONS
       file_open_dialog_failed = 1
       cntl_error              = 2
       error_no_gui            = 3
       OTHERS                  = 4
           .
  IF sy-subrc <> 0.
    MESSAGE e003 WITH text-015.
  ELSE.
    READ TABLE li_filetable INTO lw_filetable INDEX 1.
    p_fnam2 = lw_filetable-filename.
  ENDIF.

Also check out this link for downloading/ uploading data from presentation/application server.

http://www.sapdevelopment.co.uk/file/file_updown.htm

Best Regards,

Anjali

Read only

0 Likes
513

Hi,

U can use this fm to check the file existance.

CALL FUNCTION 'SXDA_FILE_EXISTENCE_CHECK'

EXPORTING

DS_NAME = P_FPATH

DATA_APP = 'X'

DATA_REM = SPACE

SERVER = SPACE

DATA_FRN = SPACE

PC_FILE = SPACE

IMPORTING

FILE_EXISTS = W_XFLAG

EXCEPTIONS

RFC_FAILURE = 1

FRONTEND_ERROR = 2

DB_ERROR = 3

OTHERS = 4.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

STOP.

ENDIF.

IF W_XFLAG EQ 'X'.WRITE:/001 'File exists'.ENDIF.

IF W_XFLAG NE 'X'.WRITE:/001 'File does not exist'.ENDIF.

Regds

gv