メイン コンテンツをスキップする 補完的コンテンツへスキップ

ネスト化されたループをマッピング

ネスト化された入力ループを、ネスト化されたさまざまな出力ループにマッピングします。 ネスト化されたループは、親ループからデータにアクセスする可能性を残しつつ最深レベルのループ階層を反復しようとしていることを示しています。

始める前に

入力ストラクチャーと出力ストラクチャーを持つマップを作成済みであること。この例では、POFileを入力として、SimpleShipNoticeFileを出力として使います。これらのストラクチャーは、[Other Projects] (他のプロジェクト) > [Examples] (例) > [Structures] (ストラクチャー) > [Simple] (シンプル) > [POStandard]の下にあります。

このタスクについて

この例では、入力ルーピングエレメントの3つのレベルが出力の2つのレベルにマッピングされています。出力Noticeエレメントは入力Deliveryループにルーピングしなければなりませんが、親POループからのNumberエレメントを使用することも必要です。

このマップは、[Other Projects] (他のプロジェクト) > [Examples] (例) > [Maps] (マップ) > [Looping] (ルーピング) > [LoopSkipLevel]にあります。

手順

  1. 入力PO/Numberエレメントを出力Numエレメントにドラッグします。
    SimpleLoopファンクションを持つループ式がNoticeに追加されます。
  2. 入力DeliveryToNameを出力Nameにドラッグします。
  3. ダイアログボックスが開いたら、[Change the output element looping] (出力エレメントルーピングを変更)を選択し、[OK]をクリックします。
    NestedContextファンクションが、NoticeエレメントにあるSimpleLoopContext引数に自動的に追加されます。別のSimpleLoopNestedContextに追加されます。このファンクションは、入力Deliveryループへの参照を引数として使用します。
  4. オプション: 必要であれば他のエレメントもマッピングします。

タスクの結果

NestedContextの使用は、各POループに含まれている各入力Deliveryループに対してNoticeエレメントが1つ必要であることを示しています。同じ入力ドキュメントにはPOエレメントが2つ含まれています。一方にはDeliveryが1つ、他方には2つそれぞれ含まれています。[Test Run] (テスト実行)を使用すると、次のようにNoticeエレメントが3つ表示されます:
<Notices>
  <Notice>
    <Num>1</Num>
    <Name>Francis Upton</Name>
  </Notice>
  <Notice>
    <Num>2</Num>
    <Name>Francis Upton</Name>
  </Notice>
  <Notice>
    <Num>2</Num>
    <Name>Martha Lyman</Name>
  </Notice>
</Notices>

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。