¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Implementación de llamadas de función remota asíncronas en ABAP versión 3.0E

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 39 Vistas
0
Cargando...

<p>A partir de la versión 3.0E, el lenguaje ABAP contiene una llamada de función remota asíncrona (aRFC) a veces referida como llamada de RFC paralela (pRFC) con la declaración "CALL FUNCTION ... STARTING NEW TASK ... DESTINATION IN GROUP <server_group> PROCESSING <form_name> ON END OF TASK".<br />Al ejecutar esta declaración, el procesador ABAP inicia la ejecución del módulo de función especificado en un proceso de trabajo de diálogo separado (el proceso hijo) como una nueva LUW. La ejecución del proceso actual (el proceso padre) continúa inmediatamente después sin esperar los resultados del módulo de función. Cuando el proceso padre ejecuta la declaración ABAP "WAIT UNTIL <condition>", proporciona un punto de sincronización para que los procesos hijos devuelvan sus resultados.</p><p>Dado que cada proceso paralelo utiliza un proceso de trabajo de diálogo mientras está activo, el número de procesos hijos está limitado por el número de procesos de diálogo disponibles. La configuración del grupo de servidores, así como la utilización actual de procesos de diálogo a través de otras transacciones, determina el número de procesos de diálogo disponibles.</p><p>Los procesos hijos se ejecutan en un proceso de diálogo separado y, por lo tanto, en un área de memoria separada. Esto significa que el contenido de cualquier variable global, por ejemplo, la memoria de la agrupación de funciones, no está disponible en la tarea secundaria. Por lo tanto, deberás estructurar tu programa de tal manera que todos los parámetros necesarios para el procesamiento paralelo se transfieran a través de la llamada de función remota. Y lo mismo se aplica para devolver resultados a la tarea principal: Todos los resultados que la tarea principal necesita deben ser devueltos a través de la interfaz aRFC. <br />(Si tu proceso hijo escribe datos en la base de datos y el proceso padre no necesita esos datos o podría leerlos de la base de datos, no es necesario enviar esos datos de vuelta a través del aRFC, por supuesto).</p><p>Funciona de la siguiente manera-</p><p>Cuando se llama al Administrador de Tareas, la aplicación especifica 3 rutinas de formulario que se llaman dinámicamente desde el marco SPTA.<br />1. BEFORE_RFC_CALLBACK_FORM<br />2. IN_RFC_CALLBACK_FORM<br />3. AFTER_RFC_CALLBACK_FORM<br />Cada vez que el Administrador de Tareas tiene la intención de lanzar una nueva tarea paralela, llama al formulario de devolución de llamada BEFORE_RFC de la aplicación. Dentro de este formulario, la aplicación determina si desea iniciar una nueva tarea en este momento y, de ser así, qué parámetros necesita suministrar a la tarea secundaria. <br />Si se solicita, el Administrador de Tareas inicia una nueva tarea secundaria. Esta tarea secundaria llama al formulario de devolución de llamada IN_RFC y le pasa los parámetros especificados. Una vez que la aplicación ha completado su procesamiento, puede devolver algunos parámetros de esta rutina al Administrador de Tareas.<br />Una vez que se completa el formulario de devolución de llamada IN_RFC, el Administrador de Tareas llamará al formulario de devolución de llamada AFTER_RFC y devolverá los parámetros del formulario de devolución de llamada IN_RFC.</p><p> </p>

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?