Criar Arquivos de Modelo de Write-Back

Um arquivo de modelo de write-back tem formato XML e contém um ou mais modelos de write-back.

Um modelo de write-back consiste em um elemento WebMessage que especifica o nome do modelo, o pool de conexão e os elementos SQL que são necessários para inserir e atualizar registros nas tabelas e colunas de write-back que você criou. Quando os designers de conteúdo ativam uma view de tabela para write back, eles devem especificar o nome do modelo de write-back a ser usado para inserir e atualizar os registros na view de tabela.

Requisitos para um Modelo de Write-Back

Um modelo de write-back deve atender aos seguintes requisitos:

  • WebMessage: Você deve especificar um nome para o modelo de write-back usando o atributo name no elemento WebMessage.

    Para que o write-back funcione corretamente, ao ativar uma view de tabela para write-back, um designer de conteúdo deve especificar o nome do modelo de write-back a ser usado para inserir e atualizar os registros na view.

    Este exemplo mostra um modelo de write-back chamado SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Para atender aos requisitos de segurança, especifique o pool de conexão com os comandos SQL para inserir e atualizar registros. Esses comandos SQL referenciam os valores que são transmitidos ao esquema de write-back para gerar as instruções SQL a fim de modificar a tabela do banco de dados.

  • VALUES: Valores de coluna podem ser referenciados por ID da coluna ou posição da coluna. O uso preferencial é ID da coluna.

    Coloque entre aspas simples a string e os valores de data. É obrigatório colocar entre aspas simples os valores numéricos.

    • ID da coluna - Cada ID é alfanumérico e gerado aleatoriamente. Você encontra os IDs de coluna na definição de XML da análise que está disponível na guia Avançado do editor de análise. Por exemplo, valores de ID de coluna como: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Ao usar IDs de coluna, o write-back continua funcionando mesmo quando a ordem das colunas é alterada.

      XML na guia Avançado do editor de análise

    • Posição da coluna - As posições iniciam a numeração com 1. Por exemplo, valores de posição de coluna como: @1, @3, '@5'

      Se a ordem das colunas for alterada, o write-back não funcionará mais e esse é o motivo pelo qual a preferência é pelos IDs de coluna.

  • Inclua os elementos <insert> e <update> no modelo. Se você não quiser incluir comandos SQL nos elementos, insira um espaço em branco entre as tags de abertura e fechamento. Por exemplo, digite o elemento como:

    <insert> </insert>
    

    Em vez de:

    <insert></insert>
    

    Se você 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 aspas simples. Se o banco de dados não fizer Commits automaticamente, adicione o nó postUpdate opcional após os nós insert e update para forçar o commit. O nó postUpdate em geral segue este exemplo:

    <postUpdate>COMMIT</postUpdate>
    

Exemplo de Arquivo de Modelo de Write-Back Usando Sintaxe de ID da Coluna

Um arquivo de modelo de write-back que faz referência a valores pelo ID da coluna pode ser semelhante a este 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 Arquivo de Modelo de Write-Back Usando Sintaxe de Posição da Coluna

Um arquivo de modelo de write-back que faz referência a valores pela posição da coluna pode ser semelhante a este 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>