ไฟล์เทมเพลทการเขียนกลับเป็นไฟล์ในรูปแบบ XML ที่มีเทมเพลทการเขียนกลับอย่างน้อยหนึ่งรายการ
เทมเพลทการเขียนกลับประกอบด้วยอีลิเมนต์ WebMessage ที่ระบุชื่อของเทมเพลท, พูลการเชื่อมต่อ และคำสั่ง SQL ที่จำเป็นต่อการแทรกและอัปเดตเรคคอร์ดในตารางและคอลัมน์การเขียนกลับที่คุณสร้างขึ้น เมื่อผู้ออกแบบเนื้อหาใช้งานวิวตารางสำหรับการเขียนกลับ จะต้องระบุชื่อของเทมเพลทการเขียนกลับเพื่อใช้ในการแทรกและอัปเดตเรคคอร์ดต่างๆ ในวิวตาราง
เทมเพลทการเขียนกลับต้องตรงตามข้อกำหนดต่อไปนี้
WebMessage: คุณต้องระบุชื่อสำหรับเทมเพลทการเขียนกลับโดยใช้แอททริบิว name ในอีลิเมนต์ WebMessage
เพื่อให้การเขียนกลับทำงานอย่างถูกต้อง เมื่อมีการใช้งานวิวตารางสำหรับการเขียนกลับ ผู้ออกแบบเนื้อหาจะต้องระบุชื่อของเทมเพลทการเขียนกลับที่จะใช้ในการแทรกและอัปเดตเรคคอร์ดต่างๆ ในวิว
ตัวอย่างนี้แสดงเทมเพลทการเขียนกลับที่ชื่อ SetQuotaUseID
<WebMessage name="SetQuotaUseID">
connectionPool: เพื่อให้ตรงตามข้อกำหนดการรักษาความปลอดภัย คุณต้องระบุพูลการเชื่อมต่อพร้อมด้วยคำสั่ง SQL เพื่อแทรกและอัปเดตเรคคอร์ด คำสั่ง SQL เหล่านี้อ้างอิงค่าต่างๆ ที่ส่งผ่านในสคีมาการเขียนกลับเพื่อสร้างคำสั่ง SQL ในการแก้ไขตารางฐานข้อมูล
VALUES: ค่าของคอลัมน์สามารถอ้างอิงได้โดย ID คอลัมน์ หรือ ตำแหน่งของคอลัมน์ ขอแนะนำให้ใช้ ID คอลัมน์
ล้อมรับค่าสตริงและวันที่ด้วยเครื่องหมายคำพูดเดี่ยว ไม่ต้องใช้เครื่องหมายคำพูดเดี่ยวกับค่าตัวเลข
ID คอลัมน์ - ID คอลัมน์แต่ละรายการเป็นตัวอักษรและตัวเลข และถูกสร้างแบบสุ่ม คุณสามารถค้นหา ID คอลัมน์ในการกำหนด XML ของการวิเคราะห์ที่มีอยู่ในแท็บ ขั้นสูง ของโปรแกรมแก้ไขการวิเคราะห์ ตัวอย่าง ค่า ID คอลัมน์ต่างๆ เช่น: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'
เมื่อคุณใช้ ID คอลัมน์ การเขียนกลับจะมีผลต่อไป แม้ในเวลาที่ลำดับของคอลัมน์เปลี่ยนไป

ตำแหน่งของคอลัมน์ - ตำแหน่งของคอลัมน์เริ่มต้นกำหนดเลขที่ด้วยเลข 1 ตัวอย่าง ค่าตำแหน่งของคอลัมน์ต่างๆ เช่น: @1, @3, '@5'
หากลำดับของคอลัมน์เปลี่ยนไป การเขียนกลับจะไม่ทำงานอีกต่อไป และนี่คือเหตุผลว่าทำไมจึงแนะนำให้ใช้ ID คอลัมน์
คุณต้องรวมทั้งอีลิเมนต์ <insert> และ <update> ไว้ในเทมเพลท หากคุณไม่ต้องการรวมคำสั่ง SQL ไว้ภายในอีลิเมนต์ คุณต้องแทรกช่องว่างระหว่างแท็กเปิดและปิด ตัวอย่างเช่น คุณต้องป้อนอีลิเมนต์ดังนี้
<insert> </insert>
แทน:
<insert></insert>
หากคุณละเว้นช่องว่าง คุณจะเห็นข้อความแสดงข้อผิดพลาดของการเขียนกลับ เช่น "ระบบไม่สามารถอ่านเทมเพลทการเขียนกลับ 'my_template'"
หากประเภทข้อมูลของพารามิเตอร์ไม่ใช่จำนวนเต็มหรือจำนวนจริง ให้เพิ่มเครื่องหมายคำพูดเดี่ยวล้อมรอบพารามิเตอร์ไว้ ในกรณีที่ฐานข้อมูลไม่ได้คอมมิตโดยอัตโนมัติ ให้เพิ่มโหนด 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>