At User_command

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Nelson Ramirez
    Junior Member
    • ago
    • 10

    #1

    At User_command

    Buenos dias, soy estudiante de ABAP IV y mi pregunta es la siguiente, necesito saber que hace la instruccion "AT USER_COMMAND" la quiero unas en un programita que estoy haciendo y mi instructor me pidio que buscara que hace, espero puedan ayudarme a tener un poco mas de conocimiento.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola .. ese es un evento que me permite realizar las funciones de los botones que le coloque dentro de las pantallas de seleccion por ejemplo:

    Código:
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'CREATE'.
          PERFORM user_command_create.
        WHEN 'LEAVE'.
          PERFORM user_command_leave.
        WHEN others.
          PERFORM user_command_others.
      ENDCASE.
    Ahi por cada botón realiza una tarea que en ese caso estará dentro de las subrutinas, espero averme explicado bien =), un dato adicional ... puedes usar la transaccion ABAPDOCU ahi hay ejemplos pequeños y muy aplicativos, facil de entender tbm ... espero sirva la ayuda
    David Carballido Córdova

    Comentario

    • Nelson Ramirez
      Junior Member
      • ago
      • 10

      #3
      Muchas gracias por el dato, voy a aplicarlo en mi programa para hacer unas pruebas, saludos

      Comentario

      • Daemonjr
        Junior Member
        • dic
        • 24

        #4
        El evento AT USER-COMMAND. te permite capturar y tratar cualquier comando ingresaso por el usuario en pantalla, ya sea clickeando sobre un icono o comandos abreviados del teclados o inclusivo un simple enter.
        Para saber que comando se ejecuto apenas se presiono, colocas "/h" en la linea de comandos y despues presionas la tecla o el icono que deseas descubrir su comando. En el debagging el campo SY-UCOMM contiene el valor con que lo capturas.

        AT USER_COMMAND.
        CASE sy-ucomm.
        WHEN 'ONLI'.
        * aca agrgas tu codigo para tratar ese comando
        ENDCASE.

        Espero te haya ampliado algo mas.

        Suerte!!

        Consultor SD
        Consultor ABAP Senior

        Comentario

        • Nelson Ramirez
          Junior Member
          • ago
          • 10

          #5
          Te agradesco el apunte y de verdad que me sirvio, de verdad un abrazo y espero poder seguir contando con ustedes
          saludos

          Comentario

          • Nelson Ramirez
            Junior Member
            • ago
            • 10

            #6
            Call Screen

            Buenos días, en esta oportunidad me gustaría saber cual es la función del comando "CALL SCREEN", por el nombre entiendo que es algo que llama a pantalla pero lo que no se es la aplicación, espero puedan ayudarme en este sentido, de antemano muchas gracias....

            Comentario

            • DavidXD_XD
              Moderator
              • ago
              • 1255

              #7
              Hola Nelson ... esta sentencia nos permite poder llamar a una pantalla intermedia en el recorrido de una, por ejemplo:

              Código:
              START-OF-SELECTION.
              
              CALL SCREEN 100.              "Llama a la pantalla 100
              Código:
              [COLOR="Blue"]* Dentro de la pantalla 100 manejamos la logica de pantalla[/COLOR]
              PROCESS BEFORE OUTPUT.
               MODULE STATUS_0100.
              
              PROCESS AFTER INPUT.
               MODULE USER_COMMAND_0100.

              Y dentro del programa creamos cada MODULE

              Código:
              MODULE user_command_0100 INPUT.
                IF sy-ucomm = space.    "Si presionamos enter nos lleva a la pantalla 200
                  CALL SCREEN 200.
                  ( logica )
                ENDIF.
              ENDMODULE.

              dentro de la pantalla 200 que hemos llamado realizara una tarea, cuando se haya culminado dicha tarea podemos abandonar la pantalla con la sentencia

              Código:
              LEAVE TO SCREEN 0.
              Para asi continuar con la parte del codigo (logica).

              Es bastante util este tipo de programacion en dialogo, sobretodo para procesos repititivos de usuarios, espero sirva la info
              David Carballido Córdova

              Comentario

              • sub_dan
                Member
                • nov
                • 42

                #8
                excelente sus aportes gracias
                por personas como ustedes uno puede aprender mas cosillas jejejeje gracias

                Comentario

                Trabajando...