次の方法で共有


テーブルドリブン ループの例

このセクションでは、 テーブル ループテーブル抽出 Functoid を使用したマップについて簡単に説明します。 Functoid の選択、配置、リンク、構成の詳細については、「 テーブル ループとテーブル抽出 Functoid をマップに追加する方法」を参照してください。

出荷先住所と請求先住所を別々に掲載するドキュメントで使用される、住所の一覧を例として説明します。 住所は、次のコードのように表されます。

<ns0:Root xmlns:ns0="http://TableLoopingSample.Addresses">  
    <Address>  
        <Name>Kelly Focht</Name>  
        <Street>456 1st Ave</Street>  
        <City>Miami</City>  
        <State>FL</State>  
        <PostalCode>81406</PostalCode>  
    </Address>  
    <Address>  
        <Name>Wendy Wheeler</Name>  
        <Street>7890 Broadway</Street>  
        <City>Columbus</City>  
        <State>OH</State>  
        <PostalCode>46290</PostalCode>  
    </Address>  
</ns0:Root>  

次のコードは出力形式の例を示しています。ここでは、住所が複製され、各住所に属性が設定されています。

<ns0:Root xmlns:ns0="http://TableLoopingSample.POAddresses">  
    <Address Type="ShipTo">  
        <Name>Kelly Focht</Name>  
        <Street>456 1st Ave</Street>  
        <City>Miami</City>  
        <State>FL</State>  
        <PostalCode>81406</PostalCode>  
    </Address>  
    <Address Type="BillTo">  
        <Name>Kelly Focht</Name>  
        <Street>456 1st Ave</Street>  
        <City>Miami</City><State>FL</State>  
        <PostalCode>81406</PostalCode>  
    </Address>  
    <Address Type="ShipTo">  
        <Name>Wendy Wheeler</Name>  
        <Street>7890 Broadway</Street>  
        <City>Columbus</City>  
        <State>OH</State>  
        <PostalCode>46290</PostalCode>  
    </Address>  
    <Address Type="BillTo">  
        <Name>Wendy Wheeler</Name>  
        <Street>7890 Broadway</Street>  
        <City>Columbus</City>  
        <State>OH</State>  
        <PostalCode>46290</PostalCode>  
    </Address>  
</ns0:Root>  

The following figure shows a map using theテーブルループfunctoid andテーブル抽出器functoids to generate the desired output instance message.

テーブル ループとテーブル抽出 Functoid をマップする
テーブル ループ Functoid とテーブル抽出 Functoid

Table Looping Functoid は、入力スキーマと出力スキーマの両方のレコード レベル要素にリンクしていることに注意してください。 リンクによって、囲み構造が作成され、レコード内に要素が作成されます。 また、出力スキーマ内のフィールドごとに 1 つの テーブル抽出 Functoid があることにも注意してください。

入力スキーマ内のレコードへのリンクは、[Functoid Functoid> の構成<] ダイアログ ボックスの最初のパラメーターです。

2 番目のパラメーターは、Functoid のグリッド テーブル内の列の数です。住所の種類、名前、番地、市区町村、都道府県、郵便番号ごとに 1 列です。 2 つ目のパラメーターの後には、グリッド テーブルに表示されるすべての値の一覧が示されています。 一覧には、住所のフィールドへのリンクと共に、住所の種類 ("ShipTo" および "BillTo") に使用する文字列の定数が含まれます。 住所のフィールドへのリンクに名前があることに注意してください。 マップ内のリンクに名前を付けると、テーブルの構築がわかりやすくなります。 それ以外の場合は、[ テーブル ループ Functoid の構成 ] ダイアログ ボックスに完全なパスが表示されます。

テーブル ループ Functoid を構成したら、[テーブル ループ Functoid の構成] ダイアログ ボックスを使用してテーブルを作成できます。 [プロパティ] ウィンドウの [テーブル ループ グリッド] プロパティに関連付けられている省略記号 (...) ボタンをクリックすると、ダイアログが表示されます。

[ テーブル ループ Functoid の構成 ] ダイアログで指定されている 6 つの列 (出力スキーマのフィールドごとに 1 列) があることに注意してください。 ドロップダウンには、[ テーブル ループ Functoid の構成 ] ダイアログの 3 番目と次のパラメーターで指定されているフィールドの使用可能な値が表示されます。 テーブルには、2 行 (出力スキーマの各種類のレコード) あります。 2 行存在するので、このマップは、入力レコードごとに 2 つのレコードを作成します。 4 行存在する場合は、入力レコードごとに 4 つの出力レコードが作成されます。

Table Looping Functoid は各レコードを受け取ると、レコードの値をテーブルに入力し、テーブル抽出 Functoid に一度に 1 行ずつ送信します。 テーブル抽出 Functoid は、テーブル行から 1 つの値を抽出し、出力インスタンス メッセージのリンクされたフィールドに渡します。

参照

テーブル ループ Functoid
テーブル抽出 Functoid
テーブルドリブン ループの構成
マップにテーブル ループ Functoid およびテーブル抽出 Functoid を追加する方法
高度な Functoid
インデックス Functoid
繰り返し Functoid
ループ Functoid
レコード カウント Functoid