ayuda doble click en alv

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • julianvc
    Member
    • mar
    • 69

    #1

    ayuda doble click en alv

    buenos días.
    Tengo un alv que muestra una serie de datos.
    Al meter en la llamada al alv :
    I_CALLBACK_USER_COMMAND = 'alv_user_command'
    y crear el form correspondiente:

    FORM alv_user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield.

    *VISUALIZO EL PEDIDO
    if rs_selfield-fieldname = 'VBELN' AND R_UCOMM = '&IC1'.
    set parameter id: 'AUN' field rs_selfield-value.
    call transaction 'VA03' and skip first screen.
    ENDIF.
    *VISUALIZO EL CLIENTE
    if rs_selfield-fieldname = 'KUNNR' AND R_UCOMM = '&IC1'.
    set parameter id: 'AUN' field rs_selfield-value.
    call transaction 'XD03' and skip first screen.
    ENDIF.
    *VISUALIZO EL ARTICULO
    if rs_selfield-fieldname = 'MATNR' AND R_UCOMM = '&IC1'.
    set parameter id: 'AUN' field rs_selfield-value.
    call transaction 'MM03' and skip first screen.
    ENDIF.
    endform.


    al hacer doble click me sale el error fatal del pantallazo sap:
    "LOAD_PROGRAM_NOT_FOUND".

    Alguien me puede ayudar.

    Gracias y saludos
  • juanphys
    Member
    • sep
    • 31

    #2
    Hola,

    Pásale el parámetro en mayúsculas:

    I_CALLBACK_USER_COMMAND = 'ALV_USER_COMMAND'

    Saludos
    Juanphys
    SAP CO + ABAP

    http://saperos-es.blogspot.com/

    Comentario

    • julianvc
      Member
      • mar
      • 69

      #3
      sigue igual

      Muchas gracias por la respuesta, pero me sigue dando el mismo error.

      He puesto
      I_CALLBACK_USER_COMMAND = 'ALV_USER_COMMAND'

      y el form es:

      FORM ALV_USER_COMMAND USING r_ucomm LIKE sy-ucomm
      rs_selfield TYPE slis_selfield.

      case r_ucomm.


      endcase.

      *VISUALIZO EL PEDIDO
      if rs_selfield-fieldname = 'VBELN' AND R_UCOMM = '&IC1'.
      set parameter id: 'AUN' field rs_selfield-value.
      call transaction 'VA03' and skip first screen.
      ENDIF.
      *VISUALIZO EL CLIENTE
      if rs_selfield-fieldname = 'KUNNR' AND R_UCOMM = '&IC1'.
      set parameter id: 'AUN' field rs_selfield-value.
      call transaction 'XD03' and skip first screen.
      ENDIF.
      *VISUALIZO EL ARTICULO
      if rs_selfield-fieldname = 'MATNR' AND R_UCOMM = '&IC1'.
      set parameter id: 'AUN' field rs_selfield-value.
      call transaction 'MM03' and skip first screen.
      ENDIF.
      endform.
      Se os ocurre otro motivo?.

      Muchas gracias y saludos

      Comentario

      • caralbgro
        Senior Member
        • sep
        • 478

        #4
        mira este ejemo anda perfecto

        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
        i_interface_check = 'X'
        i_callback_program = g_repit
        it_fieldcat = LISTADO[]
        i_callback_top_of_page = 'TOP_OF_PAGE'
        is_layout = s_layout
        i_save = 'A'
        it_events = events[]
        i_callback_user_command = 'USER_COMMAND'
        TABLES
        * t_outtab = mi_tabla_det_1
        t_outtab = mdato
        EXCEPTIONS
        program_error = 1
        OTHERS = 2.
        IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.

        ---------------------------------------------

        FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
        L_SELFIELD TYPE SLIS_SELFIELD.

        COMMIT WORK.

        CASE L_UCOMM.
        WHEN '&IC1'. " Doble click
        CHECK NOT L_SELFIELD-value IS INITIAL.
        READ TABLE mdato INDEX L_SELFIELD-tabindex.
        CASE L_SELFIELD-FIELDNAME.
        WHEN 'LIFNR'.
        SET PARAMETER ID 'LIF' FIELD L_SELFIELD-value.
        SET PARAMETER ID 'BUK' FIELD mdato-BUKRS.
        CALL TRANSACTION 'XK03' AND SKIP FIRST SCREEN.
        ENDCASE.
        ENDCASE.

        l_SELFIELD-REFRESH = 'X'.
        endform.

        ------------------------------------------------
        Consultor FI-CO

        Comentario

        • julianvc
          Member
          • mar
          • 69

          #5
          Solucionado, muchísimas gracias a todos.

          Comentario

          • pptavo
            Junior Member
            • dic
            • 17

            #6
            a mi no me funciona

            Originalmente publicado por julianvc
            Solucionado, muchísimas gracias a todos.
            hola a todos espero esten bien,

            en micaso es mas simple supongo es un reporte en forma de listado y en el AT_LINE SELECTION: puse
            set parameter id: 'AUN' field variable.
            call transaction 'VA03' and skip first screen.

            pero al abrir la transaccion va03, me manda un error en la primer pantalla el cual dice

            indicar numero de documento.

            lo segundo que pasa es que si abro la transaccion directamente con x pedido, cuando la mando llamar desde el reporte siempre abre el pedido que le digite la ultima vez, espero puedan ayudarme

            muchas gracias de antemano

            saludos!!!

            Comentario

            Trabajando...