Ver Mensaje Individual
  #4  
Viejo 29/10/09, 14:24:28
katanka3 katanka3 is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 20

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
Responder Con Cita