システム生成オブジェクトの操作

システム生成オブジェクトは、他のタイプとは異なります。モデルに対してオブジェクトを選択するのではなく、オブジェクトを定義するフィルタを作成します。オブジェクトは、それを定義するモデル(またはそのモデルからデプロイされたコントロール)の外部には存在しません。

具体的には、フィルタで「次と等しい」条件を使用して、それ自体と等しい属性を設定する場合、またはフィルタで「類似」または「次に類似」条件を使用する場合、グループにソートされたレコードを返します。これらのレコードは、ビジネス・オブジェクトのように後続のフィルタで使用できます。

命名

作成するフィルタには、名前を指定します。システム生成オブジェクトを定義するフィルタの名前は、オブジェクト自体の名前としても機能し、後続のフィルタで選択します。たとえば、「買掛/未払金請求書」ビジネス・オブジェクトの「請求書ID」属性がそれ自体と等しいというフィルタを設定します。これにより、レコードが請求書別にグループ化されたオブジェクトが返されます。フィルタの名前を「請求書IDが同じ」と指定すると、これがシステム生成オブジェクトの名前として機能します。

1つのビジネス・オブジェクトの別個の属性を列挙する、複数のフィルタを作成できます。いくつも作成していくと、通常は、レコードが多次元的なグループにソートされた、1つのオブジェクトが生成されます。その場合、システム生成オブジェクトの名前は、オブジェクトを定義する最後のフィルタの名前になります。

たとえば、1つ目のフィルタで「買掛/未払金請求書」ビジネス・オブジェクトの「請求書ID」属性がそれ自体と等しいと設定し、2つ目のフィルタで「金額」属性がそれ自体と等しいと設定したとします。結果のオブジェクトでは、各グループに同じ請求書IDと金額のレコードが含まれます。2つ目のフィルタの名前が「請求書金額が同じ」である場合、これが2つのフィルタで定義されるシステム生成オブジェクトの名前になります。

ユースケース

フィルタによってシステム生成オブジェクトが作成される場合、後続のフィルタでは、オブジェクトによって定義された各グループに関数を適用できます。

別の一般的な使用方法では、1つのフィルタで「次と等しい」条件を適用して、システム生成オブジェクトを作成します。2番目のフィルタでは、「次と等しくない」条件を適用して、システム生成オブジェクトによって作成された各グループ内の相違を識別します。次に例を示します。

  • フィルタで、「買掛/未払金請求書」ビジネス・オブジェクトの「請求書ID」属性がそれ自体と等しいことを指定します。フィルタとそのオブジェクトの名前は、「請求書IDが同じ」です。オブジェクトにはレコードのセットが含まれており、各セットのすべてのレコードの請求書IDは同じです。

  • 2つ目のフィルタでは、「請求書IDが同じ」オブジェクトの「サプライヤID」属性がそれ自体と等しくないことを指定します。これにより、各セット内の個別のサプライヤが識別されます。全体的な結果は、重複する請求書IDを発行した別個のサプライヤのレコードです。

システム生成オブジェクトを作成するフィルタでは、「類似」または「次に類似」条件を使用することもできます。その場合、グループ内の相違を識別するフィルタでは「次とは異なる」条件を使用します。

制限事項

あるオブジェクトの属性がシステム生成オブジェクトに属していて、他のタイプのビジネス・オブジェクトに属していない場合にのみ、フィルタはその属性が等しくないことを指定できます。

同様に、オブジェクトの属性が異なることを示すフィルタの場合、その属性は「類似」または「次に類似」フィルタによって作成されたシステム生成オブジェクトに属している必要があります。属性が他のタイプのビジネス・オブジェクトに属している場合、フィルタでその属性がそれ自体と異なることを指定することはできません。

システム生成オブジェクトを呼び出すフィルタを作成すると、システム生成オブジェクトを作成するフィルタはロックされます。南京錠のようなアイコンが表示され、アイコン上にカーソルを置くと、「依存関係」という単語が表示されます。システム生成オブジェクトを作成するフィルタを編集するには、最初にその依存フィルタを削除する必要があります。それらを確認するには、南京錠アイコンをクリックします。すべての依存フィルタが強調表示されます。強調表示を解除するには、右クリックして「強調表示の消去」オプションを選択します。

親および子セット

フィルタでは、共通属性を持つレコードの親および子セットを生成できます。モデルでは、2つのセット内の値を照合して、結果に含めるセットが特定されます。次に例を示します。

  • 「買掛/未払金請求書」ビジネス・オブジェクトを使用するフィルタ(「請求書ID」属性がそれ自体と等しい、「金額」属性がそれ自体と等しい)を作成します。結果は請求書のグループを含むオブジェクトで、それぞれのすべての請求書のIDおよび金額は同じです。

  • そのシステム生成オブジェクトの「サプライヤID」がそれ自体と等しくないことを指定するフィルタを作成します。この結果は、請求書の親セットです。それぞれにおいて、請求書IDおよび金額は同じですが、少なくとも1つのサプライヤIDが他のものとは異なります。(すべてのサプライヤIDがセット内で同じである場合、それは破棄されます。)

  • 4番目のフィルタを作成します。「サプライヤ」ビジネス・オブジェクトの「納税者ID」属性をそれ自体と等しくします。その結果は、セットの新しい子セットです。各セットでは、納税者IDがすべてのレコードで同じですが、任意の数のサプライヤIDと相互関係がある場合があります。このモデルでは親セットと子セットが比較され、一致するサプライヤID値を含む親セットのみが保持されます。