🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los archivos locales y el upload de datos

ABAP Los archivos locales y el upload de datos

ABAP Los archivos locales y el upload de datos

Handling Local Files

ABAP provides a set of highly useful methods for handling local files located on our PC through the CL_GUI_FRONTEND_SERVICES class.

  • To view all available methods in the class, edit an ABAP program and press the Pattern(Model) button.
  • Select the ABAP Object Patterns option and press continue.
  • On the next screen, enter the class CL_GUI_FRONTEND_SERVICES.
  • Press F4 on Method, and you'll see a screen with all the class methods.

We will explore the following methods in detail:

  • FILE_OPEN_DIALOG: Displays the navigation screen allowing the user to select a file from their PC directory.
  • GUI_DOWNLOAD: Downloads data from programs to files on the PC.
  • GUI_UPLOAD: Uploads data from PC files to our programs.

Another way to view the content of the CL_GUI_FRONTEND_SERVICES class is by entering the Class Builder, which is the SE24 transaction.

Searching for Files on the PC

To search for local files in our PC directory, we will use the FILE_OPEN_DIALOG method.

*--------------------------------------------------------------------*
* Selection Screen
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK z2 WITH FRAME TITLE TEXT-007.
* Input File Parameter
PARAMETERS: p_path LIKE rlgrap-filename.

SELECTION-SCREEN END OF BLOCK z2.

*--------------------------------------------------------------------*
START-OF-SELECTION.
*--------------------------------------------------------------------*
* Open File Window
PERFORM open_file_window.

*&---------------------------------------------------------------------*
*& Form OPEN_FILE_WINDOW
*&---------------------------------------------------------------------*
* This form opens a dialog window for selecting files.
*----------------------------------------------------------------------*
FORM open_file_window.

DATA: tl_filetable TYPE filetable,
wl_file_table TYPE file_table,
vl_rc TYPE i.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Test Window Title'
default_filename = '*'
CHANGING
rc = vl_rc
file_table = tl_filetable.

READ TABLE tl_filetable INDEX 1 INTO wl_file_table.

IF sy-subrc EQ 0.
MOVE wl_file_table TO p_path.
ENDIF.
ENDFORM. " OPEN_FILE_WINDOW"

Key parameters of the method:

  • WINDOW_TITLE: Assigns a title to the search window.
  • DEFAULT_FILENAME: Contains the name of the file we are looking for on our PC. Using an asterisk allows us to see all files in the directories.
  • FILE_TABLE: Contains the path and name of the selected file.

Like functions, the FILE_OPEN_DIALOG method has defined exceptions, each associated with a description covering possible errors that may occur when executing the method.

It is advisable to use the FILE_OPEN_DIALOG method in ABAP programs dealing with local files, as it significantly facilitates interaction between the user and the program, preventing data typing errors.

Reading Data from Local Files

To read data from local files into the internal tables of our programs, we will use the GUI_UPLOAD method.

The double brackets used on the right of the internal table name lifted using the upload method are a requirement of the method and simply fulfill a syntax requirement of the method.

*----------------------------------------------------------------------*
* Data Declaration
*----------------------------------------------------------------------*
* User Table
DATA: BEGIN OF ti_file OCCURS 0,
dni(8) TYPE c, " DNI
fullname(35) TYPE c, " Fullname
status(1) TYPE c, " Status
birthdate(8) TYPE c, " Date of Birth
END OF ti_file.

DATA: wa_file LIKE LINE OF ti_file.

*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
*--------------------------------------------------------------------*
* Open File Window
PERFORM open_file_window.

*&---------------------------------------------------------------------*
*& Form UPLOAD_INPUT_FILE
*&---------------------------------------------------------------------*
* This form processes the input file.
*----------------------------------------------------------------------*
FORM upload_input_file.

DATA: vl_file TYPE string.

IF p_path IS INITIAL.
* The file path is blank
MESSAGE s000(z_prueba) WITH TEXT-003.
ELSE.

vl_file = p_path.

