PDA

Ver la Versión Completa : Select-Option Dynamicos en una Dynpro


andresf02
14/05/10, 20:24:23
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
17/05/10, 06:45:14
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.