Transferencias hacia y desde programas IMSADF

transferencias hacia y desde MPP IMS generados por EGL En IMS/VS, un programa de proceso de mensajes (MPP) puede invocar a otro de dos formas:
Conmutación de mensajes inmediata
En una conmutación de mensajes inmediata, un programa pasa el control directamente a otra transacción sin responder primero al terminal originador. Aunque el programa que realiza la transferencia sea conversacional, el área de anotación temporal de trabajo (SPA) de IMS no se utiliza durante la transferencia; en lugar de ello, el programa somete datos a un PSB alternativo cuyo destino se establece en la transacción receptora.
Si el programa de transferencia se genera mediante EGL, la transferencia se lleva a cabo mediante uno de los elementos de lenguaje siguientes:
  • La sentencia transfer del tipo transfer to transaction o
  • La función del sistema SysLib.startTransaction que solo puede iniciar un programa no conversacional.
Conmutación de mensajes diferida
En una conmutación de mensajes diferida, un programa visualiza un formulario de texto en el terminal de forma que, cuando el usuario lo someta, IMS inicie otra transacción. El mecanismo de transferencia depende de si el programa que realiza la transferencia es conversacional o no conversacional:
  • Un programa transfiriente conversacional modifica el SPA para incluir el nombre de transacción del programa receptor.
  • Un programa transfiriente no conversacional incluye el nuevo nombre de transacción en el formulario de texto a fin de que el nombre esté en los primeros ocho bytes del mensaje recibido por IMS cuando el usuario somete el formulario.
En cualquier caso, el código de datos modificados del formulario de texto debe establecerse para todos los campos de entrada del formulario. En caso contrario, se aplican las consecuencias siguientes:
  • Si el usuario somete el formulario sin cambiar el valor de un campo determinado, el programa receptor no procesa los datos de dicho campo
  • Si el usuario que visualiza el formulario solicita la presentación de un formulario de ayuda y luego vuelve a visualizar el formulario original, los valores de campo del formulario visualizados en el formulario original proceden de los valores por omisión de ese formulario, en lugar de proceder del programa emisor

Si el programa de transferencia se genera mediante EGL, la transferencia se lleva a cabo mediante la sentencia show que incluye una cláusula returning.

La utilización de la propiedad inputForm en un MPP receptor generado por EGL determina qué tipo de conmutación de mensajes es válida:

Cuando transfiere el control de un programa IMS/VS generado por EGL a un programa IMS/VS generado por EGL, el estado conversacional de ambos programas debe ser el mismo: conversacional o no conversacional. Para especificar que un programa generado por EGL ha reservado un SPA, asigne un valor positivo en la opción del descriptor de construcción spaSize.

Conceptos relacionados

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.