PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 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 Expert


Jaime Eduardo Gomez Arango

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

✒️Autor de: 149 Publicaciones Académicas

🎓Cursando Actualmente: Consultor en SAP Fiori

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

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

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 Expert

Tratamiento de Archivos Locales: upload de datos 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 levantar datos de archivos locales, hasta antes de trabajar con los métodos que proporciona la clase CL_GUI_FRONTEND_SERVICES, se utilizaban los módulos de funciones ‘UPLOAD’ y ‘WS_UPLOAD’. Es importante destacar que a partir de la versión 4.7 estos módulos de función quedan obsoletos. Si bien siguen existiendo, SAP no les brinda más soporte y no garantiza que vayan a estar en futuras versiones, por lo cual sus funcionalidades deben ser implementadas...

Acceder a esta publicación

Creado y Compartido por: Francisco Javier Gomez Jimenez

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

SAP Senior

Los Archivos locales y el UPload de Datos El tratamiento de Archivos Locales 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. Los conceptos de clases y métodos son propios de la programación orientada a objetos en Abap y los veremos en detalle en el nivel avanzado de la carrera consultor Abap. Por ahora nos basta con entender que los métodos se ejecutan como si fueran módulos de funciones. De todos los métodos que la clase CL_GUI_FRONTEND_SERVICES tiene disponible veremos en detalle los siguientes métodos que son los más importantes para tratar con archivos locales: ...

Acceder a esta publicación

Creado y Compartido por: Alexander Antelo Garcia

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

SAP Master

Tratamiento de archivos locales Mediante la clase CL_GUI_FRONTEND_SERVICES, ABAP nos proporciona una serie de metodos para el tratamiento de archivos locales ubicados en nuestra pc Metodos para tratamiento de archivos. FILE_OPEN_DIALOG: se utiliza para mostrar la pantalla de navegación que permita al usuario poder seleccionar el archivo del directorio del PC GUI_DOWNLOAD: para descargar datos de los programas a archivos de PC GUI_UPLOAD: para trabajar datos de los archivos de la PC a nuestro programa. Otra forma de visualizar el contenido de la clase CL_GUI_FRONTED_SERVICES es ingresando al Class BUilder que es la transacción SE24 Parametros del metodo FILE_OPEN_DIALOG WINDOWS_TITTLE: asigna un tiluo a la ventana de busqueda...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

ARCHIVOS LOCALES: UPLOAD DE DATOS 1.- Tratamiento de archivos locales ABAP nos porporciona una serie de metodos muy utiles para el tratamiento de archivos locales ubicados en nuestra PC mediante la clase CL_GUI_FRONTEND_SERVICES. .Veamos en detalle los siguientes metodos: *FILE_OPEN_DIALOG: para mostrar la pantalla de navegacion 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 datis 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 transaccion SE24. 2.-Busqueda de archivos en la PC Para buscar archivos locales...

Acceder a esta publicación

Creado y Compartido por: Miguel Ochoa

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

SAP Master

TRATAMIENTO DE ARCHIVOS LOCALES ABAP utiliza metodos para el tratamiento de archivos locales que se ubican en nuestra PC, con la clase CL_GUI_FRONTEND_SERVICES. Para visualizar los metodos disponibles en la clase: Editamos un programa ABAP y presionamos Modelo (PATTERN) Marcar opcion Patron p.objetos ABAP (ABAP Object Patterns), CONTINUAR Escribir: CL_GUI_FRONTEND_SERVICES Presionamos F4 en Metodo (Method) veremos a detalle lo siguiente: FILE_OPEN_DIALOG: Para mostrar la pantalla de navegacion que permita seleccionar el archivo de la PC GUI_DOWNLOAD: Descargar datos de los programas a archivos en la PC GUI_UPLOAD: Bajar datos de los archivos de la PC a nuestros programas NOTA: En la transaccion SE24 (CLASS BUILDER)...

Acceder a esta publicación

Creado y Compartido por: Ixhel Magai Lopez Valencia / Disponibilidad Laboral: PartTime + Carta Presentación

 


 

👌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!