Writeback-Vorlagendateien erstellen

Eine Writeback-Vorlage ist eine XML-Datei, die mindestens eine Writeback-Vorlage enthält.

Eine Writeback-Vorlage besteht aus einem WebMessage-Element, das den Namen der Vorlage, den Verbindungspool und die SQL-Anweisungen angibt, die zum Einfügen und Aktualisieren von Datensätzen in den von Ihnen erstellten Writeback-Tabellen und -Spalten erforderlich sind. Wenn Inhaltsdesigner eine Tabellenansicht zum Writeback aktivieren, müssen sie den Namen der gewünschten Writeback-Vorlage zum Einfügen und Aktualisieren der Datensätze in der Tabellenansicht angeben.

Anforderungen für eine Writeback-Vorlage

Eine Writeback-Vorlage muss die folgenden Anforderungen erfüllen:

  • WebMessage: Sie müssen einen Namen für die Writeback-Vorlage mit dem Attribut name im WebMessage-Element angeben.

    Damit das Writeback ordnungsgemäß funktioniert, müssen Inhaltsdesigner beim Aktivieren einer Tabellenansicht zum Writeback den Namen der gewünschten Writeback-Vorlage zum Einfügen und Aktualisieren der Datensätze in der Ansicht angeben.

    Dieses Beispiel zeigt eine Writeback-Vorlage namens SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Zum Erfüllen von Sicherheitsanforderungen müssen Sie den Verbindungspool zusammen mit den SQL-Befehlen zum Einfügen und Aktualisieren von Datensätzen angeben. Diese SQL-Befehle referenzieren die im Writeback-Schema übergebenen Werte, um die SQL-Anweisungen zum Ändern der Datenbanktabelle zu generieren.

  • VALUES: Spaltenwerte können durch die Spalten-ID oder Spaltenposition referenziert werden. Die Verwendung der Spalten-ID wird bevorzugt.

    Setzen Sie Zeichenfolgen- und Datumswerte in einfache Anführungszeichen. Für numerische Werte sind keine einfachen Anführungszeichen erforderlich.

    • Spalten-ID: Jede Spalten-ID ist alphanumerisch und nach dem Zufallsprinzip generiert. Sie finden die Spalten-IDs in der XML-Definition der Analyse, die auf der Registerkarte Erweitert des Analyseeditors verfügbar ist. Beispiele für Spalten-ID-Werte: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Wenn Sie Spalten-IDs verwenden, funktioniert das Writeback auch bei einer Änderung der Spaltenreihenfolge.

      XML auf der Registerkarte "Erweitert" des Analyseeditors

    • Spaltenposition: Spaltenpositionen beginnen mit der Nummer 1. Beispiele für Spaltenpositionswerte: @1, @3, '@5'

      Wenn die Reihenfolge der Spalten geändert wird, funktioniert das Writeback nicht mehr. Daher werden Spalten-IDs bevorzugt.

  • Sie müssen sowohl ein <insert>- als auch ein <update>-Element in die Vorlage aufnehmen. Wenn die Elemente keine SQL-Befehle enthalten sollen, fügen Sie ein Leerzeichen zwischen dem öffnenden und dem schließenden Tag ein. Beispiel: Geben Sie das Element wie folgt ein:

    <insert> </insert>
    

    Anstatt:

    <insert></insert>
    

    Wenn Sie das Leerzeichen auslassen, wird eine Writeback-Fehlermeldung wie die Folgende angezeigt: "Das System kann die Writeback-Vorlage "my_template" nicht lesen".

  • Wenn der Datentyp eines Parameters keine Ganzzahl oder reelle Zahl ist, setzen Sie ihn in einfache Anführungszeichen. Wenn die Datenbank Commits nicht automatisch ausführt, fügen Sie den optionalen postUpdate-Knoten nach den insert- und update-Knoten hinzu, um den Commit zu erzwingen. Der postUpdate-Knoten entspricht in der Regel diesem Beispiel:

    <postUpdate>COMMIT</postUpdate>
    

Beispiel für Writeback-Vorlagendatei mit Spalten-ID-Syntax

Eine Writeback-Vorlagendatei, die Werte anhand der Spalten-ID referenziert, kann in etwa wie folgt aussehen:

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

Beispiel für Writeback-Vorlagendatei mit Spaltenpositionssyntax

Eine Writeback-Vorlagendatei, die Werte anhand der Spaltenposition referenziert, kann in etwa wie folgt aussehen:

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