ملف قالب إعادة الكتابة هو ملف بتنسيق XML يحتوي على واحد أو أكثر من قوالب إعادة الكتابة.
يتكون قالب إعادة الكتابة من عنصر WebMessage الذي يحدد اسم القالب، ومجمع الاتصالات، وعبارات SQL اللازمة لإدراج وتحديث السجلات في جداول وأعمدة إعادة الكتابة التي قمت بتكوينها. عندما يقوم مصممو المحتوى بتمكين عرض جدول لإعادة الكتابة، يجب عليهم تحديد اسم قالب إعادة الكتابة لاستخدامه في إدراج السجلات وتحديثها في طريقة عرض الجدول.
يجب أن يستوفي قالب إعادة الكتابة المتطلبات التالية:
WebMessage: يجب عليك تحديد اسم لقالب إعادة الكتابة باستخدام سمة name في عنصر WebMessage.
لكي تعمل عملية إعادة الكتابة بشكل صحيح، عند تمكين طريقة عرض جدول لإعادة الكتابة، يجب على مصمم المحتوى تحديد اسم قالب إعادة الكتابة الذي سيتم استخدامه لإدراج السجلات في طريقة العرض وتحديثها.
يعرض هذا المثال قالب إعادة الكتابة بالاسم SetQuotaUseID.
<WebMessage name="SetQuotaUseID">
connectionPool: لتلبية متطلبات الأمان، يجب عليك تحديد مجمع الاتصالات بأوامر SQL لإدراج السجلات وتحديثها. تُشير أوامر SQL هذه إلى القيم التي تم تمريرها في مخطط إعادة الكتابة لإنشاء عبارات SQL لتعديل جدول قاعدة البيانات.
VALUES: يمكن الإشارة إلى قيم العمود إما عن طريق معرف العمود أو موضع العمود. من الأفضل استخدام معرف العمود.
قم بإحاطة قيم السلسلة والتاريخ بعلامات اقتباس مفردة. لا يلزم وضع علامات الاقتباس المفردة على القيم الرقمية.
معرف العمود - معرف كل عمود يتكون من أبجدية رقمية ويتم إنشاؤه عشوائيًا. يمكنك العثور على معرفات الأعمدة في تعريف XML للتحليل المتوفر في علامة التبويب متقدم بمحرر التحليل. على سبيل المثال، قيم معرف العمود مثل: @{c5f6e60e1d6eb1098}، @{c3a93e65731210ed1}، '@{c6b8735ea60ff3011}'
عند استخدام معرفات الأعمدة، تستمر عملية إعادة الكتابة حتى عند تغيير ترتيب الأعمدة.

موضع العمود - تبدأ مواضع الأعمدة بالرقم 1. على سبيل المثال، قيم موضع العمود مثل: @1, @3, '@5'
إذا تغير ترتيب الأعمدة، فلن تعمل إعادة الكتابة وهذا هو سبب تفضيل معرفات الأعمدة.
يجب عليك تضمين عنصر <insert> وعنصر <update> في القالب. إذا كنت لا تريد تضمين أوامر SQL داخل العناصر، فيجب عليك إدراج مسافة فارغة بين علامتي الفتح والإغلاق. على سبيل المثال، يجب عليك إدخال العنصر على النحو التالي:
<insert> </insert>
بدلاً من:
<insert></insert>
إذا قمت بحذف المساحة الفارغة، فسترى رسالة خطأ إعادة الكتابة مثل "يتعذر على النظام قراءة قالب إعادة الكتابة 'my_template'".
إذا لم يكن نوع بيانات المعلمة عددًا صحيحًا أو رقمًا حقيقيًا، فقم بإضافة علامات اقتباس مفردة حوله. إذا لم تقم قاعدة البيانات بتنفيذ الالتزامات تلقائيًا، فقم بإضافة نقطة توصيل postUpdate الاختيارية بعد نقطتي التوصيل insert وupdate لفرض الالتزام. عادةً ما تتبع نقطة توصيل postUpdate هذا المثال:
<postUpdate>COMMIT</postUpdate>
مثال على ملف قالب إعادة الكتابة باستخدام صيغة معرف العمود
قد يشبه ملف قالب إعادة الكتابة الذي يشير إلى القيم حسب معرف العمود هذا المثال:
<?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>