* Open the input file for reading
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = vl_file
filetype = 'ASC'
has_field_separator = ''
CHANGING
data_tab = ti_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.
* Error uploading the input file
MESSAGE e000(z_prueba) WITH TEXT-004.
ENDIF.

IF ti_file[] IS INITIAL.
* The input file does not contain records
MESSAGE s000(z_prueba) WITH TEXT-005.
ENDIF.

ENDIF.

ENDFORM. " UPLOAD_INPUT_FILE"

Key parameters of the method:

  • FILENAME: Contains the directory and name of the local file we are working with.
  • FILETYPE: Contains the type or extension of the local file. Supported types include BIN for binary files, ASC for ASCII files, DAT for Excel files (columns separated by tabs, lines separated by line breaks), and WK1 for Excel and Lotus files.

Note that to upload an Excel file from our PC, the file should not have the .xls extension. Instead, modify the extension to .csv for proper reading by the upload function.

  • HAS_FIELD_SEPARATOR: Indicates that the local file has separators.
  • DATA_TAB: The internal table where we store the data from the local file.

This method has defined exceptions with descriptions covering possible errors that may occur when executing the method. In some ABAP programs, functions like WS_UPLOAD and UPLOAD are used. However, it is not advisable to use these functions as they are currently considered obsolete by SAP.

E.g

TestFile:

21567432A23071990Jaime Gomez

31987623I15061988Jorge Gomez

27982134A02121996Angelica Ramirez

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_21
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_21.

*----------------------------------------------------------------------*
* Data Declaration
*----------------------------------------------------------------------*
* User Table
DATA: BEGIN OF ti_file OCCURS 0,
dni(8) TYPE c, " DNI
status(1) TYPE c, " Status
birthdate(8) TYPE c, " Date of Birth
fullname(35) TYPE c, " Fullname
END OF ti_file.

DATA: wa_file LIKE LINE OF ti_file.

*--------------------------------------------------------------------*
* Selection Screen
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK z2 WITH FRAME TITLE TEXT-007.
* Input File Parameter
PARAMETERS: p_path LIKE rlgrap-filename.

SELECTION-SCREEN END OF BLOCK z2.

*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
*--------------------------------------------------------------------*
* Call open window
PERFORM open_file_window.

*--------------------------------------------------------------------*
START-OF-SELECTION.
*--------------------------------------------------------------------*
* Upload input data
PERFORM upload_input_file.

*&---------------------------------------------------------------------*
*& Form OPEN_FILE_WINDOW
*&---------------------------------------------------------------------*
* This form opens a dialog window for selecting files.
*----------------------------------------------------------------------*
FORM open_file_window.
DATA: tl_filetable TYPE filetable,
wl_file_table TYPE file_table,
vl_rc TYPE i.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Test Window Title'
default_filename = '*'
CHANGING
rc = vl_rc
file_table = tl_filetable.

READ TABLE tl_filetable INDEX 1 INTO wl_file_table.

IF sy-subrc EQ 0.
MOVE wl_file_table TO p_path.
ENDIF.
ENDFORM. " OPEN_FILE_WINDOW"

*&---------------------------------------------------------------------*
*& Form UPLOAD_INPUT_FILE
*&---------------------------------------------------------------------*
* This form processes the input file.
*----------------------------------------------------------------------*
FORM upload_input_file.

DATA: vl_file TYPE string.

IF p_path IS INITIAL.
* The file path is blank
MESSAGE s000(z_prueba) WITH TEXT-003.
ELSE.

vl_file = p_path.

* Open the input file for reading
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = vl_file
filetype = 'ASC'
has_field_separator = ''
CHANGING
data_tab = ti_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.
* Error uploading the input file
MESSAGE e000(z_test) WITH TEXT-004.
ENDIF.

IF ti_file[] IS INITIAL.
* The input file does not contain records
MESSAGE s000(z_test) WITH TEXT-005.
ELSE.
LOOP AT ti_file INTO DATA(wa_file_record).
WRITE:/ 'DNI:', wa_file_record-dni, ' ',
'FullName:', wa_file_record-fullname, ' ',
'Status:', wa_file_record-status, ' '.
ULINE.
ENDLOOP.
ENDIF.

ENDIF.
ENDFORM. " UPLOAD_INPUT_FILE"


 

 

 


Sobre el autor

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

SAP Master

Jaime Eduardo Gomez Arango

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

✒️Autor de: 99 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

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 upload de datos" de la mano de nuestros alumnos.

SAP Senior

Archivos locales: Upload de datos. CL_GUI_FRONTEND_SERVICES: Método estándar de SAP que se utiliza para descargar archivos locales. Métodos:Son procedimientos internos de una clase que definen el comportamiento de un objeto. Los siguientes métodos: File_open_dialog. Gui_dowload. Gui_upload. Búsqueda de archivos en la PC. Para buscar archivos locales en el directorio de nuestra PC, utilizaremos el método. CL_GUI_FRONTEND_SERVICE =>FILE_OPEN_DIALOG. Los parámetros mas importantes del método son: Window_title. Default_filename. File_table. Lectura de los archivos locales. CL_GUI_FRONTED_SERVICE=>GUI_UPLOAD: Método estándar de SAP que se utiliza para...

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

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

SAP Expert


Archivos locales: Upload de datos Abap nos da una serie de métodos útiles que se encuentran en la clase CL_GUI_FRONTEND_SERVICES (podemos ver todos sus métodos a través de la transacción SE24 ) Para buscar archivos locales en el directorio de nuestra PC, usamos el método FILE_OPEN_DIALOG. Para leer datos de archivos locales en las tablas internas de nuestros programas usaremos el método GUI_UPLOAD. Las funciones WS_UPLOAD y UPPLOAD nos son recomendables porque ya son consideradas obsoletas.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP Master

ARCHIVOS LOCALES: UPLOAD DE DATOS. Abap 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, el cual es un metodo estandar de SAP que se utiliza para descargar archivos locales. Para visualizar todos los metodos disponibles en la clase, editamos un programa ABAP y presionamos el botón modelo. Marcamos la opción patrón p.Objetos y continuar, en la opción clase/interfaz escribimos CL_GUI_FRONTEND_SERVICES y luego F4 y vemos una pantalla con todos los metodos de la clase. Otra forma es a través del CLASS BUILDER en la transacción SE24. Busqueda de Archivos: CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG....

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

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

SAP Senior

TRATAMIENTO DE ARCHIVOS LOCALES Abap nos proporciona una serie de metodos muy utiles para el tratamiento de archivos locales ubicados en nuestra PC mediante la clase CL-GU-FRONTEND-SERVICES. en detalle los siguientes metodos: FILE-OPEN-DIALOG: para mostrar la pantalla de navegacion que permita al usurio poder seleccionar el archivos del directorio de su PC. GUI-DOWNLOAD: para descargar datos de los programas a a archivos en la PC. GUI-UPLOAD: para bajar datos de los archivos de la PC a nuestros programas. CON LA TRANSACCION SE24 PODEMOS VISUALIZAR EL CONTENIDO DE LA CLASE CL-GUI-FRONTEND-SERVICES. BUSQUEDA DE ARCHIVOS EN LA PC Para buscar archivos en el directorio de nuestra PC, usaremos el metodo FILE-OPEN-DIALOG. Los parametros mas importantes...

Acceder a esta publicación

Creado y Compartido por: Bruno Edgardo Gallinoto / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master


TRATAMIENTO DE ARCHIVOS LOCALES - Mediante la clase: CL CUI FRONTEND SERVICES => GUI UPLOAD - Para visualizar todos los métodos disponibles en esta clase: Edición programa ABAP -> botón Modelo (Pattern) -> marcar opción Patrón p.objetos ABAP -> F4 en método Métodos: FILE_OPEN_DIALOG: para mostrar 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 el PC GUI_UPLOAD: para bajar datos de los archivos del PC a nuestros programas SE24: Class Builder, otra forma de visualizar el contenido de la clase CL_GUI_FRONTEND_SERVICES BUSQUEDA DE ARCHIVOS EN EL PC - Para la búsqueda...

Acceder a esta publicación

Creado y Compartido por: Lluís Culí Duran

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

SAP Senior

1- Tratamiento de archivos locales Métodos: - FILE_OPEN_DIALOG - GUI_DOWNLOAD -GUI_UPLOAD 2- Busqueda de archivos en la PC Utilizando el método FILE_OPEN_DIALOG: los parámetros mas importantes del método son: -SINDOW_TITLE -DEFAULT_FILENAME -FILE_TABLE Recomendable: la utilización del método FILE_OPEN_DIALOG en programas ABAP que trabajan con archivos locales, facilitando la interacción entre usuario y programa, evitando errores de tipeo. 3- Lectura de datos de los archivos locales Audio Tips 1: Los doble 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...

Acceder a esta publicación

Creado y Compartido por: Claudio Marcelo Dario Haikel

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

SAP Senior

Unidad 6 - Lección: Archivos locales: Upload de datos FILETYPE: contiene el tipo o extensión del archivo local, Para utilizar archivos de excel, hay que guardarlos en el formato CSV.

Acceder a esta publicación

Creado y Compartido por: Matias Ciutat

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

SAP Senior

Tratamiento de archivos y Field Symbols 1 Archivos Locales: upload de Datos CL_GUI_FRONTEND_SERVICES es una clase con una serie de metodos que nos permite el tratamiento de archivos locales (metodo=se ejecutan como funciones). Para visualizar los metodos editamos un programa ABAP y presionamos el boton Modelo(PATTERN) y marcamos la opcion patron p.objetos ABAP(ABAP Object Patterns) y presionamos continuar. En la siguiente pantalla escribimos el nombre de la clase CL_GUI_FRONTEND_SERVICES, nos paramos en Método y presionamos F4. FILE_OPEN_DIALOG para examinar los archivos de la Pc y seleccionar un archivo. GUI_DOWNLOAD para desacargar datos de los programas a archivos en la PC. GUI_UPLOAD para bajar datos de los archivos de...

Acceder a esta publicación

Creado y Compartido por: Silvia Marina Carrizo

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

SAP Master

TRATAMIENTO DE ARCHIVOS LOCALES A traves de la trx SE24 correspondiente al generador de clases se puede crear visualizar y modificar todas las clases Z del sistema SAP, y tambien vamos a poder visualizar las clases estandar de SAP como es el caso de CL_GUI_FRONTEND_SERVICES BUSQUEDA DE ARCHIVOS EN LA PC Es recomendable la utilizacion del metodo FIL_OPEN_DIALOG, en los rogramas ABAP que traban con archivos locales, ya que facilita ampliamente la interaccion entre el usuario y el programa y evita errores de tipeo de datos. LOS TIPOS ADMITIDOS SON: BIN para archivos binarios ASC para acrhivos ASCII DAT para archivos excel. las columnas son separadas utilizando TABS. Las lineas son separadas con saltos de linea. Si deseamos levantar un archivo...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

UNIDAD 6: TRATAMIENTO DE ARCHIVOS Y FIELD SYMBOLS. 1 - Tratamiento de archivos locales. Para trabajar con archivos locales, ubicados en nuestra PC, utilizamos la clase CL_GUI_FRONTEND_SERVICES. Clase: Las clases son objetos ABAP que permiten agrupar las características referidas a las estrategias de liberación, para luego ser asignadas a los grupos de liberación. Transacción SE24: Para ver el contenido de las clases ABAP. Método: Es un procedimiento interno de una clase que define el comportamiento de un objeto. Los métodos de la clase CL_GUI_FRONTEND_SERVICES que veremos son: FILE_OPEN_DIALOG: Para mostrar la pantalla de navegación que permita al usuario poder seleccionar el archivo del...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!