Uso de la función ABAP que genera tiempos de espera
Utilice en ABAP la función que genera tiempos de espera, para encontrar la información en las tablas físicas
En ocasiones es necesario obtener información de las tablas físicas del sistema luego de una creación de datos. Por ejemplo, cuando en una misma transacción, a partir de los datos ingresados para una compañía en particular, se desea replicar la información para el resto de las compañías.
Dependiendo de varios factores, como la cantidad de usuarios accediendo al sistema en ese momento, los tipos de procesos que están corriendo, etc., puede suceder que no se puedan obtener los datos requeridos porque aún no se ha completado la grabación en las tablas.
El módulo de función 'AM_PING_AND_WAIT' permite crear "tiempos de espera", expresados en segundos, que al combinarlos con sentencias que manejan ciclos (como DO ... ENDDO) posibilitan retardar la búsqueda de los datos.
En el siguiente ejemplo, se accede a la tabla ANLA que contiene datos maestros de los activos fijos; si la ejecución de la sentencia SELECT es exitosa, se almacenan los datos en la estructura REC y se abandona el ciclo con la sentencia EXIT; en caso contrario, se invoca a la función y luego reinicia el ciclo:
DO. SELECT SINGLE * FROM ANLA WHERE BUKRS = C_BUKRS AND ANLN1 = C_N1 AND ANLN2 = C_N2. IF SY-SUBRC = 0. "Ya se grabó REC_ASSET-ANLKL = ANLA-ANLKL. REC_ASSET-TXT50 = ANLA-TXT50. REC_ASSET-TXA50 = ANLA-TXA50. REC_ASSET-ORD41 = ANLA-ORD41. REC_ASSET-ORD42 = ANLA-ORD42. REC_ASSET-ORD43 = ANLA-ORD43. REC_ASSET-ORD44 = ANLA-ORD44. REC_ASSET-GDLGRP = ANLA-GDLGRP. REC_ASSET-ANLUE = ANLA-ANLUE. REC_ASSET-POSNR = ANLA-POSNR. REC_ASSET-LIFNR = ANLA-LIFNR. REC_ASSET-LIEFE = ANLA-LIEFE. EXIT. ELSE. "Todavía no se grabó CALL FUNCTION 'AM_PING_AND_WAIT' EXPORTING I_SECONDS = 1 EXCEPTIONS OTHERS = 1. ENDIF. ENDDO. |
Copyright Teknoda S.A.
IMPORTANTE: “Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |