Crearea de fişiere şablon write-back

Un fişier şablon de write-back este un fişier formatat XML, care conţine unul sau mai multe şabloane de write-back.

Un şablon de write-back este compus dintr-un element WebMessage, care specifică numele şablonului, centralizatorul de conexiuni şi instrucţiunile SQL, care sunt necesare pentru a insera şi a actualiza înregistrările din tabelele şi coloanele de write-back pe care le-aţi creat. Când designerii de conţinut activează o vizualizare de tabel pentru write-back, aceştia trebuie să specifice numele şablonului de write-back de utilizat pentru a insera şi actualiza înregistrările din vizualizarea de tabel.

Cerinţe pentru un şablon de write-back

Un şablon de write-back trebuie să îndeplinească următoarele cerinţe:

  • WebMessage: Trebuie să specificaţi un nume pentru şablonul de write-back utilizând atributul name din elementul WebMessage.

    Pentru ca operaţiunea de write-back să aibă loc corect, în timpul activării unei vizualizări de tabel pentru write-back, un designer de conţinut trebuie să specifice numele şablonului de write-back de utilizat pentru a insera şi actualiza înregistrările din vizualizare.

    Acest exemplu prezintă un şablon de write-back denumit SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Pentru a îndeplini cerinţele de securitate, trebuie să specificaţi centralizatorul de conexiuni şi comenzile SQL pentru inserarea şi actualizarea înregistrărilor. Aceste comenzi SQL referă valorile care sunt transmise în schema de write-back, pentru a genera instrucţiunile SQL pentru modificarea tabelului din baza de date.

  • VALUES: Valorile din coloană pot fi referite prin ID-ul coloanei sau poziţia coloanei. Se preferă utilizarea ID-ului coloanei.

    Încadraţi valorile pentru şir şi dată între ghilimele simple. Ghilimelele simple nu sunt obligatorii pentru valorile numerice.

    • ID coloană - Fiecare ID de coloană este alfanumeric şi se generează aleatoriu. Puteţi găsi ID-urile de coloană în definiţia XML a analizei care este disponibilă în fila Avansat din editorul Analiză. De exemplu, valori pentru ID-urile de coloană, cum ar fi: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Când utilizaţi ID-uri de coloană, operaţiunea de write-back continuă să funcţioneze chiar şi când ordinea coloanelor se modifică.

      XML în fila Avansat din editorul Analiză

    • Poziţie coloană - Poziţiile coloanelor încep numerotarea cu 1. De exemplu, valori pentru poziţiile coloanelor, cum ar fi: @1, @3, '@5'

      Dacă ordinea coloanelor se modifică, operaţiunea de write-back nu mai funcţionează şi acesta este motivul pentru care sunt preferate ID-urile de coloană.

  • Trebuie să includeţi un element <insert> şi unul <update> în şablon. Dacă nu doriţi să includeţi comenzi SQL în elemente, atunci trebuie să inseraţi un spaţiu gol între tagurile de deschidere şi de închidere. De exemplu, trebuie să introduceţi elementul ca:

    <insert> </insert>
    

    În loc de:

    <insert></insert>
    

    Dacă omiteţi spaţiul gol, atunci veţi vedea un mesaj de eroare la write-back, cum ar fi "Sistemul nu poate să citească şablonul de write-back 'my_template'".

  • Dacă tipul datelor unui parametru nu este un număr întreg sau real, atunci încadraţi-l între ghilimele simple. Dacă baza de date nu efectuează confirmări în mod automat, atunci adăugaţi nodul opţional postUpdate după nodurile insert şi update pentru a impune confirmarea. De obicei, nodul postUpdate urmează acest exemplu:

    <postUpdate>COMMIT</postUpdate>
    

Exemplu de fişier şablon de write-back care utilizează sintaxa ID-urilor de coloană

Un fişier şablon de write-back care referă valorile după ID-ul de coloană poate fi asemănător cu acest exemplu:

<?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>

Exemplu de fişier şablon de write-back care utilizează sintaxa poziţiilor coloanelor

Un fişier şablon de write-back care referă valorile după poziţia coloanei poate fi asemănător cu acest exemplu:

<?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>