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

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