Acceder al árbol Environment

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

El árbol Environment se crea siempre que se crea el árbol lógico para un mensaje de entrada. No obstante, el flujo de mensajes ni lo rellena ni utiliza su contenido. Puede utilizar este árbol para sus propios fines, por ejemplo, para pasar información de un nodo a otro. Puede utilizar todo el árbol como área de borrador o entorno de trabajo.

La ventaja de crear sus propios datos en el árbol Environment es que estos datos se propagan como parte del árbol lógico a los nodos siguientes del flujo de mensajes. si crea un nuevo mensaje de salida en un nodo Compute, el árbol Environment se copia también del mensaje de entrada al nuevo mensaje de salida. A diferencia de lo que ocurre en el árbol LocalEnvironment, que sólo se incluye en el mensaje de salida si solicita explícitamente que así sea.

Sólo hay un árbol Environment mientras dura el flujo de mensajes. Cualquier actualización o adición que efectúe en un nodo se retiene y todos los nodos del flujo de mensajes tienen acceso a la copia más reciente de este árbol. Incluso si el mensaje fluye hacia atrás por el flujo de mensajes, por ejemplo, si se genera una excepción o si se procesa el mensaje a través del segundo terminal del nodo FlowOrder), se retiene el estado más reciente.

A diferencia de lo que ocurre en el árbol LocalEnvironment, que regresa a su estado anterior si el mensaje fluye hacia atrás por el flujo de mensajes.

Puede utilizar este árbol para la finalidad que desee. Por ejemplo, puede utilizar las siguientes sentencias ESQL para crear los campos del árbol:
SET Environment.Variables = 
      ROW('granary' AS bread, 'reisling' AS wine, 'stilton' AS cheese);
SET Environment.Variables.Colors[] = 
      LIST{'yellow', 'green', 'blue', 'red', 'black'};
SET Environment.Variables.Country[] = LIST{ROW('UK' AS name, 'pound' AS currency),
   ROW('USA' AS name, 'dollar' AS currency)};

Esta información está ahora disponible para todos los nodos a los que se propaga un mensaje, independientemente de la posición relativa que tengan en el flujo de mensajes.

Para obtener otro ejemplo de cómo puede utilizar el árbol Environment para almacenar la información que utilizan los otros nodos del flujo de mensajes, consulte el flujo de mensajes Reservation del programa de ejemplo Reserva de vuelos. El nodo Compute de este flujo de mensajes graba la información en el subárbol Environment.Variables que se extrae de una base de datos según el valor de un campo del mensaje de entrada.

Conceptos relacionados
Visión general de flujos de mensajes
Estructura del árbol Environment
Visión general de ESQL
Modelado de mensajes
Tareas relacionadas
Diseñar un flujo de mensajes
Definir el contenido del flujo de mensajes
Gestión de archivos ESQL
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
Referencia de ESQL
Función del constructor ROW
Función del constructor LIST
ROW y LIST combinados
ROW y LIST comparados
Sentencia SET
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac16840_