Anuncio

Colapsar
No hay anuncio todavía.

TabStrip+SubScreen+SelectionScreen

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

  • TabStrip+SubScreen+SelectionScreen

    Hola,

    He creado una dynpro con un TabStrip y sus correspondientes SubScreen.
    Dentro de una SubScreen, he creado otra SubScreen para añadir una selection Screen.

    Subscreen 300 :

    PROCESS BEFORE OUTPUT.
    CALL SUBSCREEN sub_301 INCLUDING sy-repid '0301'.
    MODULE ocultar_mostrar_campos.

    PROCESS AFTER INPUT.
    CALL SUBSCREEN sub_301.


    Si en el PAI, introduczo la sentencia CALL SUBSCREEN sub_301, para traer los valore de la selection-screen 301, ya no navega a ninguna pestaña más, aunque por debug si veo que se actualizad al ActiveTab. Si no se lo pongo funciona correctamente.

    Alguien puede ayudarme?

    Gracias,
    Un Saludo.:

  • #2
    Hola,

    el tema me parece que está en que no estás trabajando bien con el OK_CODE para cuando se presiona el botón Back. Podrías pasarnos el código completo?

    Comentario


    • #3
      Hola Josemir,


      Yo creo que el OK_CODE va bien.
      • Tengo la Dynpro 100 : (Esta contiene un TabStrip con varios tab y cada uno con su subscreen. el problema esta en la 300 que tiene uncluida un SELECTIO SCREEN a mano.)


      PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
      CALL SUBSCREEN sub200 INCLUDING sy-repid '0200'.
      CALL SUBSCREEN sub300 INCLUDING sy-repid '0300'. " Esta contiene una selection screen para incluir varios SELECT OPTIONS
      CALL SUBSCREEN sub400 INCLUDING sy-repid '0400'.
      CALL SUBSCREEN sub500 INCLUDING sy-repid '0500'.


      PROCESS AFTER INPUT.


      MODULE USER_COMMAND_0100E AT EXIT-COMMAND.
      MODULE USER_COMMAND_0100.
      MODULE active_tabstrip. " Aqui le indico que tab tiene que estar activo antes de pintar la dynpro. El debug de aquí lo pongo abajo

      CALL SUBSCREEN sub200.
      CALL SUBSCREEN sub300.
      CALL SUBSCREEN sub400.
      CALL SUBSCREEN sub500.
      • Este es el código de la SubScreen 300:
      PROCESS BEFORE OUTPUT.



      CALL SUBSCREEN sub_301 INCLUDING sy-repid '0301'. --> Esta es una selection screen creada por código, está abajo.
      MODULE ocultar_mostrar_campos.


      PROCESS AFTER INPUT.

      CALL SUBSCREEN sub_301." AQUI ESTÁ EL PROBLEMA, SI NO LO PONGO NAVEGA BIEN POR LOS DISTINTO TAB Y SI LO PONGO NO SALE DE ESTE
      TAB


      MODULE USER_COMMAND_300. " Esto da igual el orden en que lo ponga, falla igual.
      • Selection screen creada por código:

      SELECTION-SCREEN BEGIN OF SCREEN 301 AS SUBSCREEN.

      SELECTION-SCREEN BEGIN OF BLOCK uno.
      SELECT-OPTIONS: s_sist FOR gv_mandt NO INTERVALS, "OBLIGATORY,
      s_mandt FOR gv_sist NO INTERVALS, "OBLIGATORY,
      s_bname FOR gv_user NO INTERVALS. "OBLIGATORY.
      SELECTION-SCREEN END OF BLOCK uno.
      SELECTION-SCREEN END OF SCREEN 301.
      • En el DEBUG , cuando se pinta la dynpro 1000, donde le indico el tab activo y vemos el OK code, esta exactamente igual:
      Estando en la pestaba SNC, (la senguda del tabstrip ) y pulsado sobre la primer pestaña ( CARG , es el nombre de la tab1 de la pestaña


      Con CALL SUBSCREEN sub_301: NO navega a la primera pestaña ( CARG )

      OK_CODE CARG
      TAB_CAU-ACTIVETAB CARG
      SY-UCOMM CARG


      Sin CALL SUBSCREEN sub_301: SI navega a la primer pestaña (CARG )

      OK_CODE CARG
      TAB_CAU-ACTIVETAB CARG
      SY-UCOMM CARG


      Cuando llama a la selection screen 301, es como que "pierde el hilo", pero los datos son correctos y no actuliza.

      GRACIAS!!
      Editado por última vez por gotelyn; 04/06/2018, 09:51:02.

      Comentario


      • #4
        Por qué en lugar de crear ese código para la dynpro 301 no la creas directamente desde el screen painter? has probado de esa manera? sino también tenés la opción de crear todas las dynpros con los wizards.

        Aguardo tus comentarios para poder ayudarte

        Comentario


        • #5
          Hola Josemir,

          Esa opción no es viable, crear Select-Options desde el screen painter es un parto, no es viable montar todas las posibles opciones. La forma de insertar Select-Options es incluyento una selection screen.

          Gracias por la idea.
          Un Saludo.

          Comentario

          Trabajando...
          X