「必要になった時点で」動的にインスタンス・リストに子を追加していっても構わない
この例の場合、当初は次のように、3つのSECTIONSを追加するだけでも構いません。
ビジネス・オブジェクトの型 | AKey1 | AKey2 | AKey3 | Visual ID1 | Visual ID2 |
SECTIONS | ADM | 01 | ADM | 01 | |
SECTIONS | ADM | 02 | ADM | 02 | |
SECTIONS | LEG | 01 | LEG | 01 |
ツリー表示上で例えば部課「ADM-01」を展開表示しようとした時点で、SECTIONSとEMPLOYEESとの間の関係を管理する、リレーション・ハンドラーが指定されているかどうか確認します。
指定されていればこのハンドラーを呼び出して、「ADM-01」という部課(SECTION)と当該部課に所属する従業員(EMPLOYEES)との関係を「展開」するようになっています。その結果、インスタンス・リストは次のようになります。
ビジネス・オブジェクトの型 | AKey1 | AKey2 | AKey3 | Visual ID1 | Visual ID2 |
SECTIONS | ADM | 01 | ADM | 01 | |
EMPLOYEES | ADM | 01 | A1001 | A1001 | BEN JONES |
EMPLOYEES | ADM | 01 | A1012 | A1012 | PATRICK PAUL |
SECTIONS | ADM | 02 | ADM | 02 | |
SECTIONS | LEG | 01 | LEG | 01 |
この節の末尾に、SECTIONSとEMPLOYEESの関係を管理して上記のような「展開」を行う、RDMLファンクションの例を示します。
一般に、インスタンス・リストに動的にエントリーを「展開」するリレーション・ハンドラーを作った場合は、インスタンスリストの設定タブで、リレーション・ハンドラーである旨をフレームワークに対して指定する必要があります。