Problemas con selection-screen

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • misa
    Junior Member
    • jun
    • 21

    #1

    Problemas con selection-screen

    Hola,

    estoy creando un report con varios botones en la pantalla de seleccion, dependiendo del boton que se pulse y pulsando 'ejecutar' se deben rellenar unos campos de la pantalla u otros a partir de un select, pero no soy capaz, porque en el AT SELECTION SCREEN OUTPUT no me modifica los campos porque sy-ucomm es initial y no guarda el valor de 'ejecutar'.

    Alguien me podria ayudar?????


    Gracias
  • frankmerlos
    Member
    • oct
    • 51

    #2
    HOLA.

    CUANDO UTILIZAS BOTONES DEBES DE UTILIZAR SSCRFIELDS-UCOMM HE INCLUIR ESA TABLA.

    ESTE EJEMPLO ES UNA PEQUEÑA CALCULADORA QUE EMPEZE A HACER EN ABAP.

    *&---------------------------------------------------------------------*
    *& Report PLANTILLA
    *&
    *&---------------------------------------------------------------------*

    REPORT ZSVFRANK MESSAGE-ID BA.

    TABLES SSCRFIELDS.

    DATA: OPERANDO1 TYPE P DECIMALS 2,
    OPERANDO2 TYPE P DECIMALS 2,
    OPERACION TYPE C,
    RESULTADO TYPE P DECIMALS 2.

    SELECTION-SCREEN
    BEGIN OF BLOCK LIMIT WITH FRAME TITLE TEXT1.

    SELECTION-SCREEN BEGIN OF LINE.

    SELECTION-SCREEN COMMENT 1(10) TEXT2 FOR FIELD P1.
    PARAMETERS: P1(25).

    SELECTION-SCREEN END OF LINE.

    SELECTION-SCREEN: PUSHBUTTON /1(5) NUM1
    USER-COMMAND NUM_1.

    SELECTION-SCREEN: PUSHBUTTON 7(5) NUM2
    USER-COMMAND NUM_2.

    SELECTION-SCREEN: PUSHBUTTON 13(5) NUM3
    USER-COMMAND NUM_3.

    SELECTION-SCREEN: PUSHBUTTON /1(5) NUM4
    USER-COMMAND NUM_4.

    SELECTION-SCREEN: PUSHBUTTON 7(5) NUM5
    USER-COMMAND NUM_5.

    SELECTION-SCREEN: PUSHBUTTON 13(5) NUM6
    USER-COMMAND NUM_6.

    SELECTION-SCREEN: PUSHBUTTON /1(5) NUM7
    USER-COMMAND NUM_7.

    SELECTION-SCREEN: PUSHBUTTON 7(5) NUM8
    USER-COMMAND NUM_8.

    SELECTION-SCREEN: PUSHBUTTON 13(5) NUM9
    USER-COMMAND NUM_9.

    SELECTION-SCREEN: PUSHBUTTON /7(5) NUM0
    USER-COMMAND NUM_0.

    SELECTION-SCREEN END OF BLOCK LIMIT.

    INITIALIZATION.
    MOVE 'CALCULADORA' TO TEXT1.
    MOVE 'VALORES' TO TEXT2.
    MOVE '1' TO NUM1.
    MOVE '2' TO NUM2.
    MOVE '3' TO NUM3.
    MOVE '4' TO NUM4.
    MOVE '5' TO NUM5.
    MOVE '6' TO NUM6.
    MOVE '7' TO NUM7.
    MOVE '8' TO NUM8.
    MOVE '9' TO NUM9.
    MOVE '0' TO NUM0.

    AT SELECTION-SCREEN.
    PERFORM OPERAR.

    *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&*
    *& CUERPO DEL PROGRAMA
    *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&*

    START-OF-SELECTION.

    IF OPERACION = 'E'.
    WRITE : 'NO ES POSIBLE REALIZAR LA DIVISION ENTRE 0'.
    ELSE.
    PERFORM OPERAR.
    WRITE: 'RESULTADO DE LA OPERACION : ', RESULTADO.
    ENDIF.

    END-OF-SELECTION.

    *&---------------------------------------------------------------------*
    *& Form OPERAR
    *&---------------------------------------------------------------------*

    FORM OPERAR .
    CASE SSCRFIELDS-UCOMM.
    WHEN 'NUM_1'.
    CONCATENATE P1 '1' INTO P1.
    RESULTADO = '1'.
    WHEN 'NUM_2'.
    CONCATENATE P1 '2' INTO P1.
    RESULTADO = '2'.
    WHEN 'NUM_3'.
    CONCATENATE P1 '3' INTO P1.
    RESULTADO = '3'.
    WHEN 'NUM_4'.
    CONCATENATE P1 '4' INTO P1.
    RESULTADO = '4'.
    WHEN 'NUM_5'.
    CONCATENATE P1 '5' INTO P1.
    RESULTADO = '5'.
    WHEN 'NUM_6'.
    CONCATENATE P1 '6' INTO P1.
    RESULTADO = '6'.
    WHEN 'NUM_7'.
    CONCATENATE P1 '7' INTO P1.
    RESULTADO = '7'.
    WHEN 'NUM_8'.
    CONCATENATE P1 '8' INTO P1.
    RESULTADO = '8'.
    WHEN 'NUM_9'.
    CONCATENATE P1 '9' INTO P1.
    RESULTADO = '9'.
    WHEN 'NUM_0'.
    CONCATENATE P1 '0' INTO P1.
    RESULTADO = '0'.
    ENDCASE.
    ENDFORM. " OPERAR

    SALUDOS, ESPERO TE SIRVA

    Comentario

    • misa
      Junior Member
      • jun
      • 21

      #3
      Muchas gracias, es lo que estaba buscando.
      Voy a adaptarlo y a ver si consigo que funcione

      Comentario

      Trabajando...