Limitazioni e suggerimenti relativi alla mappatura dei messaggi

Questi suggerimenti presuppongono che sia stato creato un nodo Mapping all'interno del flusso di messaggi, aperto l'editor di mappatura dei messaggi e selezionato sia un messaggio di origine che uno di destinazione:

L'origine è un elenco e la destinazione è un elenco dell'origine, ma con una nuova voce all'inizio dell'elenco

  1. Espandere la destinazione per visualizzare l'elemento per il quale si desidera creare una nuova prima istanza. Questa potrebbe essere una struttura o un singolo elemento.
  2. Fare clic con il tasto destro del mouse sull'elemento e fare clic su If. Viene visualizzata immediatamente sotto una linea di condizione.
  3. Fare clic con il tasto destro del mouse sull'elemento e fare clic su Copia. Portarsi sulla linea di condizione e fare clic su Incolla. A questo punto, sono presenti due voci nel foglio elettronico per l'elemento.
  4. Impostare la prima di queste voci sui valori desiderati. Questa è la prima istanza.
  5. Fare clic con il tasto destro del mouse sulla seconda voce e fare clic su For. Nel foglio elettronico viene visualizzata una linea "for".
  6. Impostare la seconda voce su uno o più valori di cui è stata eseguita la mappatura dall'origine.
  7. Impostare la voce "for" sulla condizione di loop.
  8. Fare clic su "for" quindi trascinare il campo di origine che rappresenta la condizione di loop sull'editor Expression.

Modifica del programma di analisi di runtime di destinazione

Quando si crea inizialmente una mappatura, viene designata una serie di messaggi per il messaggio di destinazione. Il programma di analisi associato al messaggio di output è il programma di analisi di runtime associato alla serie di messaggi. Ad esempio, quando una serie di messaggi viene creata per la prima volta, il programma di analisi di runtime predefinito è MRM. Ciò significa che il nodo Mapping genera un'istruzione ESQL con il seguente formato:
SET OutputRoot.MRM.Fielda...
Se ad esempio, si cambia il programma di analisi di runtime in XML o XMLNSC, il nodo Mapping genera l'istruzione ESQL con il seguente formato:
SET OutputRoot.XMLNSC...
Il programma di analisi del messaggio di origine è determinato dall'intestazione MQRFH2 o dal nodo di input. Il nodo Mapping può gestire tutti i programmi di analisi in input. Il nodo Mapping genera un messaggio di destinazione con un programma di analisi che corrisponde al programma di analisi di runtime della serie di messaggi.
  1. Aprire il file della serie di messaggi messageset.mset.
  2. Modificare il programma di analisi di runtime con un valore a scelta e salvare uno o più progetti flusso di messaggi, facendo riferimento a questa serie di messaggi ai fini della mappatura.
  3. Se il programma di analisi è stato modificato in MRM, distribuire la serie di messaggi.
  4. Distribuire il flusso di messaggi contenente le mappature e verificare l'ESQL in un nodo Compute e in altri nodi per accertarne il corretto funzionamento.

Sostituzione del nome dello schema del database

Per modificare il nome dello schema del database generato in ESQL, utilizzare la procedura guidata Sostituisci lo schema RDB nella finestra di dialogo Specifica uno schema di runtime. Il valore predefinito è il nome dello schema delle definizioni di database importate nel Message Brokers Toolkit. Utilizzare questa finestra di dialogo per modificare il valore.

Esecuzione della mappatura di messaggi batch

E' possibile configurare una mappatura dei messaggi che ordina e suddivide i componenti di un messaggio multipart in una serie di messaggi batch. Tali componenti possono essere messaggi o oggetti e possono avere formati diversi. In tale caso, ciascun componente viene convertito e il messaggio viene riassemblato prima di essere inoltrato.
  1. Utilizzare un Nodo RouteToLabel nel flusso di messaggi per ricevere come input messaggi multipart.

    Il nodo RouteToLabel è il nodo successivo nella sequenza dopo il Nodo Mapping e fa sì che il flusso passi automaticamente all'etichetta specificata. E' possibile specificare un solo valore RouteToLabel in una mappa di suddivisione, per tutte le mappe il cui output è un assemblaggio di messaggi. E' possibile inoltre utilizzare condizioni per impostare il valore RouteToLabel a seconda dei valori nel messaggio di origine.

  2. Utilizzare l'Editor di mappatura dei messaggi per creare mappe che trasformano e distribuiscono i messaggi batch in un solo nodo, senza dover definire una struttura di dati intermedia.

I messaggi multipart possono contenere inoltre messaggi integrati ripetuti, in cui ciascuna istanza ripetuta di un messaggio viene distribuita separatamente. I messaggi integrati devono appartenere alla stessa serie di messaggi di quello parent.

Limitazioni della mappatura

A meno che indicato esplicitamente, è possibile ottenere la funzionalità richiesta richiamando una procedura o una funzione ESQL. Di seguito sono riportate alcune limitazioni:
  • Non è possibile eseguire la mappatura di campi con contenuto misto.
  • Non è possibile generare direttamente le eccezioni nei nodi Mapping.
  • Non è possibile manipolare elementi definiti in modo autonomo nei nodi Mapping (il supporto per i wildcard è limitato quando questi rappresentano messaggi integrati).
  • Non è possibile manipolare la struttura ad albero Environment nel nodo Mapping.
  • Non è possibile definire e impostare le variabili dell'utente.
  • Non è possibile emulare le espressioni CASE; è necessario utilizzare if/else.
  • Non è possibile eseguire la copia delle strutture ad albero da input a output per modificare gli elementi all'interno della struttura copiata. As esempio, non è possibile modellare l'ESQL riportata di seguito in un nodo Mapping:
    SET OutputRoot.MQMD = InputRoot.MQMD; SET OutputRoot.MQMD.ReplyToQ = 'NEW.QUEUE';
    E' necessario impostare nella struttura ciascun campo singolarmente se si intende modificare uno o più campi correlati.
Concetti correlati
Editor di mappatura dei messaggi
Dominio e programma di analisi MRM
Domini e programmi di analisi XML
Attività correlate
Sviluppo di ESQL
Riferimenti correlati
Nodo Mapping
Nodo Compute
Nodo RouteToLabel
Mappature di messaggi
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ar25245_