フラット構造のビジネス・オブジェクトへの変換

フラットな構造に新しいビジネス・オブジェクト・データが再び取り込まれると、/CWLD/RFC_DO_VERB_NEXTGEN はそのビジネス・オブジェクト・データを呼び出し側のコネクターに戻します。コネクターは単一スレッドのため、一度に 1 つのビジネス・オブジェクトのみを渡すことに注意してください。コネクターはこの時点で、ビジネス・オブジェクト・データをフラットな構造からビジネス・オブジェクトに変換する必要があります。フラットな構造のデータをビジネス・オブジェクトへと処理する場合、コネクターは以下の処理を行う必要があります。

  1. 元のビジネス・オブジェクトを初期化します。
  2. ビジネス・オブジェクト・データをフラットな構造からビジネス・オブジェクトに転送します。
  3. ビジネス・オブジェクトを InterChange Server Express (コネクター・コントローラー) にデリバリーします。

ビジネス・オブジェクトの初期化

コネクターは、統合ブローカーから受け取った元のビジネス・オブジェクトを、値を取り込む前に初期化します。ビジネス・オブジェクトを初期化する際、コネクターはトップレベル・ビジネス・オブジェクトのすべての属性をヌルに設定します。オブジェクト・タイプ属性については、このアクションは包含されているすべてのビジネス・オブジェクトを再帰的に削除し、トップレベル・ビジネス・オブジェクトのみが残されます。

コネクターによるビジネス・オブジェクトの再ビルドの仕方

コネクターが元のビジネス・オブジェクトを初期化した後には、ビジネス・オブジェクト名とビジネス・オブジェクト動詞を含んだトップレベル・ビジネス・オブジェクトのみが残され、属性値データは残されません。属性値データは、ABAP Handler からのフラットな構造から転送される必要があります。戻されたデータを転送するためのロジックは単純ですが、データはコネクターが予期する正確な順序で転送される必要があります。

コネクターは、戻されたデータ内のアプリケーション固有情報を、ビジネス・オブジェクト定義にある属性のアプリケーション固有情報と突き合わせます。コネクターは、戻されたビジネス・オブジェクト・データにあるすべての属性を設定します。どのような属性も設定されていないと、コネクターはそのコネクター・インフラストラクチャーに FAIL を戻します。

戻されたデータの転送を正常に実行するために、コネクターは戻されたデータについて、以下の項目が真であることを予期します。

コネクターは、アプリケーション固有ビジネス・オブジェクトを再作成する際に、トップレベルのビジネス・オブジェクトを開始位置として、そのビジネス・オブジェクトを 2 回通してループします。

  1. 最初のパスでは、コネクターはすべての単純な属性を設定します。
  2. 2 回目のパスでは、子オブジェクト内にフラットな属性が存在するかどうかを検査します。存在する場合、コネクターは子オブジェクトに対して同じ処理を再帰的に実行します。
重要: フラットな構造をビジネス・オブジェクトへ変換するのに失敗すると、コネクターは失敗を統合ブローカーに報告します。しかし、データは既に SAP アプリケーション内に送られているため、この段階でロールバックすることはできません。ルールは単純ですが、多数の属性を持つ、複雑な階層型ビジネス・オブジェクトを実装することは管理するのが困難である可能性があります。

ビジネス・オブジェクトが新しいビジネス・オブジェクト・データを使用して正常に再作成されると、コネクターはそのオブジェクトを統合ブローカーに戻します。

Copyright IBM Corp. 2004, 2005