ABAP - hacer una transaccion para modificar tablas

 
Vista:

hacer una transaccion para modificar tablas

Publicado por carolina garcía (3 intervenciones) el 21/04/2009 01:59:35
hola a todos, haber si me ayudan por favor,

necesito hacer una transacción donde le de el nombre de la tabla y presente los datos y que despues pueda modificar, eliminar y agregar datos a la tabla.

lo hice para una sola tabla pero deje el resultado del select en una tabla interna creada a partir de la tabla a modificar, es ahi donde se me complica, pues necesito hacerlo para cualquier tabla.

o me pueden dara alguna idea,,,, existen funciones que me ayuden ¡
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

hacer una transaccion para modificar tablas

Publicado por Alejandro (226 intervenciones) el 13/04/2023 00:10:41
Hola Carolina.

Para crear una transacción que permita la modificación, eliminación y agregación de datos en cualquier tabla, puedes utilizar la función "REUSE_ALV_GRID_DISPLAY" para mostrar los datos de la tabla en una cuadrícula de ALV. Esta función te permite editar los datos directamente en la cuadrícula y guardar los cambios en la tabla.

Aquí te dejo un ejemplo de cómo podrías utilizar la función:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
REPORT zmi_report.
 
PARAMETERS: p_tablename TYPE string.
 
DATA: t_data TYPE STANDARD TABLE OF (p_tablename),
      wa_data TYPE (p_tablename).
 
* Select data from table
SELECT *
  FROM (p_tablename)
  INTO CORRESPONDING FIELDS OF TABLE t_data.
 
* Display data in ALV grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program      = sy-repid
    it_fieldcat             = fieldcat_tab
    is_layout               = layout
  TABLES
    t_outtab                = t_data
  EXCEPTIONS
    program_error           = 1
    OTHERS                  = 2.
 
* Save changes to table
LOOP AT t_data INTO wa_data.
  MODIFY (p_tablename) FROM wa_data.
ENDLOOP.

En este ejemplo, la tabla a modificar se especifica mediante el parámetro "p_tablename". La función SELECT se utiliza para recuperar los datos de la tabla y almacenarlos en la tabla interna "t_data". Luego, la función "REUSE_ALV_GRID_DISPLAY" se utiliza para mostrar los datos en una cuadrícula de ALV, permitiendo la edición de los datos directamente en la cuadrícula. Finalmente, se utiliza un bucle para guardar los cambios en la tabla.

Espero que esto te ayude. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar