SAP Integration Suite の詳細

インテグレーションフローの理解

Objectives

After completing this lesson, you will be able to:
  • インテグレーションフローをデプロイします。
  • 統合パッケージおよび統合フローを使用します。
  • Postman Collection を使用します。
  • 汎用受信者を使用します。
  • コンバータを使用します。
  • マッピングを使用します。

インテグレーションフロー例の使用方法

インテグレーションフローの例の理解

インテグレーションフローの例は、主要な統合コンセプトを迅速に把握するのに役立ちます。これらのフローはシンプルで、設定が容易で、短時間で実行できます。

統合パッケージへのアクセス

インテグレーションフローの例は、SAP Business Accelerator Hub の専用のインテグレーションパッケージで利用できます。これらのパッケージには、必要なコンポーネントがすべて含まれています。これらを使用するには、以下を実行する必要があります。

  • 統合パッケージのコピー
  • インテグレーションフローのデプロイ

注記

PostmanCollection をダウンロードするためのリンクは以下のとおりです。

詳細なステップについては、統合パッケージのコピーおよびインテグレーションフローのデプロイを参照してください。

送信側コンポーネントとしての HTTP クライアントの使用

多くのインテグレーションフローは、HTTP 呼出を介してトリガされます。Postman や Insomnia などの任意の HTTP クライアントを使用して、これらのフローを実行することができます。

実行を簡略化するために、Postman コレクションが提供されており、最小限の労力で HTTP 要求を送信することができます。これらのコレクションは、統合パッケージに含まれています。

以下の方法については、Postman コレクションの使用を参照してください。

  • Postman コレクションのダウンロード
  • Postman または Insomnia にインポートします。
  • 依頼の実行

一般レシーバの使用

統合テストを合理化するために、Generic Receiver が提供されています。これにより、実際の受信側システムを設定する必要がなくなります。

一般レシーバの仕組み

  • 汎用レシーバと呼ばれる個別のインテグレーションフローとして実装されます。
  • データストアエントリを作成することで、受信した各要求がログに記録されます。
  • 各統合パッケージには、パッケージ固有のアドレスを持つ独自の Generic Receiver フローが含まれています。

インテグレーションフロー例を実行するための前提条件

インテグレーションフローの例を実行する前に、最初に同じパッケージから汎用受信側インテグレーションフローをデプロイする必要があります。

外部コンポーネントへの OData 呼出

一部のインテグレーションフローでは、トレーニングおよびデモの目的で、外部 Web ショップアプリケーションからデータを取得します。

まとめ

統合フローの例は、シンプルで実行が容易なシナリオにより、ユーザが主要な統合コンセプトを理解するのに役立ちます。これらのフローは、専用の統合パッケージ内の SAP Business Accelerator Hub で使用可能であり、使用前にコピーおよびデプロイする必要があります。

多くのフローが HTTP 呼出を介してトリガされ、実行を容易にするために Postman コレクションが提供されます。Generic Receiver インテグレーションフローは、受信側システムを設定する必要性をなくすために含まれています。一部のフローは、トレーニング目的で外部 Web ショップアプリケーションと対話します。

ステップバイステップのガイダンスについては、Postman を使用したインテグレーションパッケージのデプロイ、および Generic Receiver の使用に関する関連文書を参照してください。

インテグレーションパッケージのコピーおよびインテグレーションフローのデプロイ

インテグレーションフローの例を使用するには、以下の手順に従います。

統合パッケージのコピー

各インテグレーションフロー例は、SAP Business Accelerator Hub 上の専用のインテグレーションパッケージの一部です。開始するには、以下の手順に従います。

  • 探索するガイドラインに対応するインテグレーションパッケージをワークスペースにコピーします。
  • Web UI のデザインセクションでパッケージを開きます。

統合フローを見つける

  • 統合フローは、Artifacts タブにあります。
  • Postman コレクションは、文書タブで使用できます。
  • 関連フローは、カテゴリ→ガイダンス→拡張のパターンに従った名前を検索することで特定できます。

インテグレーションフローのデプロイ

  • 必要な各インテグレーションフローをパッケージにデプロイします。
  • Generic Receiver インテグレーションフローがすべてのフローの共有受信者として機能するため、このインテグレーションフローもデプロイされていることを確認します。

まとめ

インテグレーションフロー例を使用するには、最初に関連する統合パッケージを SAP Business Accelerator Hub からワークスペースにコピーします。Design セクションでパッケージを開きます。ここで、インテグレーションフローは Artifacts タブに、Postman コレクションは Documents タブにあります。

次に、必要なインテグレーションフローをデプロイし、Generic Receiver インテグレーションフローもデプロイされるようにします。これは、インテグレーションフローが共有受信側として機能するためです。

これらのステップに従うことで、さまざまなガイドラインのサンプルインテグレーションフローを効率的に設定および実行することができます。

詳細については、以下を参照してください。統合パッケージのコピーおよびインテグレーションフローのデプロイ | SAP Help Portal

Postman Collection の使用

Postman コレクションの使用

Postman コレクションでは、事前設定された HTTP 要求が提供されるため、インテグレーションフロー例の実行が簡略化されます。各ガイドラインまたはパターンには、インテグレーションフローの例と、それらをトリガする Postman コレクションの両方を含むインテグレーションパッケージが関連付けられています。

Postman コレクションのダウンロード

各 Postman コレクションは、GuidelineName_PostmanCollection という命名パターンに従います。

コレクションをダウンロードして使用するには、以下の手順を実行します。

  • 統合パッケージの文書タブにナビゲートします。
  • 圧縮ファイルをダウンロードし、フォルダに抽出します。
  • Postman インタフェースでインポートをクリックして、抽出された .json ファイルを Postman または Insomnia にインポートします。

Postman 環境の設定

収集を実行する前に、接続パラメータを保存するために Postman で環境を設定する必要があります。

  • Postman の右上隅で、環境管理を選択します。
  • 任意の名前で新しい環境を追加します。
  • Cloud Integration テナントから変数 username and password および host full qualified domain name (FQDN) を追加します。

Postman コレクションの実行

環境が設定されると、以下のようになります。

  • Postman でコレクションランナーを開きます。
  • インポートしたコレクションを選択します。
  • 設定された環境を選択します。
  • Start Run を選択して、コレクション内のすべての要求を実行します。

HTTP 要求での CSRF 保護の処理

インテグレーションフローで HTTPS 送信側アダプタでクロスサイトリクエストフォージェリ (CSRF) 保護が有効化されている場合は、POST 要求に対して追加のステップが必要です。

  • ステップ 1: ターゲットシステムから X-CSRF-Token を取得するための GET 要求を送信します。
  • ステップ 2:取得したトークンを含む POST 要求を送信します。

CSRF 保護を必要とする Postman コレクションには、両方の要求が自動的に含まれます。

詳細については、HTTPS 送信側アダプタおよび HTTP 要求の送信およびインテグレーションフローの処理を参照してください。

タイマによってトリガされるインテグレーションフロー

一部のインテグレーションフローは、HTTP 要求を介してトリガされず、以下の場合にタイマーイベントを介して開始されます。

  • メッセージ本文は、コンテンツモディファイアステップを使用してインテグレーションフロー内に登録されます。
  • マニュアル HTTP 要求は必要ありません。配置すると、実行が自動的にトリガされます。

まとめ

Postman コレクションは、事前設定された HTTP 要求を提供することで、サンプルインテグレーションフローの実行に役立ちます。各統合パッケージには、対応する Postman コレクションが含まれています。このコレクションは、Documents タブからダウンロードして、Postman または同等のツールにインポートすることができます。

実行前に、接続パラメータ (ユーザ名、パスワード、およびホストの詳細) を使用して Postman コレクションを設定する必要があります。その後、コレクションランナーを使用してコレクションが実行されます。

CSRF で保護されたフローの場合、GET 要求によって X-CSRF-Token がフェッチされ、POST 要求で使用されます。一部のフローはタイマーイベントによってトリガされ、HTTP 要求を必要としません。

これらのステップに従うことで、Postman または同等のツールを使用してインテグレーションフローを効率的にテストおよび実行することができます。

一般レシーバの使用

一般レシーバの使用

Generic Receiver は専用のインテグレーションフロー (Generic Receiver) であり、受信コールごとにデータストアエントリを登録することで、受信側システムの設定が簡略化されます。

一般レシーバの目的

統合シナリオでの送信側システムと受信側システムの設定には、複雑で時間がかかる場合があります。

メールアダプタを使用して電子メールアカウントを接続するなど、単純な設定でも、以下のような追加のステップが必要です。

  • 電子メールアカウントのセキュリティ設定。
  • 電子メールプロバイダのサーバ証明書をキーストアにアップロードします。
  • 複雑さを回避し、ユーザが統合フローのガイドラインに集中できるように、Generic Receiver が事前設定された受信側コンポーネントとして特定のサンプルフローに統合されました。

一般レシーバの仕組み

  • Generic Receiver インテグレーションフローは、インテグレーションフローが受信側を必要とするたびに呼び出されます。
  • 固定アドレスで呼出を受信するために、Process Direct アダプタが使用されます。
  • 要求を受信すると、Cloud Integration テナントにデータストアエントリが作成されます。

一般レシーバを使用するための前提条件

データストアコンテンツを読み込むには、ユーザに AuthGroup.BusinessExpert 権限が割り当てられている必要があります。

Generic Receiver を使用することで、ユーザーは複雑な受信者設定をバイパスし、インテグレーションフローのベストプラクティスの学習と実装に集中することができます。

Generic Receiver インテグレーションフロー。

一般レシーバで使用されるキーヘッダ

コンテキスト値が指定されていない場合は、コンテキストスクリプトのチェックステップでデフォルト値 "結果" が割り当てられます。

  • context: 呼び出し元のインテグレーションフローで使用されるパターンまたはガイドラインを識別します。
  • receiver (オプション): メッセージのターゲット受信者を指定します。

データストアへのデータの保存

一般レシーバフローが呼び出されると、データストア書込ステップにより、以下の属性を含むエントリが登録されます。

  • データストア名: 指定されたコンテキストヘッダに基づいて、${header.context} を使用して動的に設定します。
  • エントリ ID:${header.receiver} から生成されました。受信者の値が指定されていない場合は、一意の ID が自動的に登録されます。

複数レシーバの処理

インテグレーションフローで複数の受信者 (コンテンツベースのルーティングシナリオなど) にメッセージがルーティングされる場合、複数のデータストアエントリを登録することができます。エントリ ID は、実行時のレシーバヘッダ値に基づいて動的に決定されます。

統合パッケージ固有のアドレス

各統合パッケージには、パッケージ固有のアドレスを含む独自の Generic Receiver インテグレーションフローがあります。これにより、さまざまな統合シナリオ内で Generic Receiver で呼出が正しく処理されます。

例: コンテンツベースのルーティング

Pattern: Content-based Routing - Ignore If No Receiver インテグレーションフローでは、コンテキストヘッダと受信側ヘッダが動的に設定されます。

ヘッダ値
コンテキストContentBasedRouting-IgnoreIfNoReceiver
レシーバメッセージの shippingCountry 要素に基づきます。

このアプローチにより、インテグレーションフローでは、動的ルーティングロジックをサポートしながら、メッセージを効率的に保存および分類することができます。

まとめ

ジェネリックレシーバインテグレーションフローは、ProcessDirect アダプタを介して送信側インテグレーションフローによってトリガされます。以下の 2 つのキーヘッダを使用してメッセージが処理されます。

  • context: 統合パターンまたはガイドラインを識別します。
  • receiver (オプション): ターゲット受信者を指定します。

コンテキストが指定されていない場合は、デフォルト値 "結果" が割り当てられます。データストア書込ステップでは、これらのヘッダを使用してエントリが登録され、効率的なデータストレージが確保されます。

マルチ受信側シナリオ (コンテンツベースのルーティングなど) では、複数のデータストアエントリを登録することができます。

各統合パッケージには、そのスコープ内で要求を管理するためのパッケージ固有の汎用受信者フローがあります。

モデリング基本 - 一般レシーバ

ビジネスシナリオ

Generic Receiver インテグレーションフローのロール、および SAP Cloud Integration での受信側システムの設定がどのように簡略化されるかを理解します。

タスクフロー

この演習問題では、以下のタスクを実行します。

  1. インテグレーションパッケージおよびインテグレーションフローアーティファクトを作成します。
  2. Groovy スクリプトおよび Data Store 操作を含む Generic Receiver を使用してインテグレーションフローを作成します。

前提条件

  • 前の演習問題の説明に従って、トレーニングユーザで SAP Integration Suite にログインすることができます。

  • なし

    演習の結果

    基本的なインテグレーションフローの構築に関する初期経験を積んでいます。

    この演習問題から何を学習しますか。

    Generic Receiver の動作と、汎用レシーバがインテグレーションフローをより効果的に管理する方法について、実践的な知識を得ます。

CSV から XML へのコンバータの使用

CSV から XML へのコンバータについて

このレッスンでは、CSV から XML へのコンバータを使用して CSV ファイルを XML 形式に変換する方法について学習します。このプロセスは、構造化データを他のシステムとの統合に適した書式に変換するために不可欠です。

CSV から XML へのコンバータの設定

コンバータを効果的に使用するには、コンバータの設定方法を理解する必要があります。このセクションでは、設定プロセスについて説明し、CSV データが XML 変換用に正しく書式設定されていることを確認します。

実際の実装: CSV から XML への変換

コンバータの機能を示すために、簡単な例を使用します。このシナリオでは、製品情報が CSV ファイル (カンマ区切り値) に保存され、XML メッセージに変換される必要があります。

インテグレーションフロー "モデリング基本 - CSV から XML へのコンバータ" は、以下のように構成されています。

  1. 入力データ: 製品詳細を含む CSV ファイル。
  2. 処理: CSV から XML へのコンバータによってデータが処理され、今後の使用のために XML 形式にマッピングされます。
  3. 出力データ: 構造化された XML メッセージが準備できました。
CSV から XML への変換を示す SAP 統合プロセス図。フロー: HTTPS 経由の送信者、開始、CSV から XML コンバータ、監視のコンテキスト定義、終了、ProcessDirect 経由の受信側。

シナリオ例の仕組み

  1. 受信データ:
    • インテグレーションフローは、HTTPS アダプタを介してメッセージを受信することから開始されます。
    • このメッセージには、製品情報を含むテキストファイルが含まれています。
  2. データ構造の理解:
    • 行の最初の行には、データの構造を定義するパラメータ名が含まれます。
    • 後続の各行には、パラメータの後に製品詳細が含まれます。
列 Category、ProductId、DimensionWidth、WeightUnit、DimensionUnit、DimensionHeight、DimensionDepth、Weight、Name を含むスプレッドシート。ノートブック、PDA、スキャナ、プリンタ、およびスピーカのデータを表示します。

XSD ファイルの選択

CSV データを XML に正しくマッピングするには、XSD (XML スキーマ定義) ファイルが必要です。このファイルは、XML 出力の構造を定義します。

  • 選択ボタンを選択して、ローカルシステムから XSD ファイルをアップロードします。
  • アップロードされると、XSD ファイルがインテグレーションフローのリソースに追加されます。

XML 構造の定義

CSV ファイルの各行は製品エントリを表します。これを XML で適切に構造化するには、以下の手順に従います。

  • XSD のターゲットエレメントへのパスとして XPath 式 Products/Product が使用されます。
  • これにより、各製品エントリが <Product> ルートエレメント内の <Product> ノード内に配置されます。

カテゴリ別のデータのフィルタリング

ノートブックカテゴリの製品のみを含めます。

CSV 形式の設定

  • CSV データ項目は、セミコロン ( ;) で区切られます。
  • この書式と一致させるために、CSV での項目区切記号をセミコロン ( ; ) に設定します。

