Anuncio

Colapsar
No hay anuncio todavía.

Disposicion en layout

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Disposicion en layout

    Buen dia amigo, al querer seleccionar una variante en mi pantalla de seleccion me aparece el siguiente mensaje:

    no se ha podido encontrar ninguna disposicion....


    Por favor indicarme que he podido realizar mal, este es el codigo

    SELECTION-SCREEN BEGIN OF BLOCK b05 WITH FRAME TITLE text-b05.
    PARAMETERS: p_vari TYPE slis_vari.
    SELECTION-SCREEN END OF BLOCK b05.

    DATA: w_variant TYPE disvariant.

    START-OF-SELECTION.
    ....
    ....
    ....
    END-OF-SELECTION.

    PERFORM main_prog.

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari. "Evento para activar el match code del layout"
    PERFORM get_variant.

    FORM get_variant.

    data: lw_variant type disvariant,
    l_exit type char1.

    lw_variant-report = sy-repid.


    CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
    is_variant = lw_variant
    i_save = 'A'
    IMPORTING
    e_exit = l_exit
    es_variant = lw_variant
    EXCEPTIONS
    NOT_FOUND = 2.
    IF sy-subrc = 2.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSE.
    IF l_exit EQ space.
    p_vari = lw_variant-variant.

    * IF NOT p_vari IS INITIAL.
    * PERFORM get_w_variant.
    * ENDIF.
    ENDIF.
    ENDIF.


    ENDFORM. " get_w_variant


    *&---------------------------------------------------------------------*
    *& FORM MAIN_PROG
    *&---------------------------------------------------------------------*
    * The main program
    *----------------------------------------------------------------------*

    FORM main_prog.

    PERFORM create_fcat.
    w_repid = sy-repid.
    w_comm = 'USER_COMMAND'.
    w_status = ''.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
    it_fieldcat_lvc = gt_fcat
    i_callback_program = w_repid
    i_callback_pf_status_set = w_status
    * i_callback_user_command = w_comm
    i_save = 'A'
    is_variant = w_variant
    i_grid_title = w_title
    i_callback_html_top_of_page = 'F_HTML_TOP_OF_PAGE'
    TABLES
    * t_outtab = gt_resultado
    t_outtab = gt_result
    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.

    ENDFORM. " MAIN_PROG.


    Agradezco de antemano su ayuda

  • #2
    Hola,

    Primero, ¿Tienes variantes grabadas en la disposición?
    Segundo ¿El matchcode te devuelve los valores de esas variantes?

    Si las dos respuestas son afirmativas creo que el error lo tienes en la función REUSE_ALV_GRID_DISPLAY_LVC el valor

    is_variant = w_variant

    debería ser

    is_variant = p_variant

    Saludos.
    "Soy el señor Lobo, arreglo problemas"
    http://sapymas.blogspot.com/

    Comentario


    • #3
      Originalmente publicado por bisonye Ver Mensaje
      Hola,

      Primero, ¿Tienes variantes grabadas en la disposición?
      Segundo ¿El matchcode te devuelve los valores de esas variantes?

      Si las dos respuestas son afirmativas creo que el error lo tienes en la función REUSE_ALV_GRID_DISPLAY_LVC el valor

      is_variant = w_variant

      debería ser

      is_variant = p_variant

      Saludos.

      Gracias por responder bisonye, con los dos primeros puntossi c cumple, he revisado is_variant = p_variant, pero lo tengo declarado asi

      DATA: w_variant TYPE disvariant.

      Que otra cosa podria hacer.


      Gracias

      Comentario


      • #4
        Es cierto, es una estructura.

        Despues de la llamada a REUSE_ALV_VARIANT_F4 haz w_variant-variant = p_variant.

        O casi mejor en lugar de utilizar la variable interna lw_variant en el form get_variant utiliza la variable global w_variant.

        Saludos.
        "Soy el señor Lobo, arreglo problemas"
        http://sapymas.blogspot.com/

        Comentario

        Trabajando...
        X