通常の連結プロセスでは、エンティティの計算は、エンティティ階層の最下位レベルから開始するボトムアップのレベル別アプローチに基づいています。計算されるエンティティの最初のグループは、基本(レベル0)メンバー(子がないエンティティ)すべてが対象です。次に処理されるグループは、レベル1の親エンティティ(下に1レベルを超える子孫がないエンティティ)です。次はレベル2の親です(以降同様に続く)。このプロセスによって、親エンティティのすべての子がその親エンティティより前に処理されます。
正しいエクイティ・ピックアップ計算に必要な一連の処理は、レベルではなくボトムアップの世代別アプローチに基づいています。最上位メンバーは世代0で、その後の下に向かう各ステップで世代が増加します。このアプローチでは、各持株会社は、兄弟が親であるか基本メンバーであるかに関係なく、その兄弟と同じ世代になります。レベル0の非持株エンティティが最初に処理されます。次に、最上位世代の持株会社が処理され、その後、最上位世代の親エンティティ、次の最上位世代の持株会社エンティティ、次の最上位世代の親エンティティが続きます(以降同様に続く)。
次の図は、非常に単純な階層で処理の違いを示しています(法的会社Aは法的会社BとDを所有し、法的会社Bは法的会社Cを所有しています)。エクイティ・ピックアップはボトムアップで世代ごとに処理されます。標準的な順序では、ボトムアップでレベルごとに処理されます。
処理のスコープ内にあるエンティティ
連結では、処理のスコープ内にあるエンティティを判断する際に、各エンティティの計算ステータスが考慮されます。エンティティが影響を受ける場合は、影響を引き起こした変更を考慮に入れるために、そのエンティティを再計算する必要があります。さらに、結果が依存しているエンティティの再計算に起因して結果を再計算する必要があるため、エンティティのすべての祖先も影響を受けます。同様に、同じシナリオのその後の期間も影響を受けます。
例1 – エンティティCへのデータ入力
標準の連結プロセスでは、前述の例のエンティティCにデータが入力されると、エンティティC、B連結およびA連結が影響を受けます。連結にA連結が選択されている場合は、3つのエンティティ(C、B連結およびA連結)がすべてレベル0からレベル2まで順番に再計算されます。
エクイティ・ピックアップ・プロセスでは、エンティティCにデータが入力されると、エンティティC、B連結およびA連結がすべて影響を受けますが、さらに、エンティティBおよびAのデータはエンティティCから再計算されるデータに依存しているため、エンティティBおよびAも再計算する必要があります。連結にA連結が選択されている場合は、すべてのエンティティ(C、B、B連結、AおよびA連結)が世代3から世代1まで順番に再計算されます。
例2 – エンティティAおよびエンティティCへのデータ入力
標準の連結プロセスでは、前述の例のエンティティAおよびCにデータが入力されると、エンティティC、B連結、AおよびA連結が影響を受けます。連結にAが選択されている場合は、Aのみが再計算されます。
エクイティ・ピックアップ・プロセスでは、エンティティAおよびCにデータが入力されると、エンティティC、B連結、AおよびA連結がすべて影響を受けますが、さらに、エンティティBのデータはエンティティCから再計算されるデータに依存しているため、エンティティBも再計算する必要があります。連結にA連結が選択されている場合は、A連結を除くすべてのエンティティ(C、B、B連結およびA)が世代3から世代2持株まで順番に再計算されます。エンティティAを連結すると、B連結およびその影響を受けた子孫が連結プロセスのスコープに含まれます。
ただし、Aにデータが入力されていない場合、A自体は影響を受けないため、連結にAを選択しても連結は処理されません。この場合、すべてのエンティティを更新するには、例1に説明されているように、連結にA連結を選択する必要があります。
エクイティ・ピックアップの例の計算フローおよび必要な結果
エクイティ・ピックアップ計算の実行時にすでに兄弟ソース・エンティティ・データが確実に更新されているようにするには、所有権チェーンで決定された必要な順序でエンティティを計算する必要があります。
所有権チェーンの例を次に示します。