ビジネス・オブジェクトの生成

WebSphere Business Integration システムには、ビジネス・オブジェクトを定義するためのユーティリティーと、それらのビジネス・オブジェクトの SAP アプリケーションでの処理をサポートするために必要なメタデータを定義するユーティリティーの 2 つが用意されています。

ビジネス・オブジェクトの生成: SAPODA

SAPODA は、Hierarchical Dynamic Retrieve Module の個別ビジネス・オブジェクト定義を生成します。このユーティリティーを使用して階層型ビジネス・オブジェクト定義を作成する場合は、生成された親ビジネス・オブジェクト定義と子ビジネス・オブジェクト定義の間の関係を手作業で指定する必要があります。

注:
テーブル定義に変則的な点がある場合は、ニーズを完全に満たすために、生成されたビジネス・オブジェクトを手動で変更しなければならないことがあります。

SAPODA を使用してビジネス・オブジェクト定義を作成するためのステップ

SAPODA を使用してこのモジュールのビジネス・オブジェクト定義を生成するには、以下のステップを実行します。

  1. SAPODA を起動します。
  2. Business Object Designer Express を起動します。このユーティリティーは、(ODA へのアクセスを提供することにより) ビジネス・オブジェクト定義の手作業および自動での開発を支援します。
  3. Business Object Designer Express の 6 つのステップの処理を実行して、ODA を構成し、実行します。
  4. Business Object Designer Express を使用して、生成された定義を手動で変更します。

SAPODA の詳細については、付録 C, SAPODA を使用したビジネス・オブジェクト定義の生成を参照してください。Business Object Designer Express の起動および Business Object Designer を使用したビジネス・オブジェクト定義の手動での変更については、「ビジネス・オブジェクト開発ガイド」を参照してください。

テーブル間の関係の作成

SAPODA は、指定されたすべてのテーブルのビジネス・オブジェクト定義を生成します。生成が完了した後で、Business Object Designer Express ですべてのテーブルを開いて編集することができます。

SAPODA が生成した複数の個別ビジネス・オブジェクト定義から 1 つの階層型ビジネス・オブジェクト定義を作成するには、以下のステップを実行します。

  1. 階層のトップレベルにあるテーブルを判別します。

    例えば、トップレベル・ビジネス・オブジェクトが SAP_Customer であるとします。このビジネス・オブジェクトは、Customer_KUNNR という単一のキーを持っています。SAPODA では、この属性に対して次に示すアプリケーション固有の情報が指定されています。

    TN=KNA1:CN=KUNNR

  2. すべての子ビジネス・オブジェクトおよび孫ビジネス・オブジェクトを見つけ出し、識別します。
  3. トップレベル・ビジネス・オブジェクトおよびその下位階層にある各親ビジネス・オブジェクトに対して、個別の子ビジネス・オブジェクトまたは子ビジネス・オブジェクトの配列を表現する属性を追加します。
  4. 親のキーに対応する属性を含む個別の子ビジネス・オブジェクト定義に対して、その属性のアプリケーション固有の情報内で外部キー関係を指定します。

    例えば、SAP_Customer の直接の子であるビジネス・オブジェクトには、多くの場合に Customer_KUNNR 属性が含まれています。Customer_KUNNR のアプリケーション固有の情報内で、次の行を指定します。

        TN=KNVI:CN=KUNNR:FK=..Customer_KUNNR
     

    外部キーの指定の詳細については、表 46 を参照してください。

  5. 対応するテーブルに親オブジェクトのキーが含まれていない子ビジネス・オブジェクト定義を見つけ出します。これらの定義内で、子の基本キーに一致する親の非キー・フィールドを見つけ出します。

    例えば、SAP_Customer_ADRC は親と同じ非キーを持つ 2 次レベル・ビジネス・オブジェクトです。SAPODA は、SAP_Customer 内の非キー・フィールドである Address_number_ADDRNUMBER 属性を使用して、このビジネス・オブジェクト定義を生成します。

    この属性のアプリケーション固有の情報内で、外部キー関係を次のように指定します。

        TN=ADRC:CN=ADDRNUMBER:FK=..Address_ADRNR
     

    注:
    SAP では、SAP バージョン 3x で作成されたテーブル (例えば KNA1) で使用されている ADDNR フィールドの名前を、SAP バージョン 4x で作成されたテーブル (例えば ADRC) では ADDRNUMBER に変更したため、これら 2 つのフィールド間の関係を認識することは、比較的困難です。

ビジネス・オブジェクトの生成: Advanced Outbound Wizard

WebSphere Business Integration システムでは、ユーザーはビジネス・オブジェクトと、それらのビジネス・オブジェクトの SAP アプリケーションでの処理をサポートするために必要なメタデータを定義できます。Advanced Outbound Wizard は、SAP Display Transaction をステップごとにたどっていく間に、ユーザーが行ったアクションを記録および解釈します。

重要:
このウィザードは、ビジネス・オブジェクト開発の支援を目的としています。テーブル定義には変則的な点が多いため、ニーズを完全に満たすには、作成されたビジネス・オブジェクトを手動で変更しなければならない場合があります。

このウィザードでは、Retrieve 動詞を使用する、フラットなビジネス・オブジェクトおよび階層型ビジネス・オブジェクトの定義をサポートします。

注:
このウィザードを使用する前に、ビジネス・オブジェクトのために必要なすべての情報が、SAP 内の既存のエンティティーに含まれていることを確認してください。例えば受注の場合には、使用するエンティティーに、必要な行項目、スケジュール行、およびパートナーが含まれていることを確認してください。

Advanced Outbound Wizard を使用してビジネス・オブジェクト定義を作成するためのステップ

Advanced Outbound Wizard を使用してこのモジュールのビジネス・オブジェクト定義を生成するには、以下のステップを実行します。

  1. IBM CrossWorlds Station に移動します (トランザクション /N/CWLD/HOME)。

    重要:
    IBM CrossWorlds Station を使用してビジネス・オブジェクト定義を生成するときには、SAP システムに英語でログオンする必要があります。CrossWorlds Station ログは英語でのみ、使用可能です。
  2. 「Development」タブで、「Advanced Outbound Wizard」ボタンをクリックします。
  3. 「IBM CrossWorlds outbound wizard」ウィンドウで、以下の情報を入力します。
  4. 「Record」をクリックします。
  5. 初期画面で、トランザクションを使用して処理する情報を選択します。
  6. トランザクションをステップスルーします。最終画面に到達すると、表示を終了するかどうかについての質問が表示されます。「はい」ボタンをクリックします。

    「CW Hierarchical Outbound Wizard」画面が表示されます。ビジネス・オブジェクトが、画面上部に閉じた状態で表示されます。

  7. ビジネス・オブジェクト名の左側にあるプラス・ボタン (+) をクリックして、ビジネス・オブジェクトの属性を表示します。表示された属性の一番下までスクロールし、子ビジネス・オブジェクトの名前の左側にあるプラス・ボタン (+) をクリックして、それらの属性を表示します。

    このウィザードでは、各フィールドの長さがフィールド名の右側に表示されます。フィールド長の右側には、累積フィールド長が表示されます。累積の長さが 512 バイトを超えると、フィールドには赤い X マークが付けられ、フィールドの表示が黄色から赤に変わります。デフォルトでは、この長さが 512 バイトを超えると、このウィザードはビジネス・オブジェクトへの属性の追加を停止します。必要な属性がデフォルトで除去される場合、この属性を組み込むには、以下の方法があります。

  8. 不要な属性の行をダブルクリックして、定義からそれらの属性を除去します。削除された行の色が青に変わります。
  9. ビジネス・オブジェクト定義に、必要なすべての属性が含まれていることを確認します。定義が完成したら、生成ボタンをクリックします。

    「Download Object Definition」画面が表示されます。

  10. 「Download Object Definition」画面で、ビジネス・オブジェクト定義ファイルの場所と名前を指定し、「Save」をクリックします。

このウィザードで作成されるビジネス・オブジェクト名および属性名の詳細については、ビジネス・オブジェクト名を参照してください。

Wizard によるテーブル間の関係の作成方法

Advanced Outbound Wizard は、ビジネス・オブジェクト定義を生成する際に、SAP トランザクションに関係するすべてのテーブルのリストを作成します。テーブルのリストを表示するには、ウィザード画面の最上部にある「Show Tables」ボタンをクリックします。 表 48 に、SAP_Customer の生成に使用されたテーブルを示します。