ヘッダの処理

CSV ファイルの最初の行には、実際の製品データではなく、列名が含まれています。XML エントリに変換されないように、最初の行ヘッダを除外オプションが有効化されています。これにより、実績データのみが処理されます。

XML エレメントへの CSV 値のマッピング

対応する XML 要素に正しく値を割り当てるには、ドロップダウンメニューから [XSD 要素と一致するように CSV ヘッダーを設定] オプションを選択します。これにより、CSV 列ヘッダが XSD 構造の適切なエレメントにマッピングされます。

XML スキーマ、パス、レコードマーカ、項目区切りのオプション (ヘッダを除く)、および CSV ヘッダの設定を表示する CSV から XML へのコンバータ画面。処理タブが選択されます。

CSV データが XML に正常に変換されると、メッセージ本文は以下のように構成されます。

UTF-8 エンコードバージョン 1.0 での ID、名前、カテゴリ、次元 (深さ、幅、高さ)、重量などの製品データを含む XML ファイル。

これらのステップに従うことで、構造化された CSV データを正しい形式の XML メッセージに変換することができます。

CSV から XML へのコンバータ

ビジネスシナリオ

統合フローで CSV から XML へのコンバータを使用して、CSV から XML へのコンバータについて理解します。

タスクフロー

この演習問題では、以下のタスクを実行します。

  1. CSV から XML へのコンバータを使用してインテグレーションフローを登録します。
  2. CSV から XML へのコンバータを設定します。

前提条件

  • 前の演習問題の説明に従って、トレーニングユーザで SAP Integration Suite にログインすることができます。
  • CSV および XML ファイル形式に関する基本的な理解
  • XSD (XML スキーマ定義) ファイルによる XML 構造の定義方法について理解します。

演習の結果

この演習問題を終了すると、CSV ファイルが構造化された XML 形式に変換され、XML 構造を定義するための XSD ファイルが設定され、CSV ヘッダが対応する XML 要素にマッピングされ、カテゴリに基づいてデータが処理されるフィルタリングが適用されました。

この演習問題から何を学習しますか。

この演習を通じて、以下の知識を得ることができます。

  • データ変換 - さまざまな書式のデータを構造化する方法の理解
  • XML 設定 - XSD ファイルを使用した XML 構造の定義
  • データフィルタリング - カテゴリベースのフィルタリングを適用して、関連レコードを抽出します。
  • 統合フロー - システム統合のために CSV データを XML に変換する方法を理解します。

この実践演習では、エンタープライズアプリケーションと統合で構造化データを処理するための準備を行います。

インテグレーションフローへのメッセージの送信

ビジネスシナリオ

Postman コレクションを使用してインテグレーションフローにメッセージを送信するコンセプトについて理解します。

タスクフロー

この演習問題では、以下のタスクを実行します。

  1. インテグレーションフローで HTTP アダプタアドレスが正しく設定されていることをチェックおよび確認します。
  2. インテグレーションフローにメッセージを送信します。

前提条件

  • 前の演習問題の説明に従って、トレーニングユーザで SAP Integration Suite にログインすることができます。
  • CSVtoXML インテグレーションフローが機能し、デプロイされている必要があります。
  • Generic Receiver Integration Flow が機能し、デプロイされている必要があります。

演習の結果

この演習問題を終了すると、Insomnia または Postman を介して、Generic Receiver および CSVtoXML 統合フローへのメッセージが正常に送信されます。

この演習問題から何を学習しますか。

この演習を通じて、以下の知識を得ることができます。

  • 提供されている Postman Collection を使用します。
  • Insomnia での Postman Collection の実装。
  • 認証を送信するための Insomnia ツールの設定。
  • SAP Integration Suite のインテグレーションフローにメッセージを送信しています。

この実践演習では、インテグレーションフローが機能していることを確認するために、Postman または Insomnia および Postman コレクションを使用するための準備を行います。

マッピングコンテキスト

マッピングコンテキストについて

