フィールドを既存の参照テーブルにリンクする
フィールドを既存の参照テーブルにリンクする方法。

はじめに

この記事では、Adobe Campaign に組み込まれている列挙型構造(enum、userEnum、dbEnum)の代わりに既存の参照テーブルを使用する方法について説明します。

また、既存の参照テーブルをスキーマの列挙として使用することもできます。これを実現するには、テーブルと参照テーブルの間にあるリンクを作成し、displayAsField="true"という属性を追加します。

参照テーブルには、銀行名と識別子のリストが含まれています。

<srcSchema entitySchema="xtk:srcSchema" img="cus:bank16x16.png" label="Bank" mappingType="sql" name="bank" namespace="cus"
xtkschema="xtk:srcSchema">
    <element img="cus:bank16x16.png" label="Banks" name="bank">
        <compute-string expr="@name"/>
        <key name="id">
            <keyfield xpath="@id"/>
        </key>
        <attribute label="Bank Id" name="id" type="short"/>
        <attribute label="Name" length="64" name="name" type="string"/>
     </element> 
</srcSchema>

この参照表を使用している任意の表で、リンクを定義し、 displayAsField="true"属性を追加します。

<element displayAsField="true" label="Bank" name="bank" target="cus:bank" type="link" noDbIndex="true"/>

ユーザーインターフェイスにはリンクではなくフィールドが表示されます。ユーザーがそのフィールドを選択すると、参照テーブルから値を選択するか、オートコンプリート機能を使用できます。

interface1

その他の注意事項

  • オートコンプリートを実行するには、参照テーブルで compute-string を定義する必要があります。
  • Adobe Campaign がリンクのソーステーブルに格納されている値のインデックスを作成しないようにするには、リンク定義に noDbIndex = "true" 属性を追加します。