Archivos Locales: Upload de datos
ABAP nos proporciona la clase CL_GUI_FRONTEND_SERVICES que contiene unos métodos que usaremos como si fueran funcionas y que nos permite gestionar el tratamiento de Archivos Locales.
Métodos que vamos a tratar:
FILE_OPEN_DIALOG: muestra la pantalla de navegación que permite al usuario seleccionar el fichero.
GUI_DOWNLOAD: para descargar datos de los programas al PC.
GUI_UPLOAD: para bajar datos del PC al programa.
|
Se puede visualizar el contenido de CL_GUI_FRONTEND_SERVICES con la Tx SE24.
CLASS BUILDER
|
BUSCAR ARCHIVOS EN EL PC
Usaremos el método FILE_OPNEN_DIALOG
Ejemplo:
DATA: tl_filetable TYPE filetable,
stl_file_table TYPE filetable,
vl_rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = ‘*’
window_title = ‘SELECCIÓN DE FICHERO’
CHANGING
rc = vl_rc
file_table = tl_filetable.
READ TABLE tl_filetable INDEX 1 INTO stl_file_table.
IF sy_subrc EQ 0.
MOVE stl_file_table TO p_path.
ENDIF.
Parámetros importantes:
WINDOW_TITLE: asigna el título de la ventana
DEFAULT_FILENAME: contiene el nombre de archivo que buscamos, si usamos * mostrara todos los archivos.
FILE_TABLE: contiene la ruta y nombre del archivo seleccionado.
LECTURA DE DATOS DE LOS ARCHIVOS LOCALES
Para leer datos de los archivos locales usaremos el método GUI_UPLOAD
Ejemplo:
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = vl_file
filetype = ‘ASC’
has_field_separator = ‘’
CHANGING
data_tab = ti_archivo[ ]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknow_error = 7
bad_data_format = 8
header_not_allowed =10
header_too_long = 11
unknow_dp_error =12
access_deneid = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy_sburc NE 0.
MESSAGE e000 (z_prueba) WITH text-004.
ENDIF.
NOTA: el corchete del camo ti_archivo es por requerimiento de sintaxis