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.
Leer más