✒️ABAP Los archivos locales y el download de datos
ABAP Los archivos locales y el download de datos
1) Grabación de datos en Archivos Locales
para grabar datos que tenemos en nuestra tabla interna de nuestro programa a Archivo ubicado en la PC se utiliza el método: CL_GUI_FRONTEND_SERVICE=>GUI_DOWNLOAD
FORM grabar_archivo_salida .
* Grabo los datos en el archivo local
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = 'C: ARCHIVO_SALIDA.TXT'
filetype = 'ASC'
CHANGING
data_tab = ti_archivo[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " GRABAR_ARCHIVO_SALIDA
Parámetros:
FILENAME: contiene el directorio y nombre del archivo a descargar en la PC
FILETYPE: contiene el tipo de extensión del archivo local
Los tipos permitidos sin
1- BIN: para archivos binarios y se debe especificar la long del archivo en al parámetro BIN_FILESIZE y la tabla interna debe tener un solo campo tipo X
2- ASC : para archivos ASCII
3- DAT: Para archivos excel, las columnas son separadas usando tabs y las lineas son separadas con salto de linea
4- WK1 - Para archivos de excel y lotus
Si queremos leer un archivo excel , se debe cambiar la extensión csv.
WRITE_FIELD_SEPARATOR: Indica que el archivo se generará con separadores
DATA_TAB: Tabla interna donde se extraerán los datos a ser bajados a la PC, debe tener la misma estructura del archivo.
Al ejecutar el Método tendremos una pantalla
que no dirá por ejemplo
267 bytes transmitted, code page 1160
NOTA: en algunos programas ABAP podemos ver Funciones que son la DOWNLOAD y la WS_DOWNLOAD. NO es recomendable su uso ya que se encuentran obsoletas por SAP.
AUDIO:
Mediante el botón modelo que se encuentra a la derecha de la barra de herramientas podemos generar las estructuras de todos los módulos de funciones y métodos pertenecientes a clases que deseamos utilizar en nuestros programas. Dando click en el botón observaremos una ventana de diálogo donde seleccionamos la opción PATRÓN PARA OBJETOS ABAP si deseamos generar la estructura de un Método de una Clase o la opción CALL FUNCTION si deseamos generar la estructura de un módulo de funciones. Ahora bien si deseamos generar la Estructura de uno de los Metodos de la Clase CL_GUI_FRONTEND_SERVICES, entonces luego de seleccionar PATRÓN PARA OBJETOS ABAP presionamos el botón Continuar. Luego manteniendo seleccionada la Opcion METODO CALL, ingresamos en Clase Interfaces, el nombre de la clase CL_GUI_FRONTEND_SERVICES y dentro del Campo de Entrada del Metodo presionamos F4, para buscar el método que estamos necesitando. Alli por ejemplo podemos seleccionar el Método FILE OPEN DIALOGUE y presionar continuar en la ventana de dialogo. Finalmente esto va a provocar que se genere el esqueleto o estructura del Metodo en el código ABAP con el que estamos trabajando. Vale la pena destacar que para que dichas estructuras o esqueletos de los módulos de funciones o métodos se generen en el código del programa debemos estar modificando el programa
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira