Anuncio

Colapsar
No hay anuncio todavía.

Sy-ucomm en Selection-screen creada por codigo

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

  • Sy-ucomm en Selection-screen creada por codigo

    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

  • #2
    Hola,

    está bien colocado ahora sólo le tienes que agregar lo que quieres que haga con las opciones Back, Exit y Cancel .

    Comentario

    Trabajando...
    X