表 48. SAP_Customer の生成に使用されるテーブルの例
名前 テーブルの説明
TFDIR 機能モジュール
KNA1 カスタマー・マスターの一般データ
T001 会社コード
KNB1 カスタマー・マスター(会社コード)
KNVV カスタマー・マスター売上データ
TOBJ_OFF 使用禁止されたオブジェクト
ADRC アドレス (セントラル・アドレス管理)
ADRCT アドレス・テキスト (セントラル・アドレス管理)
ADRG 他のアドレス・グループへのアドレスの割り当て (セントラル・アドレス)
ADRV リストを使用したアドレス (セントラル・アドレス管理)
T002 言語キー
TBE01 ビジネス・トランザクション・イベント: パブリッシュ & インターフェースのサブスクライブ
TBE31 アプリケーション・コンポーネント (パブリッシュ & サブスクライブ・インターフェース別)
TBE32 パートナー機能モジュール (パブリッシュ & サブスクライブ・インターフェース別)
TBE34 カスタマー機能モジュール (パブリッシュ & サブスクライブ・インターフェース別)
T100 メッセージ
DOKIL ドキュメンテーション・テーブル DOKH のインデックス
KNVI カスタマー・マスター税指標
TVKWZ 組織の単位: 使用可能なプラント (販売組織別)
T001W プラント/支店
KNVL カスタマー・マスター・ライセンス
TSADVC インターナショナル・アドレス・バージョンのカスタマイズ
TMODU 相互参照フィールド名 - MODIF1
TCONV_ADR 旧アドレス・フィールドの CAM アドレス・フィールドへの変換
TSAD7 アドレス・グループ (セントラル・アドレス管理)
T005T 国名
T005U 税: 地域キー: テキスト
TZONT カスタマー: 地域ゾーン・テキスト
TSAD7T アドレス・グループの記述 (セントラル・アドレス管理)
TOJTD オブジェクト・タイプのカスタマイズ
TOJTB ビジネス・オブジェクト・リポジトリー:基本データ

このウィザードでは、複数のテーブルの階層や、これらのテーブル間の関係を判断するために、これらのテーブルを 3 回パススルーします。それにより得られた情報は、ビジネス・オブジェクト属性のアプリケーション固有情報で外部キー関係を指定するために使用されます。属性には、SAP のデータ・ディクショナリー内のフィールドの記述に基づいて、ユーザーの言語で名前が付けられます。

ウィザードは、3 回のパススルーで以下の動作を実行します。

  1. 階層のトップレベルにあるテーブルを判別します。

    通常このテーブルは、キー・フィールドを 1 つのみ持つ、ウィザードが最初に見つけたテーブルです。

  2. トップレベル・ビジネス・オブジェクトのキーを格納した子ビジネス・オブジェクトを判別し、キー・フィールドの数に基づいて、子関係を孫関係から区別します。

    通常、いくつかのテーブルが、その他の複数のキーのほかに、親のキー・フィールドを格納しています。孫テーブルは、通常、その親よりも多くのキーを格納しています。同一のキーを持つ複数のテーブルは、同じ親を持つ兄弟 (ピア) です。

  3. トップレベル・ビジネス・オブジェクトのキーを含まないテーブル間の関係を判別します。

    ウィザードは、子の基本キーに一致する親の非キー・フィールドを見つけ出すことで、関係を確立します。

表 48 には、Display-Customer テーブルのリストを上記のように 3 回パススルーした結果が、次のように示されています。

重要: このウィザードで生成された定義に対しては、検査を行ってください。ウィザードの作業のほとんどはビジネス・オブジェクト定義を作成する際に実行されますが、生成された定義は、使用する実装でのニーズを正確に満たすことはできません。テーブル関係には変則的な点が多いため、ウィザードが誤った判断をする場合もあります。例えば、2 つのテーブルが同じキーのセットを持っており、ある子テーブルが同じキーのセットと、その他に 1 つのキーを持っていた場合、ウィザードはこの子を最初のテーブルに割り当てます。

Copyright IBM Corp. 2004