En el siguiente ejemplo veremos como mover un fichero de una carpeta, este ejemplo serviría tanto para ficheros locales como ficheros que estén el el servidor.
Utilizaremos la función GUI_UPLOAD para cargar el fichero en una tabla interna, OPEN DATASET para crear el fichero el la nueva ruta y GUI_DELETE_FILE para borrar el fichero de la ruta inicial.
Leer fichero con GUI_UPLOAD
Con la función GUI_UPLOAD leeremos el fichero y añadiremos el fichero en una tabla interna.
- Filename: Ruta y nombre del fichero (en este caso será C:\SAP\fichero_inicio.txt)
- Filetype: Tipo de fichero que queremos leer (En este caso al ser .txt utilizaremos el tipo DAT)
(*) Crearemos el tipo T_RECEPCION que se utilizará para crear la tabla interna LI_RECEPCION donde se almacenará el contenido del fichero
TYPES: BEGIN OF t_recepcion, line TYPE c, END OF t_recepcion. DATA: lv_filename TYPE string VALUE 'C:\SAP\fichero_inicio.txt', li_recepcion TYPE STANDARD TABLE OF t_recepcion. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = lv_ilename filetype = 'DAT' TABLES data_tab = li_recepcion EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. IF sy-subrc = 0. ENDIF.