Lic Ciencias Computacionales

Páginas: 2 (370 palabras) Publicado: 6 de marzo de 2014
Codigo ABAP para capturar la modificación de un dato de una campo editable de un ALV
Es para capturar si modifican un dato de un ALV para un campo editable
A la función 'REUSE_ALV_GRID_DISPLAY' sele han de pasar dos parametros, que
son:
i_grid_settings = i_lvc_s_glay
it_events
= tab_events[]
Los datos que han de tener estos parametros son:
1. i_lvc_s_glay:
DATA i_lvc_s_glay LIKElvc_s_glay.
i_lvc_s_glay-edt_cll_cb = 'X'.
2. tab_events:
FORM eventtab_build USING it_events TYPE slis_t_event.

*

DATA: l_event TYPE slis_alv_event.
Hago la llamada de todos los eventos
CALLFUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events
= it_events.

*
Agrego a la tabla el evento DATA_CHANGED ya que no lo trae la
rutina anterior
l_event-name ='DATA_CHANGED'.
l_event-form = 'DATA_CHANGED'.
APPEND l_event TO it_events.
ENDFORM.
"eventtab_build

Luego se tiene que crear el FORM DATA_CHANGED para insertar el código que
quieres realizar
FORMdata_changed USING rr_data TYPE REF TO
cl_alv_changed_data_protocol.
DATA : ls_mod_cell TYPE lvc_s_modi.
DATA : c_texto LIKE tj30t-txt30.

*
tratar
*

*

SORT rr_data->mt_mod_cells BY row_id.
LOOP AT rr_data->mt_mod_cells INTO ls_mod_cell.
Compruebo que el campo que se ha modificado es el que quiero
IF ls_mod_cell-fieldname = 'ESTAT'.
Haces las comprobaciones necesarias
SELECTSINGLE txt30 INTO c_texto
FROM tj30t
WHERE stsma = 'ZCSIORD'
AND txt04 = ls_mod_cell-value
AND spras = sy-langu.
READ TABLE g_mseg INDEX ls_mod_cell-row_id .
IF sy-subrc = 0.
Con el resultado,modifico el campo que quiero
g_mseg-txt30 = c_texto.

*
*
en el ALV

Primero modifico la tabla interna
MODIFY g_mseg INDEX ls_mod_cell-row_id.
Luego hago el refresh del campo que quiero que semodifique
CALL METHOD rr_data->modify_cell
EXPORTING
i_row_id
= ls_mod_cell-row_id
i_fieldname = 'TXT30' "Aquí va el campo que quieres

modificar
i_value

= c_texto. "Aquí el texto que...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lic Ciencias Computacionales
  • Lic. En Ciencias Computacionales
  • Lic Ciencias Computacionales
  • ciencia computacional
  • Ciencias Computacionales
  • ciencias computacionales
  • ciencias computacionales
  • Lic. en sistemas computacionales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS