次の方法で共有


値のマッピング Functoid

値マッピング Functoid は、最初のパラメーターが true の場合、2 番目のパラメーターの値を返します。 この Functoid は、主にフィールドの属性をレコードの属性に変更する場合に使用します。 複数のレコードを 1 つのレコードに変換して入力メッセージの一部をフラット化するには、 値マッピング (フラット化) Functoid を使用します。

次の図は、フィールドの属性をレコードの属性に変更するために使用される 値マッピング Functoid を含むマップを示しています。

フィールドの属性をレコードの属性に変更するために使用される値マッピング Functoid を含むマップを示す画像。
値のマッピング Functoid を含むマップ

次のコードは、名前と値のペアが Name 属性と Value 属性に割り当てられる入力インスタンス メッセージを示しています。

<ns0:Root xmlns:ns0="http://ValueMapping.WeatherIn">  
    <Record>  
        <Field Name="WindSpeed" Value="5"/>   
        <Field Name="Temperature" Value="20" />  
    </Record>  
    <Record>  
        <Field Name="WindSpeed" Value="15" />  
        <Field Name="Temperature" Value="18" />  
    </Record>  
</ns0:Root>  

このメッセージに対して、前述のマップを適用して変換すると、レコードごとに値が対応する名前の属性に割り当てられます。

<ns0:Root xmlns:ns0="http://ValueMapping.WeatherOut">  
    <Record WindSpeed="5"/>  
    <Record Temperature="20"/>  
    <Record WindSpeed="15"/>  
    <Record Temperature="18"/>  
</ns0:Root>  

等しい Functoid は、Name 属性の値をテストします。 最初の Equal Functoid は 、Name の値が "WindSpeed" であることをテストします。 名前 が "WindSpeed" の場合、最初の Equal Functoid は True を返します。 これにより、 値マッピング Functoid が出力インスタンス メッセージの WindSpeed 属性の値を設定できるようになります。

空のタグを作成しないようにする

空のタグを作成しないようにするには、値のマッピング Functoid を使用して、タグを作成するかどうかを制御します。 値が True の場合は目的のフィールドが作成され、True でない場合は作成されません。 ループ シナリオでは論理 Functoid を使用し、論理 Functoid を目的のレコードまたはフィールドに接続します。 条件が False と評価された場合、タグは作成されません。 例については、「 条件付きループ」を参照してください。

空のタグを強制的に作成する

空のタグを強制的に作成するには、変換先フィールドの Value プロパティに値を追加するか、 連結 Functoid を変換先フィールドにリンクします。 BizTalk Serverでは、変換先フィールドの Value プロパティで "<空" の値を選択することで、空>のタグを強制的に生成できます。 この場合、空の値のフィールドが作成されます。

参照

値のマッピング (フラット化) Functoid
マップに値のマッピング Functoid を追加する方法
高度な Functoid