Está en la página 1de 1

En la tabla de eventos, debes asignar al evento USER_COMMAND ( almacenado en la variable global

slis_ev_user_command) el nombre de la rutina a ejecutar, por ejemplo de esta forma

DATA: ls_event TYPE slis_alv_event.


CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_events.

... ya tengo los eventos con los que cuento en P_EVENTS.Ahora leo el
correspondiente al USER_COMMAND

READ TABLE p_events WITH KEY name = slis_ev_user_command INTO ls_event.

IF sy-subrc EQ '0'.
MOVE 'RUTINA_USER_COMMAND' TO ls_event-form.
APPEND ls_event TO p_events.
ENDIF.
... y con esto último le indico la rutina a ejecutar. Ahora debes
implementar la rutina y dentro hacer el call transaction tal y como lo
hacias hasta ahora. Esta rutina tiene la siguiente forma:

FORM user_command USING r_ucomm LIKE sy-ucomm


rs_selfield TYPE slis_selfield.

/* cuerpo de la rutina.

ENDFORM.

... donde r_ucomm es el botón pulsado y rs_selfield tiene información


sobre la línea seleccionada.

También podría gustarte