✒️ABAP / Los archivos locales y el download de datos Por Jaime Gomez Arango

ABAP Los archivos locales y el download de datos

ABAP Los archivos locales y el download de datos

Data Recording in Local Files

To store data from internal tables in our programs into files located on the PC, we will utilize the GUI_DOWNLOAD method. Let's examine some of the parameters of the method:

  • FILENAME: contains the directory and name of the file to be downloaded to the PC.
  • FILETYPE: contains the type or extension of the file being downloaded to the PC. The supported types or extensions are:
    • BIN: for binary files. Specify the file's length in the BIN_FILESIZE parameter. The internal table used must have a single field of type X.

    • ASC: for ASCII files.

    • DAT: for Excel files. Columns are separated using tabs, and lines are separated with line breaks.

    • WK1: for Excel and Lotus files.

  • WRITE_FIELD_SEPARATOR: indicates whether a file separator will be generated and, if so, what it will be.
  • DATA_TAB: stores the file's content. This table must have the same structure as the file.

This method also defines exceptions with descriptions covering each possible error during method execution. Upon code execution, a message will confirm the successful data transfer and specify the transferred byte count.

In some ABAP programs, DOWNLOAD and WS_DOWNLOAD functions may be observed. However, it is not recommended to use these functions as they are currently considered obsolete by SAP.

  • In the dialog window that appears, select the 'Pattern for ABAP Objects' option if you want to generate the structure of a class method or the 'CALL FUNCTION' option if you want to generate the structure of a function method.

  • If you wish to generate the structure of a method from the CALL_GUI_FRONTEND_SERVICES class, after selecting 'Pattern for ABAP Objects' press continue. Then, while keeping the 'METHOD CALL' option selected, insert the name of the CALL_GUI_FRONTEND_SERVICES class into the 'Class Interface' field. Press F4 to search for the needed method within the method structure field.

E.g

Input_file

21567432A23071990Jaime Gomez

31987623I15061988Jorge Gomez

27982134A02121996Angelica Ramirez

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_22
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_22.

*--------------------------------------------------------------------*
* Data Declaration
*--------------------------------------------------------------------*
TYPES: BEGIN OF s_country_file,
country_name(20) TYPE c, "Country
country_language(20) TYPE c, "Language
END OF s_country_file.

DATA: gt_country_file TYPE STANDARD TABLE OF s_country_file,
gs_country_file LIKE LINE OF gt_country_file.

*--------------------------------------------------------------------*
* SCREEN SELECTION
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK z1 WITH FRAME TITLE TEXT-001.
*Input file
PARAMETERS: p_path LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK z1.

*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
*--------------------------------------------------------------------*
* Open the file selection window
PERFORM open_file_selection_window.

*--------------------------------------------------------------------*
START-OF-SELECTION.
*--------------------------------------------------------------------*
* Load the input file
PERFORM load_input_file.

* Save the output file
PERFORM save_output_file.

*&---------------------------------------------------------------------*
*& Form OPEN_FILE_SELECTION_WINDOW
*&---------------------------------------------------------------------*
* Open the file selection window and update the input path
*--------------------------------------------------------------------*
FORM open_file_selection_window.

DATA: lt_filetable TYPE filetable,
lw_file_table TYPE file_table,
lv_rc TYPE i.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = '*'
CHANGING
rc = lv_rc
file_table = lt_filetable.

READ TABLE lt_filetable INDEX 1 INTO lw_file_table.

IF sy-subrc EQ 0.
MOVE lw_file_table TO p_path.
ENDIF.

ENDFORM. " OPEN_FILE_SELECTION_WINDOW
*&---------------------------------------------------------------------*
*& Form LOAD_INPUT_FILE
*&---------------------------------------------------------------------*
* Load the input file data from the specified path
*--------------------------------------------------------------------*
FORM load_input_file.

DATA: lv_file TYPE string.

IF p_path IS INITIAL.
MESSAGE s000(z_prueba) WITH TEXT-003.
ELSE.

lv_file = p_path.

* Open the input file for reading
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = lv_file
filetype = 'ASC'
has_field_separator = ''
CHANGING
data_tab = gt_country_file[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.

IF sy-subrc NE 0.
MESSAGE e000(z_prueba) WITH TEXT-004.
ENDIF.

IF gt_country_file[] IS INITIAL.
MESSAGE s000(z_prueba) WITH TEXT-005.
ENDIF.

ENDIF.

ENDFORM. " LOAD_INPUT_FILE
*&---------------------------------------------------------------------*
*& Form SAVE_OUTPUT_FILE
*&---------------------------------------------------------------------*
* Save the data to the local file using the specified path
*--------------------------------------------------------------------*
FORM save_output_file.

* Save the data to the local file
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = 'C:UsersgatomDownloadsTestFolderoutput_file.txt'
filetype = 'ASC'
CHANGING
data_tab = gt_country_file[]
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 NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM. " SAVE_OUTPUT_FILE


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para el Curso ABAP.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los archivos locales y el download de datos" de la mano de nuestros alumnos.

SAP Expert


El proceso de "Los archivos locales y el download de datos" en la programación ABAP se refiere a la funcionalidad para grabar datos que se encuentran en las tablas internas de los programas ABAP en archivos ubicados en la computadora personal del usuario (PC),. Herramienta Principal: GUI_DOWNLOAD La funcionalidad clave para realizar esta tarea es el método GUI_DOWNLOAD, el cual forma parte de la clase CL_GUI_FRONTEND_SERVICES,. Este método se utiliza específicamente para descargar datos desde la memoria del programa ABAP hacia los archivos de la PC. Parámetros y Uso de GUI_DOWNLOAD: FILENAME: Este parámetro crucial contiene tanto el directorio como el nombre del archivo que se va a descargar...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Los archivos locales y el download de datos. Grabación de datos en archivos locales Se explicó cómo grabar datos de tablas internas ABAP en archivos locales utilizando el método Guidownload de la clase ClGifFontenServices. Desglose de parámetros importantes del método Guidownload: filename (directorio y nombre del archivo de salida), filetype (tipo/extensión del archivo: bin, asc, dat, WK1), writefieldseparator (inclusión de separador) y datatab (tabla interna con la estructura del archivo). Se aclaró que ciertos tipos de archivos (bin) requieren especificar tamaño y una estructura particular de tabla interna. Las funciones Download y WSDownload fueron mencionadas...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Conceptos Clave: · Método para escribir datos: GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES. · Transfiere datos desde una tabla interna ABAP a un archivo local. · Parámetros clave: · FILENAME: Ruta y nombre del archivo de destino. · FILETYPE: Tipo de archivo (ej: 'ASC'). · DATA_TAB: Tabla interna con los datos a exportar. · Obsoletos: Evitar los módulos DOWNLOAD y WS_DOWNLOAD. Flujo de trabajo típico: 1. Procesar datos y llenar una tabla interna. 2. Llamar a GUI_DOWNLOAD, pasando la tabla interna y la ruta del archivo donde se guardarán los datos. 3. El sistema solicitará permiso al usuario para crear el archivo.

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Aprende a exportar datos desde SAP a archivos locales (txt, Excel, etc.) usando el método GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES. 1 Método GUI_DOWNLOAD: Parámetros Clave Sintaxis básica: Parámetros esenciales: Parámetro Valores comunes Función filename Ruta completa Ubicación y nombre del archivo (ej: C:Tempusuarios_salida.xls). filetype ASC (txt), DAT (Excel), BIN (binario), WK1 (Lotus) Define el formato de salida. ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


1 La grabación de datos en archivos locales Este proceso es fundamental cuando se requiere conservar información generada por un programa, generar reportes externos o permitir su análisis posterior fuera del sistema SAP. Para ello, se utiliza el método GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES, la cual pertenece al enfoque de programación orientada a objetos en ABAP. Uso del método GUI_DOWNLOAD El método GUI_DOWNLOAD permite grabar el contenido de una tabla interna en un archivo local en el equipo del usuario, y admite distintos formatos. Su correcto uso implica definir adecuadamente varios parámetros, entre ellos: FILENAME: Ruta y nombre del archivo donde se grabarán...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



¿Qué se entiende por archivos locales en SAP? En SAP, un archivo local es cualquier archivo almacenado en el sistema de archivos del usuario (es decir, su computador personal), no en el servidor SAP. Las interacciones con archivos locales en SAP generalmente incluyen: Descargar reportes o listados de datos. Exportar resultados de consultas. Guardar archivos generados desde programas ABAP. Leer archivos desde el computador del usuario para cargarlos a SAP. El manejo de archivos locales y la descarga de datos en SAP es una capacidad fundamental para usuarios, consultores y desarrolladores. Ya sea mediante reportes ALV, programas ABAP personalizados o interfaces modernas...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Grabacion de datos en archivos locales Para grabar datos de una tabla interna de un programa en archivos locales de la PC, se utiliza el metodo GUI_DOWNLOAD. Algunos parametros del metodo son: FILENAME: contiene directorio y nombre del archivo a descargar a la PC. FILETYPE: contiene el tipo o extension del archivo que descargarmos a la PC. Los tipos admitidos son: BIN(archivos binarios), ASC(archivos ASCII), DAT(archivos Excel, columnas separadas con tabs y lineas con saltos), WK1(excel y lotus). WRITE_FIELD_SEPARATOR: indica si se genera un separadador o no y cual es. DATA_TAB: se almacena el contenido del archivo, esta tabla interna debe tener la misma estructura del archivo. En el metodo estan definidas las excepciones...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


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...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

La grtabación de datos enarchivos locales: Para grabarlos datos existentes en la tabla interna de nuestro programa ABAP en archivos locales ubicados en la PC, utilizamos el método GUI_DOWNLOAD perteneciente a lña clase CL_GUI_FRONTEND_SERVICES. Analicemos 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 extención del archivo que descargamos a la PC. Los tipos o extenciones admitidas son las siguientes: BIN: para archivos binarios. Se debe especificar la longitud del archivo en el parámetro BIN_FILESIZE. La tabla interna que se utiliza debe tener un solo campo del tipo X....

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

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. Analicemos algunos de los parámetros del método GUI_DOWNLOAD donde se encuentran definidas excepciones con descripciones que contemplan cada uno de los errores que se pueden producir al ejecutar el método: - 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. Los tipos o extensiones admitidas son las siguientes: BIN, ASC, DAT, WK1. - WRITE_FIELD_SEPARATOR:...

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!