Acceso al árbol LocalEnvironment

El árbol LocalEnvironment tiene su propio nombre de correlación, LocalEnvironment, y debe utilizarlo en todas las sentencias ESQL que hacen referencia o establecen el contenido de este árbol.

El intermediario utiliza el árbol LocalEnvironment y puede hacer referencia al mismo y modificar esta información. También puede ampliar el árbol para que contenga información que ha creado usted mismo. Puede crear subárboles en este árbol que puede utilizar como un área de trabajo temporal o área de trabajo.

En este tema se describe cómo hacer referencia a la información establecida por el intermediario. Utilización de las áreas de trabajo temporal de LocalEnvironment describe cómo se amplía el contenido de este árbol para la finalidad que desee.

El flujo de mensajes establece la información en dos subárboles, Destination y WrittenDestination, debajo de la raíz LocalEnvironment. Puede hacer referencia al contenido de ambos y puede escribir datos que afecten el modo en que el flujo de mensajes procesa el mensaje. No obstante, si escribe estas áreas, asegúrese de que sigue la estructura definida para garantizar que el árbol continúa siendo válido. Para obtener información más detallada sobre el contenido, consulte Árbol LocalEnvironment.

Si desea que se incluya el árbol LocalEnvironment en el mensaje de salida que propaga el nodo Compute, asegúrese de que copia este árbol estableciendo la propiedad del nodo Compute Modalidad de cálculo en un valor que incluye LocalEnvironment (por ejemplo, Todo). Si no lo hace, el árbol LocalEnvironment no se incluye en el mensaje de salida.

Por ejemplo, para comprobar si los destinos WebSphere MQ están presentes en el subárbol Destination:
DECLARE cursor REFERENCE TO LocalEnvironment.Destination.MQ;

IF LASTMOVE(cursor) THEN
Para actualizar el subárbol Destination de modo que cambie el nombre de una colaWebSphere MQ en la que se graba el mensaje de salida, codifique lo siguiente (se utiliza el cursor de referencia, declarado en el ejemplo anterior):
SET cursor.DestinationData.queueManagerName = 'myNewQManagerName';
SET cursor.DestinationData.queueName = 'myNewQueueName';
La información que inserte en DestinationData o Defaults depende de la característica de la propiedad del nodo correspondiente:
  • Si se representa una propiedad de nodo mediante un recuadro de selección (por ejemplo, Nuevo ID de mensaje), establezca el elemento Defaults o DestinationData en Sí (lo cual es equivalente a seleccionar el recuadro de selección) o No (lo cual es equivalente a quitar la marca del recuadro de selección).
  • Si se representa una propiedad de nodo mediante una lista desplegable (por ejemplo, Modalidad de transacción), establezca el elemento Defaults o DestinationData en la serie de caracteres adecuada (por ejemplo, Automatic).
  • Si se representa una propiedad de nodo mediante un campo de entrada de texto (por ejemplo, Nombre del gestor de colas), establezca el elemento Defaults o DestinationData en la serie de caracteres que se entra normalmente en este campo.
Debe configurar el nodo de salida de modo que indique donde se encuentra la información para el mensaje de salida:
  • Si establece Modalidad de destino en Nombre de cola, el mensaje de salida se envía a la cola identificada en las propiedades del nodo de salida Nombre de cola y Nombre del gestor de colas. El nodo no hace referencia al destino.
  • Si establece Modalidad de destino en Lista de destino, el nodo extrae la información de destino del subárbol Destination. Esto significa que puede enviar un solo mensaje a varios destinos si configura Destination y un nodo de salida individual correctamente. El nodo solamente comprueba las propiedades del nodo si un valor no está disponible en Destination (como se ha descrito anteriormente).
  • Si establece Modalidad de destino en Cola de respuestas, el mensaje se envía a la cola de respuestas identificada en MQMD en este mensaje (campo ReplyToQ). El nodo no hace referencia al destino.

Para obtener información acerca de la lista completa de elementos de los subárboles Defaults y DestinationData, consulte Los tipos de datos de los elementos del subárbol DestinationData.

Para obtener otro ejemplo de cómo puede utilizar LocalEnvironment para modificar el comportamiento de un flujo de mensajes, consulte el flujo de mensajes XML_PassengerQuery en el programa de ejemplo Airline. El nodo Compute de este flujo de mensajes graba una lista de destinos en el subárbol RouterList de Destination que se utilizan como etiquetas en un nodo RouteToLabel que propaga el mensaje al nodo Label correspondiente.

Conceptos relacionados
Flujos de mensajes
Árbol LocalEnvironment
ESQL
Diseño de mensajes

Tareas relacionadas
Diseño de un flujo de mensajes
Creación de listas de destinos
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL

Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
Los tipos de datos de los elementos del subárbol DestinationData
ESQL
Sentencia DECLARE
Función LASTMOVE
Sentencia SET