Doble click en ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • pafú
    Member
    • sep
    • 49

    #1

    Doble click en ALV

    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
    Member
    • jun
    • 40

    #2
    ¿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.

    Comentario

    • marialeqd
      Senior Member
      • jun
      • 188

      #3
      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.
      Mariale

      Comentario

      • pafú
        Member
        • sep
        • 49

        #4
        Alv

        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.

        Comentario

        Trabajando...