![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
![ABAP Los archivos locales y el upload de datos ABAP Los archivos locales y el upload de datos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/240.jpg)
TRATAMIENTO DE ARCHIVOS LOCALES
Podemos acceder a métodos muy utiles para el tratamiento de archivos locales mediante la clase, CL_GUI_FRONTEND_SERVICES.
Los métodos se ejecutan como si fueran funciones.
Para ver los métodos disponibles en la clase, editamos un programa ABAP y presionamos el botónModelo. Marcamos la opcón Patrón p.objetos ABAP, continuar, en clase/interface escribimos CL_GUI_FRONTEND_SERVICES, presionamos F4 en Method y veremos la siguiente pantalla con todos los métodos de la clase.
FILE_OPEN_DIALOG: Permite al usuario seleccionar el archivo desde su pc.
GUI_DOWNLOAD: Descargar datos de los programas a archivos.
GUI_UPLOAD: Bajar datos de los archivos de la pc a nuestros programas.
Otra forma de ver el contenido de la clase CL_GUI_FRONTEND_SERVICES es a través de la transacción SE24.
BUSQUEDA DE ARCHIVOS EN LA PC.
Método.
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 buscamos en el pc, si colocamos * podemos ver todos lo archivos de los directorios
CHANGING
rc = vl_rc
file_table = tl_filetable. "file_table Contiene la ruta y 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.
Es recomendable el uso del método FILE_OPEN_DIALOG en los programas ABAP que trabajan con archivos locales, ya que facilita la interacción con el usuario y permite evitar errores de tipeo de datos.
LECTURA DE DATOS DE LOS ARCHIVOS LOCALES
Para leer datos de los archivos locales en las tablas internas de nuestros programas, utilizaremos el método GUI_UPLOAD.
Ejemplo:
* Se abre el archivo de entrada para lectura
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = vl_file "nombre del archivo con el que estamos trabajando
filetype = 'ASC' "extension del archivo local.
has_field_separator = ' ' "indica que el archivo local tiene separadores
CHANGING
data_tab = ti_archivo [] "tabla interna que almacena 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.
IF sy-subrc NE 0.
MESSAGE e000(zprueba) WHIT text-004.
ENDINF.
Extensiones permitidas:
bin: binarios
asc : ascii
dat: excel. Columnas separadas utilizando tabs.
lineas separadas con saltos de linea.
WK1: para archivo excele y lotus.
Para poder levantar un archivo de excel debe tener la extension .csv para poder ser leido correctamente.
 
 
 
Sobre el autor
Publicación académica de Franco Alfieri Maringota Alvarado, en su ámbito de estudios para la Carrera Consultor ABAP.
Franco Alfieri Maringota Alvarado
Peru - Legajo: GF44M
✒️Autor de: 288 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor en SAP BI / BW BO Nivel Avanzado
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP BI / BW BO Nivel Inicial