Plik szablonów zapisu zwrotnego to plik w formacie XML zawierający co najmniej jeden szablon zapisu zwrotnego.
Szablon zapisu zwrotnego zawiera element WebMessage określający nazwę szablonu, pulę połączeń oraz instrukcje SQL, które są potrzebne do wstawiania i aktualizowania rekordów w tworzonych przez użytkownika tabelach i kolumnach zapisu zwrotnego. Podczas włączania widoku tabeli dla zapisu zwrotnego projektanci zawartości muszą określić nazwę szablonu zapisu zwrotnego, który ma być używany w celu wstawiania i aktualizowania rekordów w widoku tabeli.
Szablon zapisu zwrotnego musi spełniać następujące wymagania:
WebMessage: należy określić nazwę szablonu zapisu zwrotnego, używając atrybutu name w elemencie WebMessage.
Aby zapis zwrotny działał poprawnie, projektant zawartości musi podczas włączania widoku tabeli dla zapisu zwrotnego określić nazwę szablonu zapisu zwrotnego, który będzie używany do wstawiania i aktualizowania rekordów w widoku.
W tym przykładzie pokazano szablon zapisu zwrotnego o nazwie SetQuotaUseID.
<WebMessage name="SetQuotaUseID">
connectionPool: aby spełnić wymagania dotyczące zabezpieczeń, należy określić pulę połączeń wraz poleceniami SQL, które będą używane w celu wstawiania i aktualizowania rekordów. Te polecenia SQL odwołują się do wartości przekazywanych w schemacie zapisu zwrotnego w celu wygenerowania instrukcji SQL służących do modyfikowania tabeli bazy danych.
VALUES: do wartości w kolumnach można odwoływać się za pomocą ID kolumny lub pozycji kolumny. Preferowane jest używanie ID kolumny.
Wartości napisowe i wartości daty należy umieszczać w apostrofach. Apostrofy nie są wymagane w przypadku wartości liczbowych.
ID kolumny - każdy ID kolumny jest alfanumeryczny i został wygenerowany losowo. ID kolumn można znaleźć w definicji XML analizy, która jest dostępna na karcie Zaawansowane w edytorze analiz. Następujące wartości są przykładowymi ID kolumn: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'
Gdy są używane ID kolumn, zapis zwrotny działa nawet po zmianie kolejności kolumn.

Pozycja kolumny - numerowanie pozycji kolumn rozpoczyna się od 1. Następujące wartości są przykładowymi pozycjami kolumn: @1, @3, '@5'
Zmiana kolejności kolumn spowoduje, że zapis zwrotny przestanie działać i jest to przyczyna, dla której preferowane jest używanie ID kolumn.
W szablonie musi znaleźć się zarówno element <insert>, jak i element <update>. Jeśli nie jest planowane umieszczenie poleceń SQL w tych elementach, należy wstawić spację między znacznikiem otwierającym a zamykającym. Na przykład należy wprowadzić taki element:
<insert> </insert>
A nie taki:
<insert></insert>
Pominięcie spacji spowoduje wyświetlenie komunikatu o błędzie zapisu zwrotnego, takiego jak "System nie może odczytać szablonu "mój_szablon" zapisywania zwrotnego".
Jeśli typem danych parametru nie jest liczba całkowita ani rzeczywista, należy ująć wartość parametru w apostrofy. Jeśli w bazie danych nie są automatycznie wykonywane operacje zatwierdzania, należy dodać opcjonalny węzeł postUpdate po węzłach insert i update, aby wymuszać zatwierdzanie. Węzeł postUpdate zazwyczaj wygląda tak jak w poniższym przykładzie:
<postUpdate>COMMIT</postUpdate>
Przykład pliku szablonów zapisu zwrotnego, w którym jest używana składnia ID kolumn
Plik szablonów zapisu zwrotnego, w którym do odwoływania się do wartości są używane ID kolumn, mógłby wyglądać następująco:
<?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>
Przykład pliku szablonów zapisu zwrotnego, w którym jest używana składnia pozycji kolumn
Plik szablonów zapisu zwrotnego, w którym do odwoływania się do wartości są używane pozycje kolumn, mógłby wyglądać następująco:
<?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>