PDA

Ver la Versión Completa : matchcode visible o invisible


romario2
17/12/08, 11:36:18
Hola,

necesito que un campo de una dynpro ( que incorpora matchcode).
sea invisible o no segun un requerimiento.

gracias

andyoscky
17/12/08, 12:02:41
Una podria ser
que definas dos bloques y que uno este relacionado con un tipo de datos con matchbox de diccionario y otro no
asi cuando los recorres segun el parametro activas el que queres
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_CLAD = 'X'.
IF SCREEN-GROUP1 = 'PEPE'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ELSE.
IF SCREEN-GROUP1 = 'PEPIN'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.

Garces
17/12/08, 13:01:12
El código anterior es correcto si lo que quieres es que desaparezca un campo en el SELECTION-SCREEN (por eso se usa el evento AT SELECTION-SCREEN OUTPUT).
Si por el contrario lo que buscas es que desaparezca el campo en una dynpro creada por ti, este mismo código deberás introducirlo en un módulo PBO de la dynpro...

Ésta sería tu dynpro 100 (por ejemplo).

PROCESS BEFORE OUTPUT.
MODULE oculta_campos_0100.

Éste sería tu módulo.
MODULE oculta_campos_0100.

LOOP AT screen.

IF screen-group1 EQ 'A' AND <tu condición se cumple>.
screen-active = 0.
ELSE.
screen-active = 1.
ENDIF.
MODIFY screen.

ENDLOOP.

ENDMODULE.

Ten en cuenta que en la dynpro también debes asignar grupos a los campos que quieres ocultar.
Para ello están los campos 'Grupos' en cada campo dentro de tu dynpro y deberás poner el valor 'A' en el primer grupo de los campos que quieras ocultar. Éste simboliza el campo 'screen-group1'.
Ojalá te sirvan las indicaciones.
Saludos

romario2
18/12/08, 08:02:02
Hola, muchas gracias por vuestra ayuda.

Ya tengo resuelto el tema.

Feliz navidad