メッセージマッピングを実装する前に、マッピングコンテキストのコンセプトを理解することが重要です。マッピングコンテキストにより、ソース値がターゲット項目に適切に割り当てられるようになります。特に、階層レベルおよびオカレンスに関してソース構造とターゲット構造が異なる場合です。

このコンセプトでは、データの損失や不適切なマッピングを回避するために、マッピングコンテキストを正しく設定することの重要性を検討します。

ユースケースの詳細

以下のように構造化された品目分類情報を含む受信 XML メッセージを考えてみます。

主要カテゴリプリンタおよびスキャナの製品階層を表す XML コードのスクリーンショット。これには、多機能プリンタとスキャナが含まれており、それぞれ対応する製品が一覧表示されます。

目的は、メインカテゴリをノード属性として割り当てながら、この構造を製品一覧にフラット化することです。その結果、以下のようになります。

Multi Print、Multi Color、Power Scan、および Photo Scan を含むカテゴリ Printers および Scanner の名前空間と製品説明を含む XML コードスニペットのスクリーンショット。

マッピングコンテキストの実装

この変換を実現するには、以下のステップに従います。

  1. ソース項目 ns1:ProductHierarchy\MainCategory\Product をターゲット項目 ns1:Products\Product にマッピングします。
  2. マッピング式エディタで、各項目のコンテキストを適切に設定します。
  3. ソース項目でルートノードをコンテキストとして選択して、製品一覧が完了していることを確認します。

コンテキストが出力に与える影響。

  • コンテキストが Category に設定されている場合は、最初のカテゴリの製品のみが表示されます。
  • MainCategory に設定すると、最初の主要カテゴリの製品のみが含まれます。
  • ルート ProductHierarchy に設定すると、製品一覧全体が含められます。

実装

ここでは、インテグレーションフロー内でのメッセージマッピングの実装について説明します。メッセージ変換を構築および処理する方法を理解することで、ソース項目とターゲット項目間の正確なデータ割当が保証されます。

HTTPS を介した送信者間通信、メッセージマッピング、コンテキスト定義、および直接処理終了を示す SAP 統合プロセスフロー図。

インテグレーションフローモデリング基本 - マッピングコンテキストの例は、構造化されたアプローチに従っています。

  1. メッセージの受信: インテグレーションフローは、HTTPS アダプタを介して受信メッセージを受信します。
  2. メッセージマッピングステップ: メッセージは、ターゲット構造に適合するようにマッピングステップで変換されます。
  3. 項目マッピングの定義: マッピングは以下のように確立されます。

    ソース項目 ns1:ProductHierarchy\MainCategory\Category\product がターゲット項目 ns1:Products\Product にマッピングされます。

図は、マッピングツールインタフェースを示しています。左側は ProductHierarchy、右側は Products、下部は Product と Product を接続するマッピング式です。関数パネルは左側にあります。

マッピング式エディタでは、ソース構造内の各項目のコンテキストを個別に定義することができます。ターゲット構造に製品の完全な一覧が含まれるようにするには、メッセージコンテキストを正しく設定する必要があります。これを行うには、ソース項目のコンテキストメニューでコンテキストとしてメッセージルートノードを選択します。

ドロップダウンメニュー (式コピー、コンテキスト、XML としてリターン、キュー照会、項目検索、情報)。コンテキストサブメニューに ns1:ProductHierarchy、MainCategory、および Category が表示されます。

コンテキスト設定の背景にある理由の理解

この設定が必要な理由を把握するために、メッセージ処理の動作を分析します。

  1. メッセージのインポートとコンテキストの分離

    XML インスタンスは、ターゲット項目マッピングが有効になる前に処理キューにインポートされます。キュー内のコンテキスト変更によって、データのグループ化方法が決定されます。

  2. ルートノード生成

    ルートノード ns1:products が登録されます。

  3. ターゲット構造への値のマッピング

    現在のコンテキスト内で、値がターゲットノード ns1:Products\Product にマッピングされます。

  4. コンテキストのクローズと完了

    最初のコンテキストが処理されると、ターゲット構造の ns1:Products コンテキストとともに終了します。ターゲット構造のすべての項目が処理されると、変換が完了します。

