✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
Tratamiento de archivos locales
Abap nos propociona una serie de métodos muy útiles para el tratamiento de archivos locales ubicados en nuestra PC mediante la clase CL_GUI_FRONTEND_SERVICES. (Los metodos se ejecutan como si fueran funciones)
Podemos ver todos los metodos disponibles en la clase de la siguiente forma:
MODELO --> Patrón p. objetos ABAP --> en Clase/Interface ponemos el nombre de la clase --> y en Metodo presionamos F4.
Veremos en detalle los siguientes métodos:
FILE_OPEN_DIALOG: Para mostrar la pantalla de navegación que permita al usuario poder seleccionar el archivo del directorio de su PC.
GUI_DOWNLOAD: Para descargar los programas a archivos de PC. (DE PROGRAMA A PC)
GUI_UPLOAD: para bajar datos de los archivos de la pc a nuestros programas. (de PC a PROGRAMA)
*Otra forma de visualizar el contenido de la clase es por la transacción SE24 llamada Class Builder.
Búsqueda de archivos en la PC:
Para buscar archivos en nuestra PC, utilizaremos el método CL_GUI_FRONTEND_SERVICES=>FILE_:OPEN_DIALOG.
EJEMPLO:
DATA: tl_filetable TYPE filetable,
stl_file_table TYPE file_table,
vl_rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = '*'. " Contiene el nombre del archivo que buscaremos en la PC. si colocamos * veremos todos los archivos
CHANGING
rc = vl_rc
file_table = tl_filetable. " Contiene la ruta y el nombre del archivo seleccionado
READ TABLE tl_filetable INDEX 1 INTO stl_file_table.
IF sy-subrc EQ 0.
MOVE stl_file_table TO p_path
ENDIF.
Lectura de datos de los archivos locales:
Para leer datos de los archivos locales(de nustra pc) en nuestras tablas internas de nuestros programas, utilizaremos el método CL_FUI_FRONTEND_SERVICES=>GUI_UPLOAD.
Ejemplo:
CALL METHOD cl_gui_frontend_services=>gui_upload EXPORTING filename = vl_file " Contiene el directorio y nombre del archivo local con el que estamos trabajando filetype = 'ASC' " Contiene el tipo o extensión del archivo local has_field_separator = '' " Indica que el archivo local tiene separadores CHANGING data_tab = ti_archivo[] " IT donde almacenaremos los datos del archivo local 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 not_supported_by_gui = 17 error_no_gui = 18 OTHERS = 19.
 
 
 
Sobre el autor
Publicación académica de Matias Giorgieff, en su ámbito de estudios para la Carrera Consultor ABAP.
Matias Giorgieff
Profesión: Programador Jr - Chile - Legajo: RA71X
✒️Autor de: 24 Publicaciones Académicas
🎓Cursando Actualmente: Master Funcional para Consultores ABAP
🎓Egresado de los módulos:
Certificación Académica de Matias Giorgieff