Utilizzare il nodo DataUpdate per interagire con un database nell'origine dati ODBC specificata. Il nodo DataUpdate è una versione specializzata del nodo Database e l'interazione è limitata all'aggiornamento di una o più righe di una tabella all'interno del database. Si specificano i dati da aggiornare definendo le istruzioni di mappatura che utilizzano i dati dal messaggio di input in qualche modo per identificare l'azione richiesta.
E' possibile impostare una proprietà per controllare se l'aggiornamento al database è sottoposto a commit immediatamente o se questa operazione è rimandata fino al completamento del flusso di messaggi, a quel punto l'aggiornamento è sottoposto a commit o rollback in base allo stato di completamento generale del flusso di messaggi.
Il nodo DataUpdate è rappresentato nel workbench dalla seguente icona:
Prendere in considerazione una situazione in cui sono stati aggiunti dei dettagli di un nuovo prodotto, una tastiera, al database della merce in magazzino. Si è appena ricevuto un messaggio dal dipartimento della merce in entrata che indica che sono state consegnate in sede 500 tastiere. E' possibile utilizzare il nodo DataUpdate per modificare la quantità di tastiere nel database da zero a 500.
Una volta inserita un'istanza del nodo DataUpdate in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Vengono visualizzate le proprietà base del nodo.
Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.
Configurare il nodo DataUpdate come segue:
Sui sistemi z/OS, il broker utilizza l'ID dell'attività avviata dal broker o l'ID utente e la password specificati nel JCL del comando mqsisetdbparms, BIPSDBP nel data set di personalizzazione <hlq>.SBIPPROC.
Facendo clic su Sfoglia accanto a questo campo di immissione, viene visualizzata una finestra di dialogo che elenca tutte le routine di mappatura disponibili a cui può accedere questo nodo. Selezionare la routine desiderata e fare clic su OK. Il nome della routine è impostato in Istruzione.
Per gestire la routine di mappatura associata a questo nodo, fare clic con il tasto destro del mouse sul nodo e fare clic su Apri mappature. Se la routine di mappatura non esiste, essa viene creata con il nome predefinito nel file predefinito. Se il file già esiste, è possibile anche aprire <flow_name>_<node_name>.mfmap nella vista Navigator.
Una routine di mappatura è specifica per il tipo di nodo a cui è associata; non è possibile utilizzare una routine di mappatura sviluppata per un nodo DataUpdate con un qualsiasi altro nodo che utilizza le mappature (ad esempio, un nodo DataInsert). Se si crea una routine di mappatura, non è possibile richiamarla da altre routine di mappatura, sebbene la si possa richiamare da una routine ESQL.
Quando si seleziona tale casella, il nodo gestisce tutti i codici di ritorno positivi provenienti dal database come errori e genera eccezioni nello stesso modo in cui gestisce gli errori negativi o più gravi.
Se non si seleziona la casella, il nodo considera le avvertenze come codici di ritorno normali e non genera alcuna eccezione. L'avvertenza più significativa è non trovato, che può essere gestita come un codice di ritorno normale senza alcun rischio, nella maggior parte dei casi.
Se si deseleziona la casella, è necessario gestire l'errore nel flusso di messaggi per garantire l'integrità del broker e del database: l'errore viene ignorato se non lo si gestisce con la propria elaborazione, poiché si è scelto di non richiamare la gestione errori predefinita da parte del broker. Ad esempio, si potrebbe connettere il terminale failure a una routine secondaria di elaborazione errori.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.
Nella tabella riportata di seguito vengono descritti i terminali del nodo DataUpdate:
Terminale | Descrizione |
---|---|
In | Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo. |
Failure | Il terminale di output a cui è trasmesso il messaggio di input se si rileva un errore durante il calcolo. Se è stata selezionata l'opzione Valuta le avvertenze come errori, il nodo trasmette il messaggio a questo terminale anche se l'elaborazione termina con esito positivo. |
Out | Il terminale di output che emette il messaggio in seguito all'esecuzione dell'istruzione del database. |
Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).
Le proprietà base del nodo DataUpdate sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Origine dati | No | Sì | Il nome dell'origine dati ODBC del database in cui risiedono le tabelle a cui si fa riferimento nelle mappature associate a questo nodo (identificato dalla proprietà Istruzione). | |
Istruzione | Sì | No | DataUpdate | Il nome della routine di mappatura che contiene le istruzioni da eseguire sul database o sulla struttura ad albero del messaggio. La routine è univoca per questo tipo di nodo. |
Transazione | Sì | No | Automatico | La modalità transazione per il nodo. Questa può avere il valore di Automatico o Commit. |
Valuta le avvertenze come errori | Sì | No | Deselezionata | Indica di valutare le avvertenze SQL del database come errori. Questa azione viene eseguita se si seleziona la casella di spunta. |
Genera eccezione in caso di errore database | Sì | No | Selezionata | Gli errori di database fanno sì che il broker generi un'eccezione. Questa azione viene eseguita se si seleziona la casella di spunta. |
Nella tabella riportata di seguito vengono descritte le proprietà di Descrizione del nodo DataUpdate.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Una breve descrizione del nodo. | |
Descrizione completa | No | No | Testo che descrive lo scopo del nodo nel flusso di messaggi. |