
ARCHIVOS LOCALES: UPLOAD DE DATOS
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.
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.objeto ABAP (ABAP object Patterns) y presionamos continuar. En la siguiente pantalla en el campo clase escribimos CL_GUI_FRONTEND_SERVICES y luego presionamos F4 en Método (Method) y veremos una pantalla con todos los métodos de la clase.
Veremos en detalles 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.
Otra forma de visualizar el contenido de la clase CL_GUI_FRONTEND_SERVICES es ingresando al Class Builder que es la transacción SE24.
BÚSQUEDA DE ARCHIVOS EN LA PC
Para buscar archivos locales en el directorio de nuestra pc, utilizamos el método FILE_OPEN_DIALOG.
Analicemos los parámetros más importantes del método:
· WINDOWS_TITLE: asigna un título a la ventana de búsqueda
· DEFAULT_FILENAME: contiene el nombre que buscamos en la pc. Si colocamos el literal asterisco podemos ver todos los archivos que se encuentran en el directorio.
· FILE_TABLE: contiene la ruta y nombre del archivo seleccionado.
Al igual que las funciones, el método FILE_OPEN_DIALOG tienen definas 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.
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.
LECTURA DE DATOS DE LOS ARCHIVOS LOCALES
Pare leer datos de los archivos locales en las tablas internas de nuestros programas, utilizaremos el método GUI_UPLOAD. 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 utilizarlo 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:
o BIN: para archivos binarios.
o ASC: para archivos ASCII.
o DAT: para archivos Excel. Las columnas son separadas utilizando tabs. Las línea son separadas con salto de línea
o WK1: para archivos Excel y de lotus. 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 deberemos modificar su extensión a .csv para poder ser leído por la función de UPLOAD correctamente.
· HAS_FILED_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 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.