機械翻訳について

ライトバック・テンプレート・ファイルの作成

ライトバック・テンプレート・ファイルは、1つ以上のライトバック・テンプレートを含むXML形式のファイルです。

ライトバック・テンプレートは、テンプレートの名前、接続プール、および作成したライトバック表と列のレコードの挿入および更新に必要なSQL文を指定するWebMessage要素で構成されます。 コンテンツ・デザイナがライトバックに対して表ビューを有効にした場合、コンテンツ・デザイナは、表ビューでのレコードの挿入および更新に使用するライトバック・テンプレートの名前を指定する必要があります。

ライトバック・テンプレートの要件

ライトバック・テンプレートでは、次の要件を満たす必要があります。

  • WebMessage: ライトバック・テンプレートの名前は、WebMessage要素のname属性を使用して指定する必要があります。

    ライトバックを正しく機能させるには、ライトバックに対して表ビューを有効にする際に、ビューでのレコードの挿入および更新に使用するライトバック・テンプレートの名前をコンテンツ・デザイナが指定する必要があります。

    この例は、SetQuotaUseIDというライトバック・テンプレートを示しています。

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: セキュリティ要件を満たすには、レコードの挿入および更新を行うSQLコマンドとともに接続プールを指定する必要があります。 これらのSQLコマンドでは、ライトバック・スキーマで渡され、データベース表を変更するためのSQL文を生成する値が参照されます。

  • VALUES: 列値は、列IDまたは列位置のいずれかで参照できます。 列IDの使用が優先されます。

    文字列と日付の値は一重引用符で囲みます。 数値には一重引用符は必要ありません。

    • 列ID - 各列IDはランダムに生成された英数字です。 列IDは、分析エディタの「詳細」タブにある分析のXML定義で確認できます。 たとえば、次のような列IDの値です: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      列IDを使用すると、列の順序が変化する場合にもライトバックが作動します。

      分析エディタの「詳細」タブのXML

    • 列位置 - 列位置は1から始まる数です。 たとえば、列位置の値(as: @1, @3, '@5'など)

      列の順序が変化するとライトバックは作動しなくなります。これが列IDをお薦めする理由です。

  • <insert>要素と<update>要素の両方をテンプレートに含める必要があります。 これらの要素内にSQLコマンドを挿入しない場合は、開始タグと終了タグの間に空白を挿入する必要があります。 たとえば、次のように要素を入力する必要があります。:

    <insert> </insert>
    

    次のようにしないでください:

    <insert></insert>
    

    空白を省略すると、「システムがライトバック・テンプレート'my_template'を読み取ることができません。」のようなライトバック・エラー・メッセージが表示されます。

  • パラメータのデータ型が整数または実数でない場合は、一重引用符で値を囲みます。 データベースでCommitsが自動的に実行されない場合は、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>