PDA

Ver la Versión Completa : At User_command


Nelson Ramirez
25/09/08, 12:42:05
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
25/09/08, 12:52:45
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:

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 :D

Nelson Ramirez
25/09/08, 14:21:18
Muchas gracias por el dato, voy a aplicarlo en mi programa para hacer unas pruebas, saludos

Daemonjr
25/09/08, 18:12:51
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!!

Nelson Ramirez
26/09/08, 13:23:17
Te agradesco el apunte y de verdad que me sirvio, de verdad un abrazo y espero poder seguir contando con ustedes
saludos

Nelson Ramirez
26/09/08, 13:27:02
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....

DavidXD_XD
27/09/08, 00:17:43
Hola Nelson ... esta sentencia nos permite poder llamar a una pantalla intermedia en el recorrido de una, por ejemplo:

START-OF-SELECTION.

CALL SCREEN 100. "Llama a la pantalla 100

* Dentro de la pantalla 100 manejamos la logica de pantalla
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.

PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.


Y dentro del programa creamos cada MODULE

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

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 :D

sub_dan
28/11/08, 19:47:44
excelente sus aportes gracias :D
por personas como ustedes uno puede aprender mas cosillas jejejeje gracias