外部キー参照

外部キー参照は、特定の表のエンティティを参照するために必要な情報を定義します。

外部キー値を対応する表と照合して検証する必要がある場合は、この管理表の設定が必要です。たとえば、スキーマ要素が外部キー参照に関連付けられている場合、システムではこの要素の値を対応する表と照合して検証します。スキーマベース・オブジェクトの詳細は、「構成ツール」を参照してください。別の例は、有効値が別の表に定義されている(つまり、外部キー参照特性タイプを使用する)特性です。このタイプの特性の詳細は、「特性タイプ」を参照してください。

外部キー参照は検証目的にのみ使用されるわけではありません。参照エンティティの標準情報摘要を表示したり、ナビゲーション情報をその保守トランザクションに提供する場合にも使用されます。情報摘要は、たとえば、アカウントがページに表示され、そのアカウントの摘要が表示されるたびに、UI全体に表示されます。固定ページ・ユーザー・インタフェースおよびポータル・ベース・ユーザー・インタフェースでは、要素を検証および表示する際に基本製品外部キー参照が使用されるため、製品には、そのエンティティの多くに基本製品外部キー参照が用意されています。

実装では、外部キー参照を定義する必要性も確認できます。次に、表に対する外部キー参照を設定する前に把握しておく必要がある内容を示します。

  • 表の物理名。通常、これはメンテナンス・オブジェクトの主表です。
  • 参照先エンティティの情報摘要の構成にデフォルトで使用するプログラム。
  • 参照先エンティティの保守に使用するトランザクション。これは、ユーザーが移動先ボタン、またはエンティティに関連付けられているハイパーリンクを使用したときにナビゲートする場所です。
  • 有効なエンティティの検索に使用する検索ページまたはゾーンの名前。

この項のトピックでは、外部キー参照の定義および使用方法の様々な側面について説明します。

動的に導出される情報摘要

通常、外部キー参照は、メンテナンス・オブジェクトの主表に対して定義します。この場合は、特定の参照先エンティティに関連付けられている標準情報が次のように動的に導出されます。

  • 参照先エンティティに関連付けられているビジネス・オブジェクトの決定が試行されます。詳細は、メンテナンス・オブジェクト・アルゴリズムの「ビジネス・オブジェクトの決定」システム・イベントを参照してください。ビジネス・オブジェクトが決定されている場合は、そのビジネス・オブジェクトの情報プラグイン(ある場合)によって摘要がフォーマットされます。
  • ビジネス・オブジェクトが決定されていない場合またはビジネス・オブジェクトにそのようなプラグインがない場合は、メンテナンス・オブジェクトの情報プラグイン(ある場合)によって摘要がフォーマットされます。
  • メンテナンス・オブジェクトにそのようなプラグインがない場合は、外部キー参照に指定されている情報プログラムを使用して情報がフォーマットされます。
注意: 技術面での注意。参照先エンティティの横に表示される情報を返すクラスが特別に生成されて、情報ルーチンとして使用されます。このようなクラスを生成する必要がある場合は、サポート・グループに連絡してください。
注意: 汎用ルーチン。システムには、管理表オブジェクトの摘要を関連する言語表から返す汎用情報ルーチンが用意されています。「管理表」とは、DESCRフィールドを含んだ関連する言語表がある表を意味します。表およびフィールドの詳細は、「表オプションの定義」を参照してください。このJavaクラスはcom.splwg.base.domain.common.foreignKeyReference.DescriptionRetrieverです。

動的に導出されるナビゲーション情報

通常、外部キー参照は、メンテナンス・オブジェクトの主表に対して定義します。この場合は、特定の参照先エンティティにナビゲートする実際のトランザクションが次のように動的に導出されます。

  • 参照先エンティティに関連付けられているビジネス・オブジェクトの決定が試行されます。詳細は、メンテナンス・オブジェクト・アルゴリズムの「ビジネス・オブジェクトの決定」システム・イベントを参照してください。ビジネス・オブジェクトが決定されている場合は、そのビジネス・オブジェクト・オプションである「ポータル・ナビゲーション・オプション」に定義されている保守ポータルが使用されます。
  • ビジネス・オブジェクトが決定されていない場合またはビジネス・オブジェクトにそのようなオプションが定義されていない場合は、外部キー参照に指定されているトランザクションが使用されます。

検索オプション

製品には、ユーザー・インタフェースを実装するために2つの主要なメタファーが用意されています。外部キーである入力フィールドの場合、検索オプションは、問題のページで使用されるメタファーに基づきます。

  • ポータル・ベースのユーザー・インタフェースはさらに柔軟なユーザー・インタフェースで、実装にはルック・アンド・フィールをカスタマイズするための多数のオプションがあります。基本製品は、UIマップまたは自動UIレンダリングを使用して入力フィールドを表示します。外部キー参照で検索ゾーンが定義される場合は、外部キーである要素によって検索アイコンが表示されます。
    注意: 検索ゾーンの直接の定義。UIマップの要素には、外部キー参照で定義された検索ゾーンを使用するのではなく、特定の検索ゾーンをHTMLで直接定義できます。ゾーンを使用した検索の実装方法の詳細は、UIマップのヒントを参照してください。
  • 固定保守ページのユーザー・インタフェースは、基本製品によって提供されるページで、多少の拡張(ある場合)を実装で導入できます。外部キー参照は、2つのいずれかの方法で使用できます。
    • 基本製品では、このいずれかのページで基本要素を定義する際に外部キー参照を使用できます。このような要素を検索に使用できる場合は、外部キー参照の検索ナビゲーション・キーを使用して検索が実装されます。
    • 特性をサポートするエンティティには、通常、このタイプのページに汎用特性コレクションUIメタファーが含まれます。このメタファーでは、外部キー参照で検索ナビゲーション・キーが構成された場合は、外部キー特性によって検索アイコンが表示されます。
注意: 製品に付属するすべての外部キー参照が、検索オプションで構成されているわけではありません。これは、基本で提供されるページが検索ではなくこの外部キーのドロップダウンを使用する場合に当てはまります。さらに、検索を提供する、基本で提供されている外部キー参照が、両方の検索オプションで構成されていない場合があります。つまり、このタイプのオブジェクトを特性としてリンクすると、適切な検索が構成されていない場合は検索が使用できないことがあります。