✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
ARCHIVOS LOCALES: UPLOAD DE DATOS.
1.- Tratamiento de archivos locales.
ABAP proporciona una serie de métodos útiles para el tratamiento de archivos locales ubicados en la PC, a través de la clase CL_GUI_FORNTEND_SERVICES.
Para visualizar todos los métodos disponibles en la clase, editamos un programa ABAP y presionamos el botón "Modelo (Pattern)".
En la siguiente ventana marcamos la opción "Patrón p,objetos ABAP (ABAP objects patterns)" y continuar.
En la nueva ventana se escribe el nombre de la clase: CL_GUI_FORNTEND_SERVICES, en la siguiente casilla presionamos F4 en "Método" y se despliega una pantalla con todos los métodos.
Métodos:
- FILE_OPEN_DIALOG.- Para mostrar la pantalla de navegación que permita al usuario seleccionar el archivo del directorio de su Pc.
- GUI_DOWNLOAD.- Para descargar datos de los programas a archivos en la PC.
- GUI_UPLOAD.- Para bajar datos de los archivos de la PC a nuestros programas.
"Otra forma de visualizar el contenido de la clase CL_FORNTEND_SERVICES es ingresando al Class Builder con la transacción SE24".
2.- Para buscar archivos en la PC.
Para buscar en un directorio de la PC, utilizaremos método FILE_OPEN_DIALOG. Ejemplo:
DATA: tl_fieltable TYPE filetable,
stl_file_table TYPE file_table,
vl_rc TYPE i.
CALL METHOD cl-gui_fontend_services=>file_open_dialog
EXPORTING
default_filename = '*'
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 un título a la ventana de búsqueda.
- DEFAULT_FILENAME.- Contiene el nombre del archivo que buscamos en nuestra PC. Si colocamos el literal (*) podremos ver todos los archivos que se encuentran en los directorios.
- FILE_TABLE.- Contiene la ruta y nombre del archivo seleccionado.
Al igual que las funciones, el método FILE_OPEN_DIALOG tiene definidas excepciones. Cada excepción tiene asociada una definición que contempla cada uno de los errores posibles que pueden ocurrir al ejecutar dicho método.
Si ejecutamos el código anterior veremos la siguiente ventana de diálogo.
"Es recomendable la utilización del método FILE_OPEN_DIALOG, en el programa ABAP que trabajan con archivos locales, ya que facilita ampliamente la interacción entre el usuario y el programa y evita errores de tipeo de datos"
3.- Lectura de los archivos locales.
Para leer los archivos locales en las tablas internas de nuestros programas, utilizaremos el método GUI_UPLOAD.
* Se abre el archivo de entrada para lectura.
CALL METHOD cl_gui_fontend_services=>gui_upload
EXPORTING
filename = vl_file
filetype = 'ASC'
hast_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
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_soported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc NE 0.
MESSAGE e000(z_prueba) WITH text-001.
ENDIF.
Análisis de los parámetros:
- FILENAME.- Contiene el directorio y el nombre del archivo local
- FILETYPE.- Contiene el tipo o extensión del archivo local.
Los tipos admitidos son:
- BIN.- Para archivos binarios
- ASC.- Para archivos ASCII
- DAT.- Para archivos excel. Las columnas son separadas
utilizando tabs
- WK1.- Para archivos excel y de lotus.
- HAS_FIELD_SEPARATOR.- Indica que el archivo local tiene separadores.
- DATA_TAB.- Es la tabla interna donde almacenaremos los datos del archivo local.
En este método están definidas excepciones con descripciones que contemplan cada uno de los errores que se pueden producir al ejecutar el método.
"En algunos programas ABAP, podemos ver que se utilizan las funciones WS_UPLOAD y UPLOAD, no es recomendable debido a que actualmente son considerados objetos obsoletos por SAP"
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta