![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los archivos locales y el download de datos
ABAP Los archivos locales y el download de datos
![ABAP Los archivos locales y el download de datos ABAP Los archivos locales y el download de datos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/286.jpg)
Los archivos locales y el download de datos
La grabación de datos en archivos locales
Para grabar los datos existentes en las tablas internas de nuestros programas ABAP en archivos locales ubicados en la PC, utilizaremos el método GUI_DOWNLOAD perteneciente a la clase CL_GUI_FRONTEND_SERVICES.
Algunos de los parámetros del método GUI_DOWNLOAD:
FILENAME: contiene el directorio y el nombre del archivo a descargar a la PC
FILETYPE: contiene el tipo o extensiòn del archivo que descargamos a la PC.
Tipos o extensiones admitidas:
BIN: para archivos binarios. Debe especificarse la longitud del archivo en el paràmetro BIN_FILESIZE. La tabla interna que se utiliza debe tener un solo campo del tipo X.
ASC: para archivos ASCII
DAT: para archivos Excel. Las columnas son separadas utilizando tabs. Las lìneas son separadas con saltos de lìnea.
WRITE_FIELD_SEPARATOR: indica si se generará un separador de archivo o no y cual será.
DATA_TAB: aquí se almacena el contenido del archivo. Esta tabla interna debe tener la misma estructura del archivo.
En el método GUI_DOWNLOAD se encuentran definidas excepciones con descripciones que contemplan cada uno de los errores que se pueden producir al ejecutar el método.
Trabajaremos con un nuevo programa ABAP llamado ZTEST_DOWNLOAD, el cual levanta el archivo USUARIOS:TXT, almacenando sus registros en la tabla interna TI_USUARIOS y por último escribe los registros de la tabla interna en un archivo de salida mediante le utilización del método GUI_DOWNLOAD.
ZTEST_DOWNLOAD tiene una estructura conformada por un include y varias subrutinas.
Dentro de la subrutina ABRI_VENTANA_ARCHIVOS se ejecuta el método FILE_OPEN_DIALOG para buscar el archivo local en el directorio de la PC.
Dentro de la subrutina LEVANTAR_ARCHIVO_ENTRADA se ejecuta el método GUI_UPLOAD para levantar a la memoria los registros de datos almacenados en el archivo local de entrada.
Y dentro de la subrutina GRABAR_ARCHIVO_SALIDA se ejecuta el método GUI_DOWNLOAD para grabar en un archivo local de salida los registros de datos que se encuentran almacenados en la tabla interna TI_USUARIOS.
Vamos a ejecutar el programa ZTEST_DOWNLOAD y para ello hacemos clic en el matchcode para buscar el archivo de entrada USUARIOS:TXT:
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 ejecutamos el programa.
Al ejecutarse el método GUI_UPLOAD dentro de la subrutina ABRIR_VENTANA_ARCHIVOS 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 de entrada y debemos hacer clic en el botón Permitir para dar acceso.
Si hacemos después debugging visualizaremos los registros del archivo de entrada levantados en la tabla interna TI_USUARIOS.
Luego se ejecuta el método GUI_DOWNLOAD dentro de la subrutina GRABAR_ARCHIVO_SALIDA.
Si tratamos de grabar el archivo local de salida en un directorio de nuestra PC e n donde no tenemos permisos de escritura visualizaremos en la barra de estado de la pantalla un mensaje de error que nos informa que el acceso al archivo fue denegado.
Si lo grabamos en un directorio donde si tenemos permisos de escritura visualizaremos una ventana de diálogo donde el sistema nos informa que se está intentando crear el archivo en el directorio y hacer clic en el botón Permitir.
Después visualizamos un mensaje de éxito en la barra de estado, que nos indica que la transferencia de datos se realizó correctamente. Si chequeamos el directorio que introducimos para la generación del archivo de salida, visualizaremos el archivo generado. Al abrir el archivo de salida visualizaremos el contenido del mismo, que es el contenido del archivo de entrada que utilizamos para la ejecución del programa.
Mediante el boton Modelo que se encuentra en la barra de herramientas podemos generar las estructuras de todos los modulos de funciones y metodos pertenecientes a clases que deseamos utilizar en nuestros programas, si presionamos el boton veremos a continuacion una ventana de dialogo donde seleccionamos la opcion patron para objetos abap si deseamos generar la estructura de un metodo de una clase o la opcion CALL_FUNCTION si deseamos generar la estructura de un modulo de funciones
 
 
 
Sobre el autor
Publicación académica de Jose Medina, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Medina
Profesión: Ing. en Informatica - Venezuela - Legajo: LX87H
✒️Autor de: 71 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Presentación:
Profesional con experiencia en el ámbito del desarrollo de software, con conocimientos sólidos en diversos lenguajes de programación (para la creación de apps desktop / web / android / ios).
Certificación Académica de Jose Medina