Файл шаблона обратной записи – это файл в формате XML, содержащий один или несколько шаблонов обратной записи.
Шаблон обратной записи состоит из элемента WebMessage, в котором указывается имя шаблона, пул подключений и операторы SQL, необходимые для вставки и обновления записей в созданных таблицах и столбцах обратной записи. Когда разработчики контента включают табличное представление для обратной записи, они должны указать имя шаблона обратной записи, который будет использоваться для вставки и обновления записей в табличном представлении.
Шаблон обратной записи должен соответствовать следующим требованиям:
WebMessage: необходимо указать имя шаблона обратной записи с помощью атрибута name в элементе WebMessage.
Чтобы обратная запись работала правильно, при включении ее в табличное представление разработчик контента должен указать имя шаблона обратной записи, который будет использоваться для вставки и обновления записей в представлении.
В примере показан шаблон обратной записи под именем SetQuotaUseID.
<WebMessage name="SetQuotaUseID">
connectionPool: для соответствия требованиям безопасности необходимо указать пул подключений, а также команды SQL для вставки и обновления записей. Эти команды SQL ссылаются на значения, которые передаются в схеме обратной записи, чтобы сгенерировать инструкции SQL для изменения таблицы базы данных.
VALUES: на значения столбцов можно ссылаться по идентификатору столбца или по позиции столбца. Предпочтительнее использовать идентификатор столбца.
Заключите значения строк и дат в одинарные кавычки. Одинарные кавычки не требуются для числовых значений.
Идентификатор столбца – идентификатор каждого столбца является буквенно-цифровым и генерируется случайным образом. Идентификаторы столбцов можно найти в определении XML анализа, которое доступно на вкладке Дополнительно редактора анализа. Например, значения идентификаторов столбцов могут быть следующими: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'
Если используется идентификатор столбца, обратная запись продолжает работать даже при изменении порядка столбцов.

Положение столбца – нумерация положения столбцов начинается с 1. Например, значения положения столбцов могут быть следующими: @1, @3, '@5'
Если порядок столбцов меняется, обратная запись больше не работает, и это причина, по которой идентификаторы столбцов предпочтительнее.
Необходимо включить в шаблон оба элемента: <insert> и <update>. Если не требуется включать команды SQL в элементы, то между открывающим и закрывающим тегами нужно вставить пробел. Например, необходимо ввести такой элемент:
<insert> </insert>
А не такой:
<insert></insert>
Если опустить пробел, появится сообщение об ошибке обратной записи, например "Система не может прочитать шаблон обратной записи 'my_template'".
Если тип данных параметра не является целым или вещественным числом, заключите его в одинарные кавычки. Если база данных не выполняет завершения транзакций автоматически, добавьте необязательный узел postUpdate после узлов insert и update, чтобы принудительно выполнить завершение транзакции. Узел postUpdate обычно следует этому примеру:
<postUpdate>COMMIT</postUpdate>
Пример обратной записи файла шаблона с использованием синтаксиса идентификатора столбца
Файл шаблона обратной записи, ссылающийся на значения по идентификатору столбца, может выглядеть так:
<?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>
Пример обратной записи файла шаблона с использованием синтаксиса положения столбца
Файл шаблона обратной записи, который ссылается на значения по позиции столбца, может выглядеть так:
<?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>