Datei Upload auf Applikationsserver: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Kategorie:Codeschnipsel === Codeschnipsel === DATA: data_tab TYPE rsanm_file_table, filename TYPE string, path_filename…“
(kein Unterschied)

Version vom 18. Juli 2021, 15:48 Uhr

Codeschnipsel

DATA: data_tab TYPE rsanm_file_table, 
      filename             TYPE string,
      path_filename        TYPE string,
      table                TYPE STANDARD TABLE OF t_line,
      to_dir_file          TYPE string,
   TRY.
       path_filename = p_up,

       "Upload from client to application server
       cl_gui_frontend_services=>gui_upload( EXPORTING filename = path_filename
                                             CHANGING data_tab = table ).
       data_tab = table.

       "File from Path
       lcl_utilities=>get_filename_from_path( EXPORTING iv_path_filename = path_filename IMPORTING ev_filename = filename ).

       "Rename it with Filename pattern from cust table and date/time stamp
       lcl_utilities=>rename_build_to_dir_path( EXPORTING iv_filename = filename
                                                          io_cust = cust
                                                IMPORTING ev_path_filename = to_dir_file ).
 
       "Write file to application server
       cl_rsan_ut_appserv_file_writer=>appserver_file_write( EXPORTING i_filename = to_dir_file
                                                                       i_data_tab = data_tab
                                                                       i_overwrite = abap_true
                                                             IMPORTING e_lines_written = DATA(lines_written) ).

       "User has uploaded the selected file
       MESSAGE s018(zbc_dir_file) WITH sy-uname filename to_dir_file INTO DATA(msgg).
       zcl_bc_application_log=>add_sy_msg_to_bal_msg_tab( CHANGING xt_bal_msg = messages_bal_msg_tab ).

       MESSAGE s016(zbc_dir_file) WITH filename.
     CATCH zcx_bc_basic INTO DATA(cx_basic).
       RAISE EXCEPTION TYPE zcx_bc_basic
        MESSAGE e023(zbc_dir_file) WITH filename.
   ENDTRY.