You can read this post in any language by clicking on this gadget =======>
(Puedes leer esta publicacion en cualquier idioma haciendo click en esta aplicación)
El comando TFRCTL es utilizado en programas CLP y trabaja solamente en entorno OPM. No funciona en entorno ILE.
TFRCTL es un comando poco conocido que puede ayudar a reducir el tiempo de respuesta en procesos que tienen una secuencia de llamadas entre varios CLP y que no requieren un entorno ILE.
Cuando se ejecuta un programa, el sistema destina un espacio de memoria. En este espacio se almacen la información necesaria para que el código del programa sea ejecutado y ademas las direcciones necesarias para que el programa "hijo" pueda devolver el control al programa "padre" una vez finalizada la ejecución del programa "hijo".
En el ejemplo a continuación, el programa CLPB transfiere el control al programa CLPC utilizando el comando TFRCTL
A continuación vamos a descifrar que significa todo esto.
El comando TFRCTL se construye de la siguiente manera:
TFRCTL PGM(library-name/program-name) PARM(CL-variable)
La siguiente gráfica puede ser ampliada haciendo click sobre ella.
Se puede apreciar en la secuencia de llamadas que el programa CLPC no retorna a su programa "padre" CLPB, sino que regresa al programa "abuelo" CLPA.
Esto
significa que el programa "padre" CLPB desaparece de la pila de memoria. El
sistema no tiene que verificar las direcciones de retorno ni revisar
las siguientes instrucciones para ejecutarlas en el programa "padre"
antes de regresar al programa "abuelo" CLPA. Esto significa una mejora del performance ya que se reduce el tiempo de ejecución del proceso.
En la gráfica previa:
Se va a ejecutar el código resaltado en amarillo durante la secuencia de llamadas y al final del proceso se ejecutará el código resaltado en rojo. El código resaltado en gris nunca será ejecutado.
Cuando
el programa "hijo" tiene parámetros, se pueden enviar estos parámetros
en el comando TFRCTL siempre y cuando estos parámetros hayan sido
recibidos, a su vez, por el programa "padre". En la gráfica anterior, el programa CLPB recibe el parametro &C y a su vez lo envia al programa CLPB como parámetro. Si el programa CLPB envía al programa CLPC el parámetro &C sin haberlo recibido como parámetro de entrada, la compilación falla.
Cabe destacar que:
-Cualquier override sobre los archivos que se haya realizado en el programa CLPB persiste durante la ejecución del programa CLPC y desaparece una vez que el programa CLPC finalice su ejecución.-Las autorizaciones que hayan sido otorgadas durante la ejecución del programa CLPB persiste durante la ejecución del programa CLPC.
No comments:
Post a Comment