ABAP Wait Up To
Tabla de Contenidos
ABAP Wait
La sentencia de programación ABAP Wait Up To, se encarga de interrumpir la ejecución de un programa en SAP. Esto se puede lograr adicionando los segundos que se piensa detener la ejecución. Ciertamente, es de gran utilidad cuando se busca asegurar la ejecución de al algún proceso que repercute en el resultado del programa.
Wait SAP ABAP
Es importante mencionar que cada que se ejecuta esta sentencia, se ejecuta un commit a la base de datos, a excepción de la instrucción update. Es por esto que esta instrucción no debe utilizarse cuando se este abriendo o cerrando un cursor a través de una sentencia Open SQL.
Wait For Asynchronous Tasks
Esta variante es utilizada después de llamar un RFC asíncrono con una rutina call back. Si el resultado de log_exp es falso y hay una llamada de función asíncrona con rutina de devolución de llamada, el programa espera hasta que se haya ejecutado una rutina de devolución de llamada de una función anterior (llamada asíncronamente) y luego verifica la expresión lógica nuevamente.
Pero esto lo veremos en otra entrada donde hablemos del procesamiento paralelo.
Código Ejemplo ABAP Wait
*&---------------------------------------------------------------------* *& Report Z_WAIT_TEST *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z_WAIT_TEST. WRITE |{ sy-datum }| & | | & |{ sy-uzeit }|. WAIT UP TO 5 SECONDS. WRITE |{ sy-datum }| & | | & |{ sy-uzeit }|.
Resultado de la ejecución de la sentencia ABAP Wait

Esta sentencia siempre retorna el código 0 en la variable de sistema sy-subrc, y siempre después de su ejecución el programa regresa a continuar con las sentencias posteriores. Además, no arroja ninguna excepción, por lo su ejecución no podrá ser controlada con un bloque de código try – catch.
Adiciones a la sentencia Wait
UP TO t SECONDS
Detiene momentáneamente la ejecución de un programa durante un lapso de tiempo definido en segundos.
FOR ASYNCHRONOUS TASKS UNTIL log_exp
Pausa el flujo de un programa hasta que la expresión lógica, definida después de una rutina de devolución de llamada a un RFC asíncrono, sea verdadera.
FOR MESSAGING CHANNELS UNTIL log_exp
Detiene la ejecución del programa hasta que la expresión lógica, después de obtener una respuesta de los message channel ABAP, sea verdadera.
FOR PUSH CHANNELS UNTIL log_exp
Detiene la ejecución del programa hasta que la expresión lógica, después de obtener una respuesta de los ABAP Push Channels, sea verdadera.
Documentación Oficial de SAP
Para más información puedes visitar el siguiente enlace