Un file di modello write back è un file in formato XML che contiene uno o più modelli di write back.
Un modello di write back è costituito da un elemento WebMessage che specifica il nome del modello, il connection pool e le istruzioni SQL necessarie per inserire e aggiornare i record nelle tabelle e nelle colonne di write back create. Quando i designer del contenuto abilitano una vista tabella per il write back, devono specificare il nome del modello di write back da utilizzare per inserire e aggiornare i record nella vista tabella.
Un modello di write back deve soddisfare i requisiti riportati di seguito.
WebMessage: è necessario specificare un nome per il modello di write back utilizzando l'attributo name nell'elemento WebMessage.
Affinché il write back funzioni correttamente, quando si abilita una vista tabella per il write back, il designer del contenuto deve specificare il nome del modello di write back da utilizzare per inserire e aggiornare i record nella vista.
In questo esempio viene mostrato un modello di write back denominato SetQuotaUseID.
<WebMessage name="SetQuotaUseID">
connectionPool: per soddisfare i requisiti di sicurezza, è necessario specificare il connection pool insieme ai comandi SQL per inserire e aggiornare i record. Questi comandi SQL fanno riferimento ai valori passati nello schema di write back per generare le istruzioni SQL di modifica della tabella di database.
VALUES: è possibile fare riferimento ai valori delle colonne in base all'ID colonna o alla posizione colonna. È preferibile l'uso dell'ID colonna.
Racchiudere tra apici i valori di stringa e data. Gli apici non sono richiesti per i valori numerici.
ID colonna: ogni ID colonna è alfanumerico e generato in modo casuale. È possibile trovare gli ID colonna nella definizione XML dell'analisi disponibile nella scheda Avanzate dell'editor di analisi. Ad esempio, i valori ID colonna come: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'
Quando si usano gli ID colonna, il write back continua a funzionare anche quando l'ordine delle colonne cambia.

Posizione colonna: la numerazione delle posizioni colonna inizia con 1. Ad esempio, valori di posizione colonna come: @1, @3, '@5'
Se l'ordine delle colonne cambia, il write back non funziona più e questo è il motivo per cui si preferiscono gli ID colonna.
Nel modello è necessario includere sia un elemento <insert> che un elemento <update>. Se non si desidera includere comandi SQL all'interno degli elementi, è necessario inserire uno spazio vuoto tra le tag di apertura e chiusura. Ad esempio, è necessario immettere l'elemento come:
<insert> </insert>
anziché:
<insert></insert>
Se si omette lo spazio vuoto, viene visualizzato un messaggio di errore di write back, ad esempio "Il sistema non è in grado di leggere il modello di write back 'my_template'".
Se il tipo dati di un parametro non è un numero intero o reale, racchiuderlo tra apici. Se il database non esegue i commit automaticamente, aggiungere il nodo postUpdate facoltativo dopo i nodi insert e update per forzare il commit. La sintassi del nodo postUpdate segue in genere questo esempio:
<postUpdate>COMMIT</postUpdate>
Esempio di file modello di write back con sintassi dell'ID colonna
Un file modello di write back che fa riferimento ai valori in base all'ID colonna potrebbe essere simile all'esempio riportato di seguito.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="SetQuotaUseID">
<XML>
<writeBack connectionPool="Supplier">
<insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
<update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Esempio di file modello di write back con sintassi della posizione colonna
Un file modello di write back che fa riferimento ai valori in base alla posizione colonna potrebbe essere simile all'esempio riportato di seguito.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="SetQuota">
<XML>
<writeBack connectionPool="Supplier">
<insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert>
<update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>