Um ficheiro de modelo de write back é um ficheiro formatado como XML que contém um ou mais modelos de write back.
Um modelo de write back consiste num elemento WebMessage que especifica o nome do modelo, o pool de ligações e as instruções de SQL que são necessários para inserir e atualizar registos nas tabelas de write back e colunas que criou. Quando os designers de conteúdo ativam uma visualização de tabela para write back, devem especificar o nome do modelo de write back a utilizar para inserir e atualizar os registos na visualização de tabela.
Um modelo de write back deve cumprir os seguintes requisitos:
WebMessage: Deve especificar um nome do modelo de write back utilizando o atributo name no elemento WebMessage.
Para o write back funcione corretamente, ao ativar uma visualização de tabela para write back, um designer de conteúdo deve especificar o nome do modelo de write back a utilizar para inserir e atualizar os registos na visualização.
Este exemplo mostra um modelo de write back denominado SetQuotaUseID.
<WebMessage name="SetQuotaUseID">
connectionPool: Para cumprir os requisitos de segurança, deve especificar o pool de ligações juntamente com os comandos de SQL para inserir e atualizar registos. Estes comandos de SQL referenciam os valores que são transmitidos no schema de write back para gerar as instruções de SQL de modo a modificar a tabela de base de dados.
VALUES: Os valores de coluna podem ser referenciados por ID da coluna ou posição da coluna. A utilização da ID da coluna é preferencial.
Coloque entre plicas os valores de cadeia de caracteres e de data. As plicas não são necessárias em valores numéricos.
ID de coluna - Cada ID de coluna é alfanumérico e gerado aleatoriamente. Pode encontrar as ID de coluna na definição de XML da análise disponível no separador Avançadas do editor de análises. Por exemplo, valores de ID de coluna como: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'
Quando utiliza as ID de coluna, o write back continua a funcionar mesmo quando a ordem das colunas muda.

Posição de coluna - As posições de coluna começa com o número 1. Por exemplo, valores de posição de coluna como: @1, @3, '@5'
Se a ordem das colunas for alterada, o write back deixa de funcionar e este é o motivo pelo qual as ID de coluna são preferenciais.
Deve incluir tanto um elemento <insert> como um <update> no modelo. Se não pretender incluir comandos de SQL nos elementos, deve inserir um espaço em branco entre os identificadores de abertura e de fecho. Por exemplo, deve introduzir o elemento como:
<insert> </insert>
Em vez de:
<insert></insert>
Se omitir o espaço em branco, verá uma mensagem de erro de write back como "O sistema não pode ler o Modelo de Write Back 'my_template'".
Se o tipo de dados de um parâmetro não for um número inteiro ou real, coloque-o entre plicas. Se a base de dados não fizer Confirmações automaticamente, acrescente o nó opcional postUpdate após os nós insert e update para forçar a confirmação. Normalmente, o nó postUpdate segue este exemplo:
<postUpdate>COMMIT</postUpdate>
Exemplo de Ficheiro de Modelo de Write Back Utilizando a Sintaxe da ID da Coluna
Um ficheiro de modelo de write back que referencia valores por ID de coluna pode ser semelhante ao seguinte exemplo:
<?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>
Exemplo de Ficheiro de Modelo de Write Back Utilizando a Sintaxe da Posição da Coluna
Um ficheiro de modelo de write-back que referencia valores por posição de coluna pode ser semelhante ao seguinte exemplo:
<?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>