出力に対するコンテキスト選択の影響

製品ソース項目のコンテキストがカテゴリレベルで設定されている場合、製品一覧のサブセットのみが生成されます。具体的には、コンテキスト変更によって分離された最初のコンテキスト内の製品のみが含まれます。

つまり、ソース構造でコンテキストを設定する方法は結果に直接影響します。

コンテキスト選択に基づく結果の例:

  1. コンテキストカテゴリレベルに設定 (ns1:ProductsHierarchy\MainCategory\Category\Product = Category)。

    項目マッピング登録時のこのデフォルト設定では、最初のカテゴリの製品 (多機能プリンタ:

    Code Snippet
    123456
    <?xml version="1.0" encoding="UTF-8"?> <ns0:Products xmlns:ns0="http://demo.sap.com/mapping/context"> <Product MainCategory="Printers and Scanners">Multi Print</Product> <Product MainCategory="Printers and Scanners">Multi Color</Product> </ns0:Products>
  2. コンテキスト主要カテゴリレベルに設定 (ns1:ProductHierarchy\MainCategory\Category\product = MainCategory)。

    この設定には、最初の主要カテゴリ、プリンタ、およびスキャナ内のすべての製品が含まれます。

    Code Snippet
    12345678
    <?xml version="1.0" encoding="UTF-8"?> <ns0:Products xmlns:ns0="http://demo.sap.com/mapping/context"> <Product MainCategory="Printers and Scanners">Multi Print</Product> <Product MainCategory="Printers and Scanners">Multi Color</Product> <Product MainCategory="Printers and Scanners">Power Scan</Product> <Product MainCategory="Printers and Scanners">Photo Scan</Product> </ns0:Products>
  3. コンテキストをルートレベルに設定 (ns1:ProductHierarchy\MainCategory\Category\product = ns1:ProductHierarchy)。

    ルートコンテキストを選択すると、製品の完全な一覧が含まれるようになります。

製品階層構造、マッピング式、および特定のデータ項目の変換およびマージに使用される機能を表示する、データマッピングおよび変換インタフェースのスクリーンショット。

マッピングでの useOneAsMany 関数の使用

ns1:Products\product の MainCategory 属性をマッピングするために、標準関数 useOneAsMany が適用されます。この機能により、主要カテゴリ名が正しく複製されます。

  • 最初の引数: ターゲットに渡される値 (この場合は、MainCategory ノードの Name 属性) を指定します。
  • 第 2 引数: ターゲット内で値が繰り返される回数を決定します。
  • 第 3 引数: ターゲットのコンテキスト変更を定義します。

2 番目と 3 番目の引数の両方が、ソース項目 ns1:ProductHierarchy\MainCategory\Category\Product から導出されます。コンテキストを慎重に設定することで、データをグループ化および処理する方法を制御し、正確な変換結果を得ることができます。

2 つのスクリーンショットは、式コピーやコンテキストなどのオプションを含むドロップダウンメニューを示しています。メニューは、オプション MainCategory および Category が選択されている ns1:ProductHierarchy に接続します。

適切な主要カテゴリ名を製品に正しく割り当てるには、MainCategory ノードの Name 属性と Product 項目の両方のコンテキストを MainCategory に設定する必要があります。

標準関数 useOneAsMany の出力には、各値の後にコンテキスト変更が含まれている必要があります。これがないと、2 番目と 3 番目の製品がコンピュータシステムおよびコンピュータコンポーネントの主要カテゴリにそれぞれ誤って割り当てられますが、残りの製品は MainCategory 属性が空になります。

[式のコピー]、[キューの表示]、および [情報] の選択肢を含むオプションメニューを表示するユーザーインターフェイス。カーソルがキュー照会を指しています。

この問題を回避するために、各値のコンテキスト変更オプションを使用して、製品ソース項目と 3 番目の入力引数の間に標準機能 splitByValue を挿入します。前述のように、3 番目の引数によってターゲット構造のコンテキスト変更が決定されます。

セクション入力および詳細を含むノード splitByValue を示すフローチャート。テキスト各値のコンテキスト変更が、ドロップダウンメニューボタンとともに表示されます。

useOneAsMany 関数のメッセージキューは次のように表示されます。2 番目の入力引数でコンテキストが変更されるまで、メインカテゴリであるプリンタとスキャナが繰り返されることを示しています。コンテキスト設定に基づいて、メインカテゴリのシフト時にこの変更は適切に行われます。

Function Message Queue というタイトルの表には、プリンタ、コンピュータシステム、コンポーネント、USB スティック、および Web カメラに関連するさまざまなエントリを含む useOneAsMany:in1 to useOneAsMany:out1 列が表示されます。

詳細については、以下を参照してください。

マッピングコンテキスト

ビジネスシナリオ

統合フローへのマッピングアーティファクトを使用してマッピングコンテキストを理解し、ソース値がターゲット項目に正しく割り当てられていることを確認します。特に、ソース構造とターゲット構造が階層レベルおよびオカレンスの点で異なる場合です。

タスクフロー

この演習問題では、以下のタスクを実行します。

  1. メッセージマッピングを含むインテグレーションフローを登録します。
  2. インテグレーションフローでマッピングを設定します。

前提条件

  • 前の演習問題の説明に従って、トレーニングユーザで SAP Integration Suite にログインすることができます。
  • メッセージマッピングの基本知識。

演習の結果

この演習では、マッピングコンテキストを設定および適用して正しいデータ変換を実現し、データ損失を防ぎ、メッセージマッピングでターゲット項目にソース値を正確に割り当てる方法を学習します。

この演習問題から何を学習しますか。

この演習を通じて、以下の知識を得ることができます。

  • マッピングコンテキストについて: マッピングコンテキストがデータ変換にどのように影響し、ソース値がターゲット項目に正しく割り当てられるようにするか。
  • コンテキスト設定とその影響: さまざまなコンテキストレベル (カテゴリ、主要カテゴリ、ルート) が出力の構造および完全性にどのように影響するか。
  • 標準関数の適用: useOneAsMany および splitByValue を使用して、データの複製とコンテキストの変更を正しく処理する方法。
  • 正確なデータマッピングの確保: マッピングコンテキストを適切に設定することで、不適切な割当や欠損値を回避するためのベストプラクティス。
  • メッセージマッピングの実装: インテグレーションフローでのフィールドマッピングの定義およびメッセージ変換の処理に関するステップバイステップガイダンス。

この演習問題を終了すると、メッセージマッピングで正確で完全なデータ変換を実現するために、マッピングコンテキスト設定を確実に適用できるようになります。

メッセージの送信およびインテグレーションフローのチェック

ビジネスシナリオ

提供されている PostmanCollection とともに Insomnia または Postman を使用して、インテグレーションフローが正しいかどうかをチェックする方法を理解します。

タスクフロー

この演習問題では、以下のタスクを実行します。

  1. インテグレーションフローのデプロイメントステータスをチェックします。
  2. Insomnia でテスト環境を設定し、Insomnia でテスト依頼を登録します。

前提条件

  • 前の演習問題の説明に従って、トレーニングユーザで SAP Integration Suite にログインすることができます。
  • メッセージマッピングの基本知識。
  • Insomnia または Postman にアクセスして、インテグレーションフローにメッセージを送信します。

演習の結果

Insomnia または Postman を使用してインテグレーションフローを自信を持ってテストおよび検証し、それらが正しく動作することを確認し、データを想定どおりに処理し、さまざまなシナリオで適切な応答を返すことができます。

この演習問題から何を学習しますか。

この演習では、以下について学習します。

  • Insomnia を API テストに使用する方法を理解します。
  • 統合フローのテストケースを登録および実行します。
  • 統合ロジックの問題を特定して修正します。
  • 統合プロセスの信頼性と品質を向上させます。
  • 本稼働で統合フローをデプロイまたは更新します。