✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
Lección 6
Tratamiento de Archivos y Field Symbols
1 | Tratamiento de archivos locales
ABAP nos proporciona 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 conceptos de clases y métodos los veremos en detalle en el "Módulo Programador ABAP Nivel Avanzado". Por ahora, nos basta con entender que los métodos se ejecutan como si fueran funciones. Para visualizar todos los métodos disponibles en la clase, editamos un programa ABAP y presionamos el botón Modelo (Pattern).
Aquí marcamos la opción Patrón p.objetos ABAP (ABAP Object Patterns) y presionamos continuar.
En la siguiente pantalla escribimos lo siguiente:
Y luego presionamos F4 en Método (Method) y veremos la siguiente pantalla con todos los métodos de la clase:
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 datos de los programas a archivos en la PC.
- GUI_UPLOAD: para bajar datos de los archivos de la PC a nuestros programas.
IDEAS: Otra forma de visualizar el contenido de la clase CL_GUI_FRONTEND_SERVICES es ingresando al Class Builder que es la transacción SE24.
2 | Búsqueda de archivos en la PC
Para buscar archivos locales en el directorio de nuestra PC, utilizaremos el método FILE_OPEN_DIALOG. Veamos un ejemplo de su utilización
Analicemos los parámetros más importantes del método:
- 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 asterisco podremos ver todos los archivos que se encuentren 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 descripció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:
REFLEXIONES: Es recomendable la utilización del método FILE_OPEN_DIALOG, 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.
3 | 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.
AUDIO TIPS 1: Los dobles corchetes que se utilizan a la derecha del nombre de la tabla interna que se levanta utilizando el método UPLOAD es un requisito del método y tiene que ver con que de esa forma estamos indicando el contenido de la tabla interna. No hay otra razón para utilizarlos sino simplemente la de cumplir con un requisito de sintaxis del método.
Analicemos los parámetros más importantes del método:
- FILENAME: contiene el directorio y 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.
AUDIO TIPS 2: Debemos tener en cuenta que si deseamos levantar un archivo excel ubicado en nuestra pc, el archivo no debe tener la extensión .xls sino que debemos modificar su extensión a .csv para poder ser leído por la función de UPLOAD correctamente.
- 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.
IMPORTANTE: En algunos programas ABAP, podemos ver que se utilizan las funciones WS_UPLOAD y UPLOAD.
No es recomendable la utilización de estas funciones debido a que actualmente son considerados objetos obsoletos por SAP.
 
 
 
Sobre el autor
Publicación académica de Freddy Enrique Sierra Yepez, en su ámbito de estudios para la Carrera Consultor ABAP.
Freddy Enrique Sierra Yepez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: PA44Z
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Freddy Sierra