Write-backsjabloonbestanden maken

Een write-backsjabloon is een bestand met XML-opmaak dat een of meer write-backsjablonen bevat.

Een write-backsjabloon bestaat uit een WebMessage-element dat het volgende opgeeft: de naam van het sjabloon, de verbindingsgroep en de SQL-statements die nodig zijn voor het invoegen en bijwerken van records in de door u gemaakte write-backtabellen en -kolommen. Wanneer inhoudontwerpers een tabelweergave voor write back activeren, moeten ze de naam van het write-backsjabloon opgeven dat wordt gebruikt om de records in de tabelweergave in te voegen en bij te werken.

De vereisten voor een write-backsjabloon

Een write-backsjabloon moet aan de volgende vereisten voldoen:

  • WebMessage: u moet een naam voor het write-backsjabloon opgeven met behulp van het attribuut naam in het WebMessage-element.

    Voor een correcte werking van write-back, moet een inhoudontwerper bij het activeren van een tabelweergave voor write-back de naam van het write-backsjabloon opgeven dat moet worden gebruikt om de records in de weergave in te voegen en bij te werken.

    Dit voorbeeld toont een write-backsjabloon met de naam SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: als u wilt voldoen aan de beveiligingsvereisten moet u de verbindingsgroep opgeven, evenals de SQL-opdrachten voor het invoegen en bijwerken van records. Deze SQL-opdrachten verwijzen naar de waarden die in het write-backschema zijn goedgekeurd voor het genereren van de SQL-statements waarmee de databasetabel wordt bewerkt.

  • VALUES: er kan naar kolomwaarden worden verwezen met de kolom-ID of de kolompositie. Het gebruik van de kolom-ID heeft de voorkeur.

    Omring string- en datumwaarden met enkele aanhalingstekens. Enkele aanhalingstekens zijn niet nodig voor numerieke waarden.

    • Kolom-ID: elke kolom-ID is alfanumeriek en willekeurig gegenereerd. U vindt kolom-ID's in de XML-definitie van de analyse die in het tabblad Geavanceerd van de analyse-editor beschikbaar is. Bijvoorbeeld kolom-ID-waarden zoals: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Wanneer u kolom-ID's gebruikt, blijft write-back werken zelfs als de volgorde van kolommen wijzigt.

      XML in het tabblad 'Geavanceerd' van de analyse-editor

    • Kolompositie: kolomposities beginnen met het cijfer 1. Bijvoorbeeld kolom-ID-waarden zoals: @1, @3, '@5'

      Als de volgorde van kolommen wijzigt, werkt write-back niet meer. Dit is de reden waarom kolom-ID's de voorkeur hebben.

  • U moet in het sjabloon een element <insert> en een element <update> opnemen. Als u geen SQL-opdrachten in de elementen wilt opnemen, moet u een spatie tussen de openende en sluitende tags invoegen. U moet het element bijvoorbeeld als volgt invoeren:

    <insert> </insert>
    

    En niet op deze manier:

    <insert></insert>
    

    Als u geen spatie invoegt, dan krijgt u een write-backfoutmelding zoals "Het systeem kan het write-backsjabloon "my_template" niet lezen".

  • Als het gegevenstype van de parameter geen geheel getal of een reëel getal is, moet u het tussen enkele aanhalingstekens zetten. Als de database niet automatisch vastleggingen uitvoert, voegt u de optionele node postUpdate toe na de nodes insert en update om de vastlegging te forceren. De node postUpdate volgt normaliter dit voorbeeld:

    <postUpdate>COMMIT</postUpdate>
    

Voorbeeld van een write-backsjabloonbestand met behulp van kolom-ID-syntax

Een write-backsjabloonbestand dat naar waarden verwijst door kolom-ID, kan er als volgt uitzien:

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

Voorbeeld van een write-backsjabloonbestand met behulp van kolompositiesyntax

Een write-backsjabloonbestand dat naar waarden verwijst door kolompositie, kan er als volgt uitzien:

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