次の方法で共有


マップにテーブル ループ Functoid およびテーブル抽出 Functoid を追加する方法

Table LoopingTable Extractor Functoid は一緒に使用されます。 テーブル ループ Functoid には、構成する内部テーブルがあります。 入力レコードまたはフィールドごとに、 Table Looping Functoid によってテーブルの行が一度に 1 つずつ出力されます。 Table Extractor Functoid は、行から目的の項目を抽出し、出力インスタンス メッセージに渡します。

Table LoopingTable Extractor Functoid の概念については、「Table Looping and Table Extractor Functoids」を参照してください。

テーブル ループ Functoid およびテーブル抽出 Functoid をマップに追加して構成するには

  1. Visual Studio ツールボックスがアクティブな状態で、[ 高度な Functoid] タブをクリックして、そのカテゴリの Functoid を選択します。

    選択したカテゴリに含まれる高度な Functoid の一覧が表示されます。

  2. Table Looping Functoid (Table Looping Functoid を表すイメージ) をドラッグします。)をクリックして、グリッド ページ上の適切な場所に移動します。

    Note

    Functoid は表示されているグリッド ページに配置されます。 Functoid を別のグリッド ページに配置する場合は、まずそのグリッド ページを表示する必要があります。

    Note

    Table Looping Functoid の出力は、関連付けられている 1 つ以上の Table Extractor Functoid への入力として機能するため、Table Extractor Functoid の Table Looping Functoid の右側に空きがあることを確認してください。

  3. レコードまたはフィールドをソース スキーマから、新しく追加された Table Looping Functoid にドラッグします。 Table Looping Functoid への最初の入力パラメーターとして、インスタンス メッセージ内のこのレコードまたはフィールドの出現回数によって、この Functoid が出力を生成する回数が制御されます。 たとえば、ループ レコードが Functoid にドラッグされ、このレコードが 10 回出現するインスタンス メッセージが処理され、テーブル グリッドに列データのソースが 1 行構成されている場合、 Table Looping Functoid は 10 回繰り返し処理され、 Table Extractor Functoid による抽出用の出力行が 10 行生成されます。 10 個の宛先レコードを簡単に構築できます。

    Note

    テーブル グリッドで複数の行を構成すると、テーブル ループ Functoid のイテレーションごとに、このような各行が出力されます。 したがって、入力レコードの出現回数に、テーブル グリッドで構成された行数を掛けることによって、データ抽出に使用できるテーブルの出力行数を求めることができます。

  4. レコードまたはフィールドをコピー先スキーマから Table Looping Functoid にドラッグします。 この関連付けにより、送信先スキーマにノードが作成されます。

  5. 新しく追加したテーブル ループ functoid を選択し、[プロパティ] ウィンドウで、入力パラメーター プロパティに関連付けられている省略記号 (...) ボタンをクリックします。

    Note

    または、Functoid を選択し、Ctrl キーを押しながら M キーを押し、次に Ctrl キーを押しながら T キーを押します。 マッパー キーボード ショートカットの一覧については、「 BizTalk マッパー キーボード ショートカット」を参照してください。

  6. [ テーブル ループ Functoid の構成 ] ダイアログ ボックスで、[ Functoid への定数入力パラメーターの追加 ボタンをクリックして、2 番目の入力パラメーターを作成します。 この テーブル ループ Functoid 用に作成するテーブルで使用できる列の数を表す数値を入力します。

    Note

    テーブルの列数の最大値は 228 です。

  7. [ テーブル ループ Functoid の構成 ] ダイアログ ボックスで、[ Functoid への定数入力パラメーターの追加 ボタンをクリックして、構成したテーブル グリッドに表示される定数値を入力します。 入力パラメーター リストの先頭で、第 1 パラメーターと第 2 パラメーターの値 (行数と列数) が正しい順序で入力されていれば、このダイアログ ボックスで定数を設定する順序は特に重要ではありません。 設定が完了したら [OK] をクリックします。

    [ テーブル ループ Functoid の構成 ] ダイアログ ボックスが閉じます。

  8. ソース スキーマから、最近追加した Table Looping Functoid に、0 個以上のレコード ノードまたはフィールド ノードをドラッグします。 これらのレコードおよびフィールド ノードは、入力パラメーター リストの最後に追加されるため、後の手順でテーブル グリッドを構成したときに使用できるようになります。 先ほど追加したテーブル データの定数と同様、レコードおよびフィールド ノードを追加する順序は特に重要ではありません (行数と列数は正しい順序で入力されている必要があります)。

  9. リンクにラベルを設定するには、次の手順を実行します。

    • 表示されているグリッド ページでリンクを選択します。

    • Visual Studio プロパティ ウィンドウで、Label プロパティのわかりやすい名前を指定します。 たとえば、"Second Author" というフィールドからのリンクに対しては、"link2ndAuthor" のような名前を付けます。

  10. 新しく追加した Table Looping Functoid を選択し、[プロパティ] ウィンドウで、その Functoid に関連付けられている Table Looping Grid プロパティに関連付けられている省略記号 (...) ボタンをクリックします。

    [ テーブル ループ Functoid の構成 ] ダイアログ ボックスが表示され、[ テーブル ループ グリッド ] タブが選択されています。

    Note

    または、Functoid を右クリックし、コンテキスト メニューの [ テーブル ループ グリッドの構成 ] をクリックします。 [ テーブル ループ Functoid の構成 ] ダイアログ ボックスが表示され、[ テーブル ループ グリッド ] タブが選択されています。

  11. 各テーブル セルに関連付けられたドロップダウン リストを使用し、グリッド内の少なくとも 1 つの行を構成します。 ドロップダウン リストで使用できる選択肢は、手順 6 から 8 で入力パラメーター 3 および Table Looping Functoid まで構成した定数とリンクです。 (入力パラメーター 1 と 2 は、これらのドロップダウン リストには表示されません。完了したら、[ OK] をクリックします

    [ テーブル ループ Functoid の構成 ] ダイアログ ボックスが閉じます。

    Note

    各行は、 テーブル ループ Functoid の最初の入力パラメーターとして指定されたレコードまたはフィールドの出現回数と組み合わせて、出力構造の 1 つの反復を構成します。 詳細については、手順 3 を参照してください。

    Note

    Table Extractor Functoid を使用して、アクセスする各列の値を選択する必要があります。 テーブル抽出 functoid で列が使用されていない場合は、その列を維持するのではなく、削除することを検討する必要があります。

    Note

    テーブル グリッドに入力する順序は特に重要ではありません。

  12. テーブル抽出 Functoid (Table Extractor Functoid を表すイメージ) をいくつでもドラッグします。)必要に応じて、ツールボックスから表示されるグリッド ページに移動します。

    Note

    これらの Table Extractor Functoid の入力は、前の手順で追加した Table Looping Functoid から取得されるため、表示されるグリッド ページの [テーブル ループ Functoid] の右側に Table Extractor Functoid を配置してください。

  13. 手順 9 で追加した いずれかの Table Extractor Functoid の最初の入力パラメーターを作成するには、関連する Table Looping Functoid の左側にドラッグします。

  14. 同じ Table Extractor Functoid の 2 番目の入力パラメーターを作成するには、Functoid を選択し、[プロパティ] ウィンドウで、Input parameters プロパティに関連付けられている省略記号 (...) ボタンをクリックします。

    [ テーブル抽出機能 Functoid の構成 ] ダイアログ ボックスが表示されます。

  15. [Functoid Add_input_parametersに定数入力パラメーターを追加する] ボタンをクリックして、2 番目の入力パラメーターを作成します。 データの抽出元となる対応する Table Looping Functoid のテーブル グリッドに列の番号を入力します。 [OK] をクリックします。

    [ テーブル抽出機能 Functoid の構成 ] ダイアログ ボックスが閉じます。

    Note

    列番号は 1 から始まります。

  16. Table Extractor Functoid の出力を使用するには、テーブル抽出 Functoid をコピー先スキーマのレコードまたはフィールド ノードにドラッグするか、コピー先スキーマのレコードまたはフィールド ノードを Table Extractor Functoid にドラッグします。 送信先スキーマ内にある、このレコードまたはフィールド ノードに対応する送信先インスタンス メッセージの要素や属性には、テーブル グリッドで指定されたセルからの値が設定されます。

  17. 手順 11 で追加した テーブル抽出 Functoid ごとに、手順 12、13、14、および 15 を繰り返します。

関連項目

マップへの高度な Functoid の追加