Hola,, gracias, por la ayuda, pero siguo con el problema de colocar el AT SELECTION-SCREEN ON EXIT-COMMAND. Ya que no lo puedo colocar dentro de ningun IF, CASE o similar. La verdad que ando perdido con el tema de las pantallas de seleccion creadas con el select-options, habrías sido mucho mas facil crearme una pantalla y yo asignar los botones, pero ya que estoy con esta duda me gustaria resolverla. Te pongo mi codigo para que veas.
* Primera pantalla de seleccion
SELECTION-SCREEN BEGIN OF BLOCK data.
PARAMETER p_dcnt RADIOBUTTON GROUP 001. " Detalle de contratos.
PARAMETER p_dcntb RADIOBUTTON GROUP 001. " Detalle de contratos con bonos
PARAMETER p_rescnt RADIOBUTTON GROUP 001. " Resumen de contratos
PARAMETER p_rcntb RADIOBUTTON GROUP 001. " Resumen de contratos con bonos
SELECTION-SCREEN END OF BLOCK data.
* Segunda pantalla de seleccion
SELECTION-SCREEN BEGIN OF SCREEN 1002 TITLE text-010.
* Contratos sin bonos - Sengunda ventana.
SELECTION-SCREEN BEGIN OF BLOCK screen01 WITH FRAME TITLE text-011.
SELECT-OPTIONS s_contra FOR ever-vertrag. " Contrato
SELECT-OPTIONS s_instal FOR ever-anlage. " Instalacion
SELECT-OPTIONS s_fechba FOR ever-auszdat. " Fecha de baja
SELECT-OPTIONS s_fecfin FOR eanlh-bis. " Fecha de fin de validez
SELECT-OPTIONS s_bloqca FOR ever-abrsperr. " Motivo de bloqueo de calculo
SELECT-OPTIONS s_tarifa FOR eanlh-tariftyp. " Tipo de tarifa
SELECT-OPTIONS s_debi FOR ever-xvera. " Contrato creado debido
SELECT-OPTIONS s_serv FOR eanlh-billing_party. " Productor de servicios
SELECTION-SCREEN END OF BLOCK screen01.
SELECTION-SCREEN BEGIN OF BLOCK screen02 WITH FRAME TITLE text-012.
PARAMETER p_dcnt1 AS CHECKBOX DEFAULT ' '. " Detalle de contratos.
SELECTION-SCREEN END OF BLOCK screen02.
SELECTION-SCREEN END OF SCREEN 1002.
* Contratos con bonos - Tercera panatalla de seleccion
SELECTION-SCREEN BEGIN OF SCREEN 1004 TITLE text-010.
SELECTION-SCREEN BEGIN OF BLOCK screen03 WITH FRAME TITLE text-012.
SELECT-OPTIONS s_contr2 FOR ever-vertrag. " Contrato
SELECT-OPTIONS s_insta2 FOR ever-anlage. " Instalacion
SELECT-OPTIONS s_fechb2 FOR ever-auszdat. " Fecha de baja
SELECT-OPTIONS s_fecfi2 FOR eanlh-bis. " Fecha de fin de validez
SELECT-OPTIONS s_debi2 FOR ever-xvera. " Contrato creado debido
SELECT-OPTIONS s_bloqc2 FOR ever-abrsperr." Motivo de bloqueo de alculo
SELECT-OPTIONS s_tarif2 FOR eanlh-tariftyp. " Tipo de tarifa
SELECT-OPTIONS s_opera2 FOR ettifn-operand. " Operando
SELECT-OPTIONS s_rate2 FOR ettifn-tarifart. " Rate Type
SELECT-OPTIONS s_serv2 FOR eanlh-billing_party. " Productor de servicios
SELECT-OPTIONS s_fecfi3 FOR ettifn-bis. " Fecha de fin de validez
SELECTION-SCREEN END OF BLOCK screen03.
SELECTION-SCREEN BEGIN OF BLOCK screen04 WITH FRAME TITLE text-012.
PARAMETER p_dcnt2 AS CHECKBOX DEFAULT ' '. " Detalle de contratos.
SELECTION-SCREEN END OF BLOCK screen04.
SELECTION-SCREEN END OF SCREEN 1004.
INITIALIZATION.
AT SELECTION-SCREEN ON EXIT-COMMAND.
START-OF-SELECTION.
IF p_dcnt IS NOT INITIAL. " Si elijo la primera opicion me lleva a un 2º pantalla
PERFORM pantalla_select_sin_bono. " Selecciono los datos en la 2º pantalla
PERFORM detalles_sin_bono. " lanzo una ALV en una 3ª pantalla
ELSEIF p_rescnt IS NOT INITIAL. " Si elijo la segunda opicion
* Cargo los datos para mostar en el resumen
PERFORM cargar_resumen_estadisticas. " Cargo la 2ª pantalla
* Lanzo el resumen
PERFORM lanzar_resumen. " lanzo la otra alv en una 4º pantalla
ELSEIF p_dcntb IS NOT INITIAL.
CALL SELECTION-SCREEN 1004.
* Se lanza la ALV de contratos sin bonos
* Llamamos al PBO de la pantanlla para que lance la carga y mostrar la alv.
CALL SCREEN 1005.
ELSEIF p_rcntb IS NOT INITIAL.
PERFORM cargar_res_bono.
PERFORM lanzar_resumen_bonos.
MESSAGE i001(00) WITH text-t01.
ENDIF.
No se como hacer para colocar el AT SELECTION-SCREEN ON EXIT-COMMAND.
Gracias de antemano
|