✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
Apuntes ING Ezequiel Hurtado Benitez
Tratamiento de archivos locales. Para visualizar todos los métodos en la clase CL_GUI_FRONTEND_SERVICES, editamos un programa ABAP y hacemos clic en el botón Modelo de la barra de herramientas de la transacción SE38. Aquí marcamos la opción Patrón p.objetos ABAP y hacemos clic en el botón Continuar. En la siguiente pantalla escribimos en Clase/Interface el nombre de la clase que es CL_GUI_FRONTEND_SERVICES. Y luego en el campo Método hacemos clic en el matchcode del campo o presionamos la tecla F4 y veremos una ventana de diálogo donde podemos visualizar todos los métodos de la clase CL_GUI_FRONTEND_SERVICES. De todos los métodos que la clase CL_GUI_FRONTEND_SERVICE tiene disponibles veremos en detalle los siguientes: FILE_OPEN_DIALOGO, Para mostrar la pantalla de navegación que permite al usuario poder seleccionar un archivo del directorio de su PC; GUI_DOWNLOAD, para descargar datos de los programas ABAP que se encuentran en memoria a los archivos en el PC; GUI_UPLOAD, para subir datos de los archivos de la PC a la memoria de modo de poder utilizarlos en los programas ABAP.
Ahora bien, otra forma de visualizar el contenido de la clase CL_GUI_FRONTEND_SERVICE es ingresando directamente al Generador de clases correspondiente a la transacción estándar SE24. Y dentro de la pestaña Métodos vamos a encontrar todos los métodos disponibles de la clase CL_GUI_FRONTEND_SERVICES.
Búsqueda de archivos en el PC. Utilizamos el método FILE_OPEN_DIALOG perteneciente a la clase CL_GUI_FRONTEND_SERVICE. Veamos un ejemplo, dentro de la pantalla de selección el parámetro P_PATH el cual va a almacenar el directorio y nombre del archivo local de entrada. Luego dentro del evento AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path vamos a declarar la subrutina ABRIR_VENTANA_ARCHIVOS. Y dentro de la subrutina ABRIR_VENTANA_ARCHIVOS vamos a ejecutar el método FILE_OPEN_DIALOG de la clase CL_GUI_FRONTEND_SERVICES. Analicemos los parámetros mas importantes del método FILE_OPEN_DIALOG: WINDOW_TITLE, asigna un título a la ventana de búsqueda; DEFAULT_FILENAME, contiene el nombre del archivo que buscamos en nuestro PC, si colocamos el literal asterisco podremos ver todos los archivos que se encuentran en los directorios; FILE_TABLE, contiene la ruta y nombres de archivos seleccionados.
Al igual que los módulos de funciones, el método FILE_OPEN_DIALOGO tienen definidas excepciones. Cada excepción tiene asociada una descripción que contempla cada uno de los errores posibles que pueden ocurrir al ejecutar dicho método. Si ejecutamos el programa ZTEST_ARCHIVOS_LOCALES entonces veremos una pantalla de selección y al hacer clic en el matchcode del campo de entrada, veremos la ventana de dialogo que se genera por la ejecución del método FILE_OPEN_DIALOG, en esta ventana de diálogo podemos seleccionar el archivo que deseamos haciendo doble clic sobre su nombre. (Es recomendable la utilización del método FILE_OPEN_DIALOGO, en los programas 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.)
Lectura de datos de archivos locales. Para leer datos de archivos locales en las tablas internas de nuestros programas, utilizaremos el método GUI_UPLOAD perteneciente a la clase CL_GUI_FRONTEND_SERVICES. Analicemos los parámetros más importantes del método GUI_UPLOAD: FILENAME, contiene la dirección y el nombre del archivo local con el que estamos trabajando; 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, las líneas son separadas con saltos de línea; WK1, para archivos Excel y de Lotus; HAS_FIELD_SEPARATOR, indica que el archivo local tiene separadores; DATA_TAB, es la tabla interna donde almacenamos 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 utilizaran los módulos de funciones WS_UPLOAD y UPLOAD. No es recomendable la utilización de estos módulos de funciones debido a que actualmente so considerados objetos obsoletos por SAP.)
Para realizar una prueba sobre cómo funciona el método GUI_UPLOAD vamos a utilizar el archivo de entrada USUARIOS.TXT. Si ejecutamos el programa de prueba ZPRUEBA_ARCHIVOS_LOCALES con el que trabajamos a lo largo de la lección y hacemos clic en el matchcode para buscar el archivo de entrada USUARIOS.TXT. Entonces en la ventana de diálogo que se muestra a continuación seleccionamos el archivo de entrada USUARIOS.TXT haciendo doble clic sobre el. Con el directorio y el nombre del archivo de entrada completos vamos a ejecutar el programa. Al ejecutar el método GUI_UPLOAD vamos a visualizar primeramente en la pantalla una ventana de diálogo en donde el sistema nos informa que se está intentando acceder al archivo y debemos hacer clic en el botón Permitir para dar acceso. Finalmente si hacemos debugging vamos a visualizar los registros del archivo de entrada levantados en la tabla interna TI_USUARIOS.
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado