🚀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

Tratamiento de archivos locales

ABAP nos pemite usar métodos predefinidos para hacer el tratamiento de archivos locales. Podemos usar la clase CL_GUI_FRONTEND_SERVICES.

  • Para observar los métodos de una clase podemos hacerlo de dos formas diferentes.
  • 1. En el editor de código le damos Pattern (modelo) y luego seleccionamos ABAP Object Pattern y le damos Clase/Interface y colocamos CL_GUI_FRONTEND_SERVICES, finalmente le damos en método y en la ayuda de búsqueda seleccionamos para que nos de todos los métodos que tiene esa clase.
  • 2. Podemos ver los métodos usando la tcode SE24.

Algunos de los métodos que tenemos son:

  • FILE_OPEN_DIALOG: para mostrar la 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 la PC.
  • GUI_UPLOAD: para bajar datos de los archivos de la PC a nuestros programas.

FILE_OPEN_DIALOG:

En este método tenemos tres parámetros más importantes que son:

1. WINDOW_TITLE: Asinga un nombre a la ventana de búsqueda.

2. DEFAULT_FILENAME: Contiene el nombre del archivo que deseamos buscar en nuestra PC.

3. FILE_TABLE: Contiene la ruta y el nombre del archivo seleccionado.

LECTURA DE DATOS DE LOS ARCHIVOS LOCALES

Para leer datos de los archivos locales en las tablas internas de nuestros programas, utilziaremos el método GUI_UPLOAD.

En el métod GUI_UPLOAD, tenemos dos parámetros importantes que son:

1. FILENAME: Contiene el directorio y nombre del archivo local con el que estamos trabajando.

2. HAS_FIELD_SEPARATOR: Indica que el archivo local tiene separadores.

3. DATA_TAB: es la tabla interna donde almacenaremos los datos del archivo local.

4. FILETYPE: contiene el tipo o extensión del archivo local. Los tipos admitidos son:

  • BIN: para archivos binarios.
  • ASC: para achivos ASCII.
  • DAT: para archivos excel. Las columnas son separadas utilizando tabs. Las líneas son separadas con saltos de línea.
  • WK1: para archivos excel y de lotus.

EJERCICIO

Leer la información de los usuarios y posteriormente grabarla en la base de datos. Para ello tendrá que verificar que el estado_civil del usuario sea el correcto. En caso de no ser el indicado por el dominio entonces debemos de detener el programa y no grabar nada.

SOLUCIÓN

*&---------------------------------------------------------------------*

*& Report ZUPLOAD_DATOS

*&---------------------------------------------------------------------*

*&

*&---------------------------------------------------------------------*

REPORT zupload_datos.

PARAMETERS: p_path LIKE rlgrap-filename.

*DATA: BEGIN OF ti_usuarios OCCURS 0,

* dni LIKE ztabla_usuarios-dni,

* nombre_ape LIKE ztabla_usuarios-nombre_ape,

* estado_usu LIKE ztabla_usuarios-estado_usu,

* direccion LIKE ztabla_usuarios-direccion,

* codigo_postal LIKE ztabla_usuarios-codigo_postal,

* f_nacimiento LIKE ztabla_usuarios-fecha_nac,

* estado_civil LIKE ztabla_usuarios-estado_civil,

* END OF ti_usuarios.

DATA: dni LIKE ztabla_usuarios-dni,

nombre_ape LIKE ztabla_usuarios-nombre_ape,

estado_usu LIKE ztabla_usuarios-estado_usu,

direccion LIKE ztabla_usuarios-direccion,

codigo_postal LIKE ztabla_usuarios-codigo_postal,

fecha_nac LIKE ztabla_usuarios-fecha_nac,

estado_civil LIKE ztabla_usuarios-estado_civil.

DATA: ti_usuarios LIKE ztabla_usuarios OCCURS 0 WITH HEADER LINE.

DATA: wa_user LIKE LINE OF ti_usuarios.

DATA: tmp_table TYPE TABLE OF string,

linea TYPE string.

DATA: domain TYPE string VALUE 'ZZ_ESTADO_CIVIL'.

DATA: ti_estado_civil TYPE TABLE OF ztabla_usuarios-estado_civil.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.

* Este evento nos permite que cuando seleccionamos el textview se habilite

* un icono que nos pemritira seleccionar el archivo.

PERFORM abrir_dialogo.

START-OF-SELECTION.

PERFORM obtener_dominio USING domain.

PERFORM hacer_upload.

PERFORM llenar_tabla TABLES tmp_table.

PERFORM cargar_base_datos TABLES ti_usuarios.

FORM abrir_dialogo.

DATA: tl_filetable TYPE filetable,

stl_file_table TYPE file_table,

vl_rc TYPE i.

CALL METHOD cl_gui_frontend_services=>file_open_dialog

EXPORTING

window_title = 'Abrir archivo'

* default_extension =

default_filename = '*'

* file_filter = '.doc'

* with_encoding =

* initial_directory =

* multiselection =

CHANGING

file_table = tl_filetable

rc = vl_rc

* user_action =

* file_encoding =

EXCEPTIONS

file_open_dialog_failed = 1

cntl_error = 2

error_no_gui = 3

not_supported_by_gui = 4

OTHERS = 5.

READ TABLE tl_filetable INDEX 1 INTO stl_file_table. "Almacena la ruta

IF sy-subrc <> 0.

* Implement suitable error handling here

ELSE.

MOVE stl_file_table TO p_path.

ENDIF.

ENDFORM.

FORM hacer_upload.

DATA: vl_file TYPE string.

IF p_path IS INITIAL.

MESSAGE e000(demo) WITH 'No hay ruta'.

ELSE.

MOVE p_path TO vl_file.

CALL METHOD cl_gui_frontend_services=>gui_upload

EXPORTING

filename = vl_file

filetype = 'ASC'

* has_field_separator = ';'

* header_length = 0

* read_by_line = 'X'

* dat_mode = SPACE

* codepage = SPACE

* ignore_cerr = ABAP_TRUE

* replacement = '#'

* virus_scan_profile =

* IMPORTING

* filelength =

* header =

CHANGING

data_tab = tmp_table

* isscanperformed = SPACE

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

"implement suitable error handling here

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

IF tmp_table[] IS INITIAL.

MESSAGE: s000(demo) WITH 'Archivo sin datos'.

ENDIF.

ENDIF.

ENDFORM.

FORM llenar_tabla TABLES ti_users.

LOOP AT ti_users INTO linea.

SPLIT linea AT ';' INTO

dni

nombre_ape

estado_usu

direccion

codigo_postal

fecha_nac

estado_civil.

* Verificamos que efectivamente exista el estado civil de lo

* contrario se muestra un mensaje de error.

READ TABLE ti_estado_civil WITH KEY estado_civil TRANSPORTING NO FIELDS.

IF sy-subrc NE 0.

MESSAGE e000(demo) WITH 'El estado civil no es valido'.

ELSE.

ti_usuarios-dni = dni.

ti_usuarios-nombre_ape = nombre_ape.

ti_usuarios-estado_usu = estado_usu.

ti_usuarios-direccion = direccion.

ti_usuarios-codigo_postal = direccion.

ti_usuarios-fecha_nac = fecha_nac.

ti_usuarios-estado_civil = estado_civil.

APPEND ti_usuarios.

CLEAR ti_usuarios.

ENDIF.

ENDLOOP.

ENDFORM.

FORM cargar_base_datos TABLES ti_usuarios.

TRY.

INSERT ztabla_usuarios FROM TABLE ti_usuarios.

CATCH cx_sy_open_sql_db.

MESSAGE e000(demo) WITH 'error al intentar ingresar los datos a la db'.

ENDTRY.

IF sy-subrc <> 0.

MESSAGE e000(demo) WITH 'error al intentar ingresar los datos a la db'.

ELSE.

COMMIT WORK.

ENDIF.

ENDFORM.

FORM obtener_dominio USING VALUE(domain).

"https://www.erpworkbench.com/sap-dictionary/domain-values.htm

* DATA: it_dd07t TYPE STANDARD TABLE OF dd07t,

* wa_dd07t LIKE LINE OF it_dd07t.

* SELECT *

* FROM dd07t

* INTO TABLE it_dd07t

* WHERE domname EQ domain AND ddlanguage EQ sy-langu.

*

* LOOP AT it_dd07t INTO wa_dd07t.

* WRITE:/ wa_dd07t-domvalue_l.

* ENDLOOP.

SELECT domvalue_l

FROM dd07t

INTO TABLE ti_estado_civil

WHERE domname EQ domain AND ddlanguage = sy-langu.

ENDFORM.


 

 

 


Sobre el autor

Publicación académica de Juan Pablo Giron Ruiz, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Juan Pablo Giron Ruiz

Colombia - Legajo: FG66E

✒️Autor de: 21 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero electrónico con conocimientos sólidos en ciencias de la computación y magister en ciencias de ingeniería eléctrica. proactivo y amante a los retos profesionales.

Certificación Académica de Juan Giron

✒️+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 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 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

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

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

SAP SemiSenior

Archivos Locales: Upload de datos Tratamiento de archivos locales. La clase CL GUI FRONEND SERVIES. mediante esta clase ABAP nos proporciona métodos para el tratamiento de archivos locales. Metodos. FILE_OPEN_DIALOG: Para mostrar la 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 la pc. GUI_UPLOAD: Para bajar datos de los archivos de la pc a nuestros programas. Transacción SE24. Mediante esta transacción se puede ver el contenido de la clase CL_GUI_FRONEND_SERVICES. Busqueda de archivos en la PC: Para buscar archivos en la PC se utiliza el método: CL_GUI_FRONTEND_SERVICES=>FILE_OPEN DIALOG....

Acceder a esta publicación

Creado y Compartido por: Fabio Gallo

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

SAP Senior

1. Tratamiento de archivos locales. MODELO>Patron p.objetos ABAP>Clase/Interface>CL_GUI_FRONTEND_SERVICES SAP CLASS BUILDER: SE24 2. Busqueda de archivos en la PC FILE_OPEN_DIALOG 3. Lectura de datos de los archivos locales GUI_UPLOAD

Acceder a esta publicación

Creado y Compartido por: Calixto Saldarriaga

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

SAP Senior

TRATAMIENTO DE ARCHIVOS LOCALES Clase CL GUI FRONTEND SERVICES(Metodo estandar de SAP que se utiliza para descargar archivos locales) 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 datos 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. BUSQUEDA DE ARCHIVOS EN LA PC. Para buscar archivos locales en el directorio de nuestra PC, utilizaremos el metodo CL_GUI_FRONTEND_SERVICES =.>FILE_OPEN_DIALOG(Metodo estandar de SAP que...

Acceder a esta publicación

Creado y Compartido por: Marco Antonio Vazquez Gonzalez

*** 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 el pc mediante la transaccion CL_GUI_FRONTEND_SERVICES

Acceder a esta publicación

Creado y Compartido por: Melissa Rodriguez Dominguez

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

SAP Senior

- Archivos Locales: Upload de datos - Tratamientos de archivos locales Clase CL_GUI_FRONTEND_SERVICES: Proporciona una serie de métodos útiles para el tratamiento de archivos locales ubicados en nuestra PC. Para visualizar todos los métodos disponibles en la clase, editamos un programa ABAP y presionamos el botón Modelo (Pattern). Aquí marcamos la opción Patrón p.Objetos ABAP y presionamos continuar. En la siguiente pantalla escribimos CL_GUI_FRONTEND_SERVICES en el campo Clase/Interface. Presionamos F4 en Método y veremos una pantalla con todos los métodos de la clase. Algunos métodos son: FILE_OPEN_DIALOG: Para mostrar la pantalla de navegación que permita al...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

 


 

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