Select-Option Dynamicos en una Dynpro

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • andresf02
    Senior Member
    • nov
    • 190

    #1

    Select-Option Dynamicos en una Dynpro

    Buenas Tardes

    Estoy realizando una dynpro para captura de parametros (como ejercicio) y ya pude hacerla funcionar con Select-Options. Ahora quiero aplicarle la funcionalidad de Select-Options dynamicos para la cual agreguè en la dynpro 3 radiobuttons:

    p_all --> para que muestre todos los parametros.
    p_flight --> para que muestre solo los parametros de vuelos
    p_city --> para que muestre solo los parametros de origen y destino.

    Lo que habia pensado es agregar al PAI el siguiente codigo:

    ************************************************** ***
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0010.
    CALL SUBSCREEN: ss_aerolinea INCLUDING sy-repid '0011'.
    CALL SUBSCREEN: ss_vuelo INCLUDING sy-repid '0012'.
    CALL SUBSCREEN: ss_oridest INCLUDING sy-repid '0013'.

    PROCESS AFTER INPUT.
    MODULE exit_cero.
    FIELD:
    p_all,
    p_city,
    p_flight.

    IF p_all EQ 'X'.
    CALL SUBSCREEN ss_aerolinea.
    CALL SUBSCREEN ss_vuelo.
    CALL SUBSCREEN ss_oridest.
    ELSEIF p_fligh EQ 'X'.
    CALL SUBSCREEN ss_aerolinea.
    CALL SUBSCREEN ss_vuelo.
    ELSE.
    CALL SUBSCREEN ss_oridest.
    ENDIF.

    ************************************************** ***


    pero como pude descubrir, la sentencia "IF" no se puede usar en esta parte, asi que lo que quiero es saber como lograr que las llamadas a las subscreens queden dinamicas segun el radiobutton seleccionado.

    Gracias
  • jarabas
    Senior Member
    • ene
    • 109

    #2
    mete el fragmento de codigo

    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0010.
    CALL SUBSCREEN: ss_aerolinea INCLUDING sy-repid '0011'.
    CALL SUBSCREEN: ss_vuelo INCLUDING sy-repid '0012'.
    CALL SUBSCREEN: ss_oridest INCLUDING sy-repid '0013'.

    PROCESS AFTER INPUT.
    MODULE exit_cero.
    FIELD:
    p_all,
    p_city,
    p_flight.


    module call_subscreen.


    y dentro del modulo (call_subscreen) introduce el codigo

    IF p_all EQ 'X'.
    CALL SUBSCREEN ss_aerolinea.
    CALL SUBSCREEN ss_vuelo.
    CALL SUBSCREEN ss_oridest.
    ELSEIF p_fligh EQ 'X'.
    CALL SUBSCREEN ss_aerolinea.
    CALL SUBSCREEN ss_vuelo.
    ELSE.
    CALL SUBSCREEN ss_oridest.
    ENDIF.

    Saludos espero que te sirva.

    Comentario

    Trabajando...