PDA

Ver la Versión Completa : Doble click en ALV


pafú
06/11/07, 08:58:03
Hola buenas tengo ALV y quiero mostrar otro ALV de detalle cuando haces doble click sobre una linea de mi ALV. ¿ Alguna Explicacion sencilla por favor ?

Gracias.

chelisse
06/11/07, 10:43:59
¿conoces los eventos de alv grid?, puedes usar el evento handle_double_click que te registra la doble pulsación sobre una celda y luego llamar al nuevo alv con los datos que obtengas.

También se puede dividir la pantalla en dos alv, el original y el nuevo.

marialeqd
06/11/07, 10:45:09
fijate en este codigo,
......
......
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = 'ZSTATUS_SET'
I_CALLBACK_USER_COMMAND = 'ZUSER_COMD'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_SPECIAL_GROUPS = GT_SP_GROUP[]
IT_SORT = GT_SORT[]
I_DEFAULT = G_DEFAULT
IT_EVENTS = GT_EVENTS[]
TABLES
T_OUTTAB = DATOS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
LEAVE LIST-PROCESSING.
´.......
luego defines el perform ZUSER_COMD
...........
*&---------------------------------------------------------------------*
*& Form ZUSER_COMD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_EXTAB text *
* -->P_TYPE text *
* -->P_SLIS_T_EXTAB text *
*----------------------------------------------------------------------*
FORM ZUSER_COMD USING X LIKE SY-UCOMM
Y TYPE KKBLO_SELFIELD.

READ TABLE DATOS INDEX Y-TABINDEX.
IF X EQ '&IC1'.
CASE Y-SEL_TAB_FIELD.
WHEN 'DATOS-AUFNR'.
SET PARAMETER ID 'ANR' FIELD Y-VALUE.
CALL TRANSACTION 'KO03' AND SKIP FIRST SCREEN.
WHEN 'DATOS-WTJHR'.
SET PARAMETER ID 'BUK' FIELD BUKRS.
SET PARAMETER ID 'ANR' FIELD DATOS-AUFNR. " SEL_VS01
MOVE: 'I' TO AUFNR1-SIGN,
'EQ' TO AUFNR1-OPTION,
DATOS-AUFNR TO AUFNR1-LOW.
APPEND AUFNR1. "CLEAR: SEL_VS01.

SUBMIT GP5RHGZCGK9AUROXBPTS86Z3YF3600
WITH $6-KOKRS = BUKRS
WITH SEL_VS01 IN AUFNR1 AND RETURN.

CLEAR: AUFNR1. REFRESH: AUFNR1.
WHEN OTHERS.
SET PARAMETER ID 'ANR' FIELD DATOS-AUFNR.
SET PARAMETER ID 'AAT' FIELD AUART.
CALL TRANSACTION 'KO23' AND SKIP FIRST SCREEN.



ENDCASE.
ENDIF.

ENDFORM.

pafú
07/11/07, 07:59:46
Muchas Gracias chicas ya esta solucionado.
Ahora tengo otro problema tengo que sacar la cabecera del otro ALV los datos de la linea donde he pinchado, pero me da un error que no se solucionar haber si podeis ayudarme. Aqui os dejo el codigo.

form top_of_page using r_top TYPE REF TO cl_dd_document.

CALL METHOD r_top->add_text EXPORTING text = text-003.
sap_style = cl_dd_area=>heading.
CALL METHOD r_top->new_line.
CALL METHOD r_top->add_text EXPORTING text = text-004.
sap_style = cl_dd_area=>heading.
CALL METHOD r_top->new_line.
CALL METHOD r_top->add_text EXPORTING text = text-007.
sap_style = cl_dd_area=>heading.

end top of page.