Buenas noche tengo un prob con un alv, me piden que al seleccionar un registro me lleve a otra transaccion pero el codigo es OO,ya cree metodo y clase del mismo pero no funicona.
Si me pueden dar una mano
Buenas noches @neilagallardo revisa este link: http://sapuniverse.blogspot.com/2014/05/alv-orientado-objetos-oo.html quizas te puede ayudar.
Fijate del siguiente codigo:
- handle_user_command
FORM handle_user_command USING p_e_ucomm TYPE syucomm.
CASE p_e_ucomm .
WHEN 'FICH'.
PERFORM generar_fichero.
ENDCASE.
- handle_double_click
FORM handle_double_click USING p_e_row TYPE lvc_s_row
p_e_column TYPE lvc_s_col
p_es_row_no TYPE lvc_s_roid.
READ TABLE t_lecturas INDEX p_es_row_no-row_id.
IF sy-subrc = 0.
CASE p_e_column-fieldname.
WHEN 'MATNR'.
SET PARAMETER ID 'MAT' FIELD t_lecturas-matnr.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDIF.
Igual te sugiero que muestres tu codigo para que sea mas facil ayudarte. Saludos.
Solucionado. Coloco la declaración de la clase y método.
CLASS lcl_datos DEFINITION.
PUBLIC SECTION.
METHODS: obtener_datos,
imprimir_datos,
get_ret_pagos_ant,
handle_double_click
for event double_click of cl_salv_events_table
importing row.
ENDCLASS.
METHOD imp_datos.
o_datos->imprimir_datos( ).
o_datos->handle_double_click( row ).
ENDMETHOD. "imp_datos
METHOD imprimir_datos.
DATA lcl_mostrar type REF TO cl_salv_table.
DATA lr_events TYPE REF TO cl_salv_events_table.
METHOD HANDLE_DOUBLE_CLICK .
check row is not initial.
READ TABLE it_datos into wa_datos index row.
if sy-subrc eq 0.
SET PARAMETER ID 'BLN' FIELD wa_datos-BELNR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
endif.
ENDMETHOD.
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
list_display = if_salv_c_bool_sap=>false
IMPORTING
r_salv_table = jr_table
CHANGING
t_table = it_datos.
CATCH cx_salv_msg INTO jr_error.
ENDTRY.
** create events object
lr_events = jr_table->get_event( ).
** double click
SET HANDLER HANDLE_DOUBLE_CLICK FOR lr_events.
jr_table->display( ).
1 me gusta
Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.