สร้างไฟล์เทมเพลทการเขียนกลับ

ไฟล์เทมเพลทการเขียนกลับเป็นไฟล์ในรูปแบบ 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 คอลัมน์ การเขียนกลับจะมีผลต่อไป แม้ในเวลาที่ลำดับของคอลัมน์เปลี่ยนไป

      XML ในแท็บขั้นสูงของโปรแกรมแก้ไขการวิเคราะห์

    • ตำแหน่งของคอลัมน์ - ตำแหน่งของคอลัมน์เริ่มต้นกำหนดเลขที่ด้วยเลข 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>