Accesso alla struttura ad albero Environment

La struttura ad albero Environment ha il proprio nome di correlazione, Environment, ed è necessario utilizzare questo nome in tutte le istruzioni ESQL che fanno riferimento al contenuto di questa struttura ad albero.

La struttura ad albero Environment viene sempre creata quando si crea la struttura ad albero logica per un messaggio di input. Tuttavia, il flusso di messaggi non popola la struttura e non ne utilizza il contenuto. E' possibile utilizzare questa struttura ad albero per i propri fini, ad esempio, per trasmettere informazioni da un nodo all'altro. E' possibile utilizzare l'intera struttura ad albero come blocco per scrivere o come area di lavoro.

Il vantaggio di creare i propri dati nella struttura ad albero Environment è che questi dati sono trasmessi come parte della struttura ad albero logica ai nodi successivi nel flusso di messaggi. Se si crea un nuovo messaggio di output in un nodo Compute, anche la struttura ad albero Environment viene copiata dal messaggio di input al nuovo messaggio di output. (Questo è in contrasto con la struttura ad albero LocalEnvironment, che è inclusa nel messaggio di output solo se lo si richiede esplicitamente).

E' presente solo una struttura ad albero Environment per la durata del flusso di messaggi. Tutti gli aggiornamenti o le aggiunte di dati che vengono eseguiti in un nodo sono conservati e tutti i nodi nel flusso di messaggi hanno accesso all'ultima copia di questa struttura ad albero. Anche se il messaggio torna indietro nel flusso di messaggi (ad esempio, se è generata un'eccezione o se il messaggio viene elaborato tramite il secondo terminale del nodo FlowOrder), viene conservato lo stato più recente.

Questo è in contrasto con la struttura ad albero LocalEnvironment, che torna allo stato precedente se il messaggio torna indietro nel flusso di messaggi.

E' possibile utilizzare questa struttura ad albero per qualsiasi scopo. Ad esempio, si potrebbero utilizzare le seguenti istruzioni ESQL per creare campi nella struttura ad albero:
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)};

Queste informazioni sono ora disponibili a tutti i nodi a cui è trasmesso il messaggio, indipendentemente dalla rispettiva posizione nel flusso di messaggi.

Per un altro esempio di come utilizzare Environment per memorizzare le informazioni utilizzate da altri nodi nel flusso di messaggi, fare riferimento al flusso di messaggi Reservation nel programma di esempio Compagnie aeree. Il nodo Compute in questo flusso di messaggi scrive, nella struttura ad albero secondaria Environment.Variables, le informazioni estratte da un database in base al valore di un campo nel messaggio di input.

Concetti correlati
Panoramica dei flussi di messaggi
Struttura ad albero Environment
Panoramica di ESQL
Creazione di modelli di messaggio
Attività correlate
Progettazione di un flusso di messaggi
Definizione del contenuto del flusso di messaggi
Gestione dei file ESQL
Riferimenti correlati
Nodo Compute
Nodo Database
Nodo Filter
Riferimento ESQL
Funzione del costruttore ROW
Funzione del costruttore LIST
ROW e LIST combinate
Confronti tra ROW e LIST
Istruzione SET
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac16840_