ライトバック・テンプレート・ファイルは、1つ以上のライトバック・テンプレートを含むXML形式のファイルです。
ライトバック・テンプレートは、テンプレートの名前を指定するWebMessage要素、接続プール、および作成したライトバック表および列でのレコードの挿入と更新に必要なSQL文によって構成されます。コンテンツ設計者が表ビューのライトバックを有効にするときは、表ビューのレコードの挿入と更新に使用するライトバック・テンプレートの名前を指定する必要があります。
ライトバック・テンプレートは次の要件を満たす必要があります:
WebMessage: WebMessage要素のname属性を使用してライトバック・テンプレートの名前を指定する必要があります。
ライトバックが正しく機能するためには、表ビューのライトバックを有効にするときに、コンテンツ設計者がビューのレコードの挿入と更新に使用するライトバック・テンプレートの名前を指定する必要があります。
この例ではSetQuotaUseIDという名前のライトバック・テンプレートを示します。
<WebMessage name="SetQuotaUseID">
connectionPool: セキュリティ要件を満たすには、接続プールと一緒に、レコードを挿入および更新するためのSQLコマンドも指定する必要があります。これらのSQLコマンドは、ライトバック・スキーマに渡される値を参照して、データベース表を変更するSQL文を生成します。
VALUES: 列の値は列IDまたは列位置で参照できます。列IDの使用をお薦めします。
文字列と日付の値は一重引用符で囲みます。数値には一重引用符は必要ありません。
列ID - 各列IDはランダムに生成された英数字です。列IDは、分析エディタの「詳細」タブにある分析のXML定義で確認できます。たとえば、@{c5f6e60e1d6eb1098}、@{c3a93e65731210ed1}、'@{c6b8735ea60ff3011}'などが列IDの値です
列IDを使用すると、列の順序が変化する場合にもライトバックが作動します。

列位置 - 列位置は1から始まる数です。たとえば、@1、@3、'@5'などが列位置の値です
列の順序が変化するとライトバックは作動しなくなります。これが列IDをお薦めする理由です。
テンプレートには<insert>要素と<update>要素の両方を含める必要があります。要素にSQLコマンドを含めない場合は、開始タグと終了タグの間に空白を挿入する必要があります。たとえば、次のように要素を入力してください:
<insert> </insert>
次のようにしないでください:
<insert></insert>
空白を省略すると、「システムがライトバック・テンプレート'my_template'を読み取ることができません。」のようなライトバック・エラー・メッセージが表示されます。
パラメータのデータ型がintegerまたはrealの数値ではない場合は、一重引用符で囲みます。データベースが自動的にコミットを実行しない場合、オプションのpostUpdateノードをinsertノードとupdateノードの後に追加してコミットを強制します。postUpdateノードは通常は次の例のようになります:
<postUpdate>COMMIT</postUpdate>
列ID構文を使用したライトバック・テンプレートの例
列IDで値を参照するライトバック・テンプレート・ファイルはこの例のようになります:
<?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>
列位置構文を使用したライトバック・テンプレートの例
列位置で値を参照するライトバック・テンプレート・ファイルはこの例のようになります:
<?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>