PDA

Ver la Versión Completa : Variantes de disposición???


Driau
03/03/08, 12:28:50
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
03/03/08, 13:34:40
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

LouieBoy
03/03/08, 14:04:24
Buenas, Prueba la transacción SHD0.

Saludos,

LouieBoy