| # ビジネスオブジェクトのモデル作成 ビジネスオブジェクトリポジトリ (BOR) は、ビジネスオブジェクトを保存する仮想空間です。ビジネスオブジェクトはビジネス指向のユーザインターフェイスを持つオブジェクトで、全ビジネス関連データの保存とそのデータ操作のための単一エントリポイントとして機能します。 この文書では、ビジネスオブジェクトのコンセプトおよびビジネスオブジェクトをモデル化するプロセスについて説明します。 この文書には次のセクションがあります。 統合: ビジネスオブジェクトを使用する理由を説明します。 構造: ビジネスオブジェクトの主な要素およびプロパティについて説明します。 参照: 参照テーブルの使用について説明します。 モデル化プロセス: ビジネスオブジェクトのモデル化に必要な手順を説明します。 統合 Infor LN とその他のアプリケーションとの間の統合は、主にビジネスオブジェクトによって実現されます。ビジネスオブジェクトは、Infor LN アプリケーションと統合パーティとの間の階層です。その結果、統合パーティは、Infor LN 機能の内部に直接アドレス指定せず、ビジネスオブジェクトというエントリポイントを通じてアドレス指定します。 この構造には次のような利点があります。 統合パーティは、Infor LN 機能の技術的な実装や、そのレベルで適用される複雑さや制限に直面しなくてすみます。たとえば、データの保存にどれだけ多くのテーブルが必要であっても、ビジネスオブジェクトを通じてすべてのテーブルにアクセスできます。同時に、ビジネスオブジェクトはこれらのテーブルを隠し、このデータの読取または保存を行うエントリポイントのみを統合パーティに付与します。 内部 Infor LN 機能には直接対処しないので、この機能を変更しても、後方互換性が保証される限り統合には影響を及ぼしません。たとえば、テーブルフィールドのコードを変更しても、ビジネスオブジェクトにおけるこのフィールドの対外表現方法は変わりません。BusinessPartnerAddress は BusinessPartnerAddress のままです。もちろん、ビジネスオブジェクトを更新するには BusinessPartnerAddress を新規テーブルコードにリンクする必要がありますが、統合パーティはその名前を引き続き使用できます。 ビジネスオブジェクトのユーザインターフェイスは、OAGIS や RosettaNet などの国際標準にしたがって定義されます。この用語はビジネス分野において理解され、データと機能をすぐに認識できます。 Infor LN と統合パーティ間の通信言語として XML を採用することにより、やり取りする情報を非常に柔軟に、またアプリケーションに依存せずに構造化できます。 構造 この文書の残りの部分で、ビジネスオブジェクトの構造、およびビジネスオブジェクトの作成とモデル化に必要な手順を説明します。 ビジネスオブジェクトには次の要素があります。 ヘッダ: ビジネスオブジェクトの ID データ。 構成要素: 構成要素を使用してビジネスオブジェクトを構造化します。ただし、ビジネスオブジェクトはできるだけ平らにすることになっています。例外として構造化できるのは、繰り返し発生するオーダラインなど、繰り返し要素の発生のみです。構成要素を使用する場合、テーブル、保護属性および保護メソッドは構成要素内で定義されることに注意してください。 テーブル: ビジネスオブジェクトを通じてアクセスできる情報はテーブルに保存される場合が多いため、ビジネスオブジェクトは 1 つまたは複数のテーブルにリンクする必要があります。ビジネスオブジェクトを保存するテーブルの他に、参照テーブルを使用して外部アプリケーションからビジネスオブジェクトへの参照を保存することができます。これらの参照を保存するのは、外部アプリケーションがビジネスオブジェクト情報をまだ必要とするのに、その情報が削除されないようにするためです。 属性: 属性はビジネスオブジェクトデータへのエントリポイントです。属性はしばしばテーブルフィールドにリンクされますが、計算値を表したり、どのテーブルフィールドにも関係のない値を持つこともできます。 メソッド: メソッドは、属性値の読取、変更、計算など、ビジネスオブジェクト属性に対する操作を行います。 関係: ビジネスオブジェクト内、ビジネスオブジェクト間、およびビジネスオブジェクトとテーブル間に、いくつかのタイプの関係があります。関係は、ビジネスオブジェクトとその情報チャネルの構造について重要です。 ｢公開｣ と ｢保護｣: 公開ビジネスオブジェクトおよび保護ビジネスオブジェクトと、ビジネスオブジェクト内の公開階層および保護階層との間には、重要な違いがあります。ビジネスオブジェクトは常に保護か公開のどちらかです。保護の場合は、保護階層のみを持ちます。公開の場合は、保護階層と公開階層の両方を持ちます。保護階層は保護属性と保護メソッドで構成され、公開階層は公開属性と公開メソッドで構成されます。保護階層を使用できるのは Infor LN 自身のみです。公開階層は外部アプリケーションが使用できます。したがって、外部アプリケーションは公開メソッドを呼び出せますが、保護メソッドは呼び出せません。保護階層には、テーブルやその他のビジネスオブジェクトへのリンクを含むこともできます。 ヘッダ ビジネスオブジェクトのヘッダは、ID データ、ビジネスオブジェクトが保存されている VRC、ビジネスオブジェクトが失効済かどうか、記述、およびビジネスオブジェクトタイプを指定します。 ID データは次の要素で構成されます。 ビジネスオブジェクト名。ビジネス領域で意味のあるものでなくてはなりません。BusinessPartner など パッケージ/モジュールコード。ビジネスオブジェクトはパッケージとモジュールの組合せに対してモデル化されるので、これらのデータも存在します。 パッケージとモジュールの組合せにおいてビジネスオブジェクトを特定するのに使用される、3 桁の ID コード ビジネスオブジェクトタイプは、保護、公開、プロキシのいずれかです。 構成要素 ビジネスオブジェクトに繰り返し要素がある場合、構成要素を持ちます。たとえば、ビジネスオブジェクト PurchaseOrder には 1 つのオーダヘッダと複数のオーダラインがあります。この構造を定義するには、オーダラインの構成要素に対して 1 対多の関係を持つオーダヘッダの構成要素を使用します。 構成要素はグループボックスのようなものなので、もっとも重要な機能は名前と、互いに持つ関係です。構成要素はその他の重要なビジネスオブジェクト情報を自身では保存しませんが、その他の情報の保存要素を個別に定義するフレームワーク、ビジネスオブジェクトにリンクされるテーブル、保護属性、および保護メソッドを提供します。 構成要素はビジネスオブジェクトの保護階層にのみ存在できるので、構成要素において定義できるのは保護属性およびメソッドのみです。公開属性および公開メソッドは、常にビジネスオブジェクト自体において定義されます。構成要素間の関係の詳細は、属性レベルで指定されます。 テーブル ビジネスオブジェクトデータの多くはテーブルに保存され、ビジネスオブジェクト属性を通じてアクセスされます。属性をテーブルフィールドにリンクする前に、当該テーブルをビジネスオブジェクトにリンクする必要があります。 ビジネスオブジェクトに構成要素がある場合、テーブルは構成要素ごとに定義する必要があります。これは、ビジネスオブジェクトに構成要素がある場合、テーブルにリンクできるのは保護属性のみであり、保護属性は構成要素ごとに定義されるためです。 1 つのルートテーブルを定義する必要があります。ルートテーブルは、ビジネスオブジェクトまたは構成要素の主キーを含むテーブルです。さらに、重要な情報を保存するその他のテーブルも指定できます。ただし、必要なフィールドを持つ各テーブルを指定せずに、ビジネスオブジェクトに実際に属するテーブルのみ指定します。 別の、指定されないテーブルに存在するフィールドの値を取得 (または変更) するには、そのテーブルが指定されている別のビジネスオブジェクトへのリンク、および当該フィールドへのアクセスを提供するビジネスオブジェクトの属性へのリンクを使用します。 ビジネスオブジェクトが公開の場合は、参照テーブルを持つことができます。参照テーブルは、外部ソースから現行ビジネスオブジェクトへの参照を保存します。参照が存在する限り、すなわち、外部ソースから現行ビジネスオブジェクトの属性への参照を参照テーブルが保存する限り、その属性を削除することは許可されません。 参照テーブルを使用する場合、ビジネスオブジェクトに複数の特定属性およびメソッドが必要です。これらはすべて自動的に生成されます。 属性 属性は情報を保存するためのエントリポイントです。 属性はビジネスオブジェクトまたは構成要素について定義されます。また、属性は公開または保護のいずれかです。ビジネスオブジェクトに構成要素がある場合、保護属性は構成要素ごとに定義する必要があります。 属性の値は、テーブルフィールドから、1 つまたは複数のテーブルフィールドに基づく計算から、またはテーブルフィールド以外の関連ソースから得られます。属性が値を得るソースは、マップ演算子フィールドで指定されます。属性が計算に基づく場合、この計算はマニュアルでプログラムする必要があります。 属性はドメインおよびデータタイプを持つことができます。ドメインは値のフォーマットを指定します。属性がテーブルフィールドにリンクされる場合、そのテーブルフィールドのドメインがドメインとなることがよくあります。データタイプは実際にはドメインの仕様の一部です。 属性は次のプロパティを持つこともできます。 ｢読取専用｣: 属性の値を直接変更することはできません。 ｢必須｣: 属性は値を持つ必要があります。 ｢識別｣: 属性はビジネスオブジェクトまたは構成要素のキーの一部です。 ｢デフォルト有効｣: 属性にデフォルト値が使用できます。ただし、このプロパティを持つことができるのは公開属性のみです。 メソッド メソッドはビジネスオブジェクトの属性に影響します。 メソッドはビジネスオブジェクトごとまたは構成要素ごとに定義されます。また、メソッドは公開または保護のいずれかです。ビジネスオブジェクトに構成要素がある場合、保護メソッドは構成要素ごとに定義する必要があります。 動作のタイプによって、標準メソッドと特定メソッドがあります。 標準メソッドは、ビジネスオブジェクトインスタンスの作成、削除、変更など、すべてのビジネスオブジェクトについての一般的な動作を実装します。 特定メソッドは、特定のビジネスオブジェクト (またはビジネスオブジェクトの小さなグループ) のみについて特定の動作を実装します。 標準メソッドは、使用可能な属性に基づいて Infor LN そのものによって生成できます。特定メソッドはマニュアルでプログラムする必要があります。詳細は、標準／特定メソッドを参照してください。 関係 ビジネスオブジェクトを適切にモデル化するには、各種ビジネスオブジェクト関連エンティティ間の関係が非常に重要です。 次の関係タイプが存在します。 ｢ビジネスオブジェクト｣ 関係: ビジネスオブジェクトが一緒にリンクされ、これらのビジネスオブジェクトの属性を互いにリンクできます。この方法で、別のビジネスオブジェクトから情報を取得できます。別のビジネスオブジェクトへのリンクは、ビジネスオブジェクトの保護階層で作成されます。 ｢構成要素｣ 関係: 構成要素がビジネスオブジェクトにおいて一緒にリンクされ、それらが持つ関係タイプを互いに指定します。詳細レベルでは、構成要素は、その属性で指定される関係を通じてリンクされます。 ｢テーブル｣ 関係: ビジネスオブジェクトまたは構成要素の保護属性に対してテーブルフィールドをリンクするには、まず、その属性のビジネスオブジェクトまたは構成要素に対してテーブルを関連付ける必要があります。詳細レベルで、保護属性とテーブルフィールド間の関係にフィルタを指定することができます。その場合、別のテーブルフィールドが特定の値を持つ場合など、特定の条件を満たす場合のみその関係は有効です。参照テーブルの場合は、その参照テーブルを指定するだけです。参照テーブルは完全に標準化されているので、存在しないテーブルも指定できます。その場合、テーブルは自動的に生成されます。 参照 ビジネスオブジェクトは他のアプリケーションとの統合に使用されるので、どのビジネスオブジェクト情報でも自由に削除できるわけではありません。外部アプリケーションが必要とする情報を削除すると、そのアプリケーションに問題が発生する場合があります。そのような問題を防ぐため、ビジネスオブジェクトについて参照テーブルを定義できます。参照テーブルは、外部アプリケーションからビジネスオブジェクトへの参照を保存します。参照テーブルに参照が存在しない情報のみ削除できます。外部アプリケーションは、標準メソッドのセットを呼び出すことによって参照テーブルにアクセスできます。その標準メソッドのセットは、参照テーブルにリンクされた属性のセットに対して効果があります。詳細は、テーブル (ttadv7111m000) セッションのヘルプを参照してください。 モデル化プロセス 1 つまたは複数のビジネスオブジェクトをモデル化するには、次の手順を行います。手順はフローダイアグラムで表示されています。これらの手順を行うのに必要なセッションは、後述します。詳細を読むには、オンラインヘルプのリンクをクリックしてください。 これらのセッションはすべて、フローにおいてその前に出てくるセッションから利用できます。前のセッションでレコードをダブルクリックするか、タブの 1 つをクリックするか、特定メニューを使用します。 最初のフローは、全体図です。このはいくつかの処理とサブフローで構成されています。それらについては、次のセクションで概要を示します。 手順 1. ビジネスオブジェクトの作成 次のセッションを使用してビジネスオブジェクトを作成します。ビジネスオブジェクト (ttadv7500m000) セッションを開始し、ビジネスオブジェクトを作成したいパッケージおよびモジュールを選択して [新規作成] を押します。ビジネスオブジェクト (ttadv7100s000) セッションが開始し、ビジネスオブジェクトの基本データを定義できます。 手順 2. 保護階層の作成 次の図に手順の概要を示します。 次のセッションを使用します。セッションは、フローに出てくる順にリストされています。ただし、フローで指定する条件によって、繰返し使用するセッションもまったく使用しないセッションもあります。 ビジネスオブジェクトに繰り返し要素がある場合は、構成要素 (ttadv7117m000) セッションとビジネスオブジェクト構成要素 (ttadv7117s000) 詳細セッションで構成要素を定義する必要があります。 テーブルまたはフォームをビジネスオブジェクトにリンクします。 ビジネスオブジェクトが一貫して DAL 2 に基づく場合は、テーブルをビジネスオブジェクトにリンクします。ビジネスオブジェクトに構成要素がある場合は、構成要素ごとにテーブルをビジネスオブジェクトにリンクする必要があります。テーブル (ttadv7111m000) セッションを使用します。ビジネスデータを保存する 1 つまたは複数のテーブルの他に、参照テーブルを定義できます。 ビジネスオブジェクトが一貫してセッション/フォームに基づく場合は、セッション、および当該同期ダイアログ (オプション) は、構成要素ごとに指定する必要があります。 必要であれば、ビジネスオブジェクトまたは構成要素とテーブルとの間の関係の詳細を定義します。詳細は、ビジネスオブジェクト構成要素テーブル関係 (ttadv7134m000) セッションでテーブルのフィールドの値に条件を指定することで定義されます。 保護属性を保護属性 (ttadv7104m000) セッションで作成します。ビジネスオブジェクトに構成要素がある場合、保護属性は構成要素ごとに定義する必要があります。リンクされたテーブルのフィールドに基づいて、すべての使用可能な保護属性のリストを生成することができます。 保護メソッド (ttadv7112m100) セッションを使用して保護メソッドを作成します。標準メソッドまたは特定メソッドのいずれかを作成できます。標準メソッドは、保護属性の定義に基づいて自動的に生成できます。メソッドの引数は、前の手順で定義された保護属性です。 ビジネスオブジェクトメソッド引数 (ttadv7113m000) セッションを使用して保護メソッドの属性を作成します。新規メソッドを作成または保存すると、メソッドの引数が自動的に作成されます。したがって、この手順の主な目的は、自動生成された引数を必要に応じて修正することです。引数は (XML スキーマの) XSD ファイルとして保存されます。 構成要素を使用し、すべての構成要素がテーブル、保護属性、保護メソッドとともに定義されている場合はビジネスオブジェクト構成要素関係 (ttadv7133m000) セッションとビジネスオブジェクト構成要素の関係詳細 (ttadv7132m000) セッションで構成要素間の関係タイプを指定する必要があります。 手順 3. ビジネスオブジェクト関係の作成 前のセクションで説明した手順で、ビジネスオブジェクトとテーブルとの関係、およびビジネスオブジェクトの構成要素間の関係についてすでに述べました。関係の 3 番目のタイプは、ビジネスオブジェクト間の関係です。この関係は、別のビジネスオブジェクトのテーブルからテーブルフィールド値を取得するのに必要です。 次のセッションを使用して、ビジネスオブジェクト間の関係を定義します。 ビジネスオブジェクト間の関係 (ttadv7520m000) およびビジネスオブジェクト間の関係 (ttadv7120s000) これらのセッションでは、どのビジネスオブジェクトとの関係が必要で、これがどのタイプの関係であるかを定義できます。 関係の詳細 (ttadv7119m000) このセッションでは、ビジネスオブジェクトの構成要素に定義されている関係の詳細を指定できます。 手順 4. 公開階層の作成 次の図にの手順を示します。この手順は、公開ビジネスオブジェクトを作成する場合のみ必要です。 公開属性 (ttadv7114m000) セッションで公開属性を作成します。マニュアルで作成するか、すべての使用可能な公開属性を生成することができます。生成される属性は、テーブルフィールドにリンクされる保護属性に基づくか、テーブルフィールドにリンクされない保護属性に基づきます。属性を生成した場合は、生成された属性の数、あるいはそのプロパティや内容についてマニュアルで修正する必要があります。 公開メソッド (ttadv7112m000) セッションで公開メソッドを作成します。標準メソッドは自動的に生成できます。これらのメソッドは、読取や変更など、ビジネスオブジェクトのテーブルに対する操作に使用されます。これらのメソッドは自動的に関係保護メソッドを呼び出します。それらの保護メソッドに外部アプリケーションから直接アクセスすることはできません。特定メソッドはマニュアルで作成およびプログラムする必要があります。詳細は、標準／特定メソッドを参照してください。 ビジネスオブジェクトメソッド引数 (ttadv7113m000) セッションを使用して、公開メソッドの引数を作成します。公開メソッド引数の場合、引数は常に標準引数のセット、要求、応答、および結果です。ただし、XSD ファイルとして指定されるこれらの標準引数の内容は、編集できます。XSD ファイルは自動的に生成できます。新規メソッドを作成または保存すると、メソッドの引数が自動的に作成されます。したがって、この手順の主な目的は、生成された引数にしばしば必要な修正を行うことです。 関連トピック XML スキーマファイル (BOR) を編集するには Infor ERP LN の保護メソッドのテスト方法 Infor ERP LN の公開メソッドのテスト方法 |