Variantes de disposición???

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Driau
    Senior Member
    • ago
    • 235

    #1

    Variantes de disposición???

    Hola,

    me han encomendado la magiífica misión de crear algo que creo que se llama "variante de disposición". Vendria a ser como una variante, pero en vez de que guarde los parametros de un tipo de busqueda, que guarde la "distribución estetica" de las columnas.

    He visto transacciones estandar que lo hacen...alguien sabe como hacerlo???
    Sabeis a que me refiero???

    Muchas gracias a todos!
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2
    Declaracion de variables
    DATA gx_variant LIKE disvariant.
    DATA g_repid LIKE sy-repid.
    DATA g_save(1) TYPE c.
    DATA g_variant LIKE disvariant.
    DATA g_exit(1) TYPE c.



    1. Declara tu parametro para disposición:
    PARAMETERS: p_vari LIKE disvariant-variant.
    2. Agrega el siguiente evento a tu programa.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
    PERFORM f4_for_variant.
    PERFORM pai_of_selection_screen.

    3. Evento Inicializacion.
    INITIALIZATION.
    * parametros para tratamiento de variantes
    g_variant-report = sy-repid.
    g_variant-username = sy-uname.
    g_save = 'X'.
    g_repid = sy-repid.


    las subrutinas son:

    FORM f4_for_variant.

    CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
    is_variant = g_variant
    i_save = g_save
    IMPORTING
    e_exit = g_exit
    es_variant = gx_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 g_exit = space.
    p_vari = gx_variant-variant.
    ENDIF.

    ENDIF.

    ENDFORM. " FOR_VARIANT



    FORM pai_of_selection_screen.

    IF NOT p_vari IS INITIAL.

    MOVE g_variant TO gx_variant.
    MOVE p_vari TO gx_variant-variant.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
    EXPORTING
    i_save = g_save
    CHANGING
    cs_variant = gx_variant.
    g_variant = gx_variant.

    ELSE.

    CLEAR g_variant.
    g_variant-report = g_repid.

    ENDIF.
    ENDFORM. " PAI_OF_SELECTION_SCREEN

    Comentario

    • LouieBoy
      Member
      • ago
      • 86

      #3
      Buenas, Prueba la transacción SHD0.

      Saludos,

      LouieBoy

      Comentario

      Trabajando...