次の方法で共有


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

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

テーブル ループテーブル抽出 Functoid の概念については、「テーブル ループとテーブル抽出 Functoid」を参照してください。

テーブルループ関数とテーブル抽出関数をマップに追加して設定するには

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

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

  2. テーブル ループ Functoid (テーブル ループ Functoid を表す画像) をドラッグします。)ツールボックスからグリッド ページ上の適切な場所に移動します。

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

    テーブル ループ Functoid の出力は、関連付けられている 1 つ以上のテーブル抽出 Functoid への入力として機能するため、テーブル抽出 Functoid のテーブル ループ Functoid の右側に空きがあることを確認します。

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

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

  4. レコードまたはフィールドを宛先スキーマから テーブル ループ Functoid にドラッグします。 このリンクにより、宛先スキーマにノードが確実に作成されます。

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

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

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

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

  7. [テーブルループ Functoid の構成] ダイアログ ボックスで、Adding constant input parameters to a functoid[定数入力パラメーターをFunctoidに追加]ボタンをクリックして、構成済みのテーブル グリッドに表示される定数値を入力します。「Add_input_parameters」 これらの定数を作成する順序は、1 番目と 2 番目のパラメーター値、行数と列数がそれぞれ入力パラメーター リストの先頭に位置を保持している限り、このダイアログ ボックスでは重要ではありません。 設定が完了したら [OK] をクリックします。

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

  8. ソース スキーマから、最近追加した テーブル ループ Functoid に、0 個以上のレコードノードまたはフィールド ノードをドラッグします。 これらの各レコードノードとフィールドノードは入力パラメータリストの末尾に追加されるため、後者のステップでテーブルグリッドが構成されている場合に使用できます。 前に追加したテーブル データ定数 (行と列数の定数ではない) と同様に、これらのレコードノードとフィールドノードが追加される順序は最終的には関係ありません。

  9. リンクにラベルを付ける手順は次のとおりです。

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

    • Visual Studio の [プロパティ] ウィンドウで、 Label プロパティのわかりやすい名前を指定します。 たとえば、"2 番目の作成者" というフィールドからのリンクに "link2ndAuthor" のような名前を付ける場合があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  16. テーブル抽出 Functoid の出力を使用するには、テーブル抽出 Functoid を変換先スキーマのレコードまたはフィールド ノードにドラッグするか、コピー先スキーマのレコードまたはフィールド ノードをテーブル抽出 Functoid にドラッグします。 変換先スキーマのこのレコードまたはフィールド ノードに対応する宛先インスタンス メッセージの要素または属性値には、テーブル グリッド内の指定されたセルの値 (定数の場合) または (リンクの場合) によって示される値が設定されます。

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

こちらもご覧ください

高度な Functoid をマップに追加する