Visszaírási sablonfájlok létrehozása

A visszaírási sablonfájl XML-formátumú fájl, amely egy vagy több visszaírási sablont tartalmaz.

A visszaírási sablon a következőkből áll: egy WebMessage elem, amely meghatározza a sablon nevét, illetve a kapcsolatkészlet és az SQL-utasítások, amelyek ahhoz szükségesek, hogy rekordokat szúrjon be a létrehozott visszaírási táblákba vagy oszlopokba, valamint hogy ilyen rekordokat frissítsen. Ha a tartalomtervezők engedélyezik a táblanézetek visszaírását, meg kell határozniuk annak a visszaírási sablonnak a nevét, amelyet a rekordok beillesztéséhez és frissítéséhez kell használni tábla nézetben.

A visszaírási sablonokra vonatkozó követelmények

A visszaírási sablonoknak a következő követelményeknek kell megfelelniük:

  • WebMessage: meg kell határozni a visszaírási sablon nevét a WebMessage elem name attribútumának használatával.

    A visszaírás akkor működik megfelelően, ha, amikor engedélyezi a tábla nézetek visszaírását, a tartalomtervezőnek meg kell határoznia annak a visszaírási sablonnak a nevét, amelyet a rekordok beillesztéséhez és frissítéséhez kell használni a nézetben.

    A példában látható visszaírási sablon neve: SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: a biztonsági követelményeknek való megfelelés érdekében meg kell határoznia a kapcsolatkészletet, valamint a rekordok beillesztéséhez és frissítéséhez használandó SQL-parancsokat. Ezek az SQL-parancsok azokra az értékekre hivatkoznak, amelyeket a rendszer átad a visszaírási sémában az adatbázistábla módosításához használandó SQL-utasítások létrehozásához.

  • VALUES: az oszlopértékekre hivatkozhatunk oszlopazonosító vagy oszloppozíció szerint. Az oszlopazonosító használata preferált.

    A sztringet és a dátumértékeket aposztrófok vegyék körül. A numerikus értékeknél nem szükségesek az aposztrófok.

    • Oszlopazonosító – Minden oszlopazonosító alfanumerikus, véletlenszerűen generált. Az oszlopazonosítók az elemzés XML-definíciójában találhatók, amely az elemzésszerkesztő Speciális lapján érhető el. Példák oszlopazonosító értékekre: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Ha oszlopazonosítókat használ, a visszaírás akkor is működik, ha módosul az oszlopok sorrendje.

      XML az elemzésszerkesztő Speciális lapján

    • Oszloppozíció – Az oszlopok pozíciójának számozása 1-el kezdődik. Példák oszlopazonosító értékekre: @1, @3, '@5'

      Ha módosul az oszlopok sorrendje, a visszaírás már nem működik - ezért preferált az oszlopazonosítók használata.

  • A sablonnak <insert> és <update> elemet is kell tartalmaznia. Ha nem szeretne SQL-parancsokat belefoglalni az elemekbe, akkor szóközt kell beszúrnia a nyitó és záró címkék közé. Az elemet például így kell megadnia:

    <insert> </insert>
    

    Nem pedig:

    <insert></insert>
    

    Ha kihagyja a szóközt, akkor visszaírási hibaüzenet jelenik meg, például: "A rendszer nem tudja olvasni a 'my_template' visszaírási sablont".

  • Ha egy paraméter adattípusa nem egész vagy valós szám, akkor foglalja aposztrófok közé. Ha az adatbázis nem végzi el automatikusan a Jóváhagyásokat, akkor adja hozzá az opcionális postUpdate csomópontot az insert és update csomópontok után a jóváhagyás kényszerítéséhez. A postUpdate csomópont többnyire ezt a példát követi:

    <postUpdate>COMMIT</postUpdate>
    

Példa visszaírási sablonfájlra, amely oszlopazonosítós szintaxist használ

Egy visszaírási sablonfájl, amely oszlopazonosító szerint hivatkozik értékekre, a következő példára hasonlíthat:

<?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>

Példa visszaírási sablonfájlra, amely oszloppozíciós szintaxist használ

Egy visszaírási sablonfájl, amely oszloppozíció szerint hivatkozik értékekre, a következő példára hasonlíthat:

<?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>