matchcode visible o invisible

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • romario2
    Senior Member
    • abr
    • 233

    #1

    matchcode visible o invisible

    Hola,

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

    gracias
  • andyoscky
    Miembro Honorario
    • mar
    • 73

    #2
    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.
    Editado por última vez por andyoscky; 17/12/2008, 12:09:15.

    Comentario

    • Garces
      Senior Member
      • ago
      • 321

      #3
      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).

      Código:
      [FONT=Courier New]PROCESS BEFORE OUTPUT.[/FONT]
      [FONT=Courier New]  MODULE oculta_campos_0100.[/FONT]
      Éste sería tu módulo.
      Código:
      [FONT=Courier New]MODULE oculta_campos_0100.[/FONT]
       
      [FONT=Courier New][FONT=Courier New]  LOOP AT screen.[/FONT][/FONT]
      [FONT=Courier New]
      [FONT=Courier New]    IF screen-group1 EQ 'A' AND <tu condición se cumple>.[/FONT]
      [FONT=Courier New]      screen-active = 0.[/FONT]
      [FONT=Courier New]    ELSE.[/FONT]
      [FONT=Courier New]      screen-active = 1.[/FONT]
      [FONT=Courier New]    ENDIF.[/FONT]
      [/FONT][FONT=Courier New][FONT=Courier New]    MODIFY screen.[/FONT][/FONT]
      [FONT=Courier New]
      [FONT=Courier New]  ENDLOOP.[/FONT]
       
      [FONT=Courier New]ENDMODULE.[/FONT][/FONT]
      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
      Editado por última vez por Garces; 17/12/2008, 14:40:10.
      Miguel Ángel Garcés Ramírez

      Comentario

      • romario2
        Senior Member
        • abr
        • 233

        #4
        muchas gracias!

        Hola, muchas gracias por vuestra ayuda.

        Ya tengo resuelto el tema.

        Feliz navidad

        Comentario

        Trabajando...