寫回範本檔案是包含一或多個寫回範本的 XML 格式檔案。
寫回範本是由指定範本名稱、連線集區的 WebMessage 元素,以及在寫回表格和資料欄中插入與更新記錄所需的 SQL 敘述句組成。當內容設計人員啟用表格檢視的寫回功能時,必須指定要在表格檢視中用於插入與更新記錄的寫回範本名稱。
寫回範本必須符合以下需求:
WebMessage:您必須在 WebMessage 元素中使用 name 屬性指定寫回範本的名稱。
為了使寫回正確運作,啟用表格檢視的寫回功能時,內容設計人員必須指定要在檢視中用於插入與更新記錄的寫回範本名稱。
此範例顯示名為 SetQuotaUseID 的寫回範本。
<WebMessage name="SetQuotaUseID">
connectionPool:為了符合安全需求,您必須指定連線集區以及插入與更新記錄的 SQL 命令。這些 SQL 命令參照寫回綱要中傳送的值來產生用以修改資料庫表格的 SQL 敘述句。
VALUES:您可以透過資料欄 ID 或資料欄位置來參照資料欄值。使用資料欄 ID 會比較好。
請使用單引號將字串與日期值括起來。數值則不需使用單引號。
資料欄 ID - 每個資料欄 ID 都是隨機產生的文數字。您可以在分析編輯器進階頁籤中可用分析的 XML 定義中找到資料欄 ID。例如,如下所示的資料欄 ID 值:@{c5f6e60e1d6eb1098}、@{c3a93e65731210ed1}、'@{c6b8735ea60ff3011}'
當您使用資料欄 ID 時,即使資料欄順序變更,寫回仍可繼續運作。

資料欄位置 - 資料欄位置會從 1 開始編號。例如,如下所示的資料欄位置值: @1、@3、'@5'
如果資料欄順序變更,寫回便會不再運作,這也是使用資料欄 ID 會比較好的原因。
您必須在範本中包含 <insert> 和 <update> 元素。如果不想在元素中包含 SQL 命令,則必須在開始標記和結束標記之間插入一個空格。例如,您必須以下列方式輸入元素:
<insert> </insert>
而不是:
<insert></insert>
如果省略空格,則會看到像是 「系統無法讀取寫回範本 'my_template'」的寫回錯誤訊息。
如果參數的資料類型不是整數或實數,請使用單引號將它括起來。如果資料庫未自動進行確認,請在 insert 和 update 節點之後新增選擇性的 postUpdate 節點以強制確認。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>