20ツリー設定

この章の内容は次のとおりです。

ツリーは、データの編成、ビジネス・ルールの適用、データ・アクセスの制御および問合せ中のパフォーマンスの向上に使用できる階層データ・モデルです。たとえば、アプリケーションで、マーケティングと財務の2つの部門があるVision Corporationという組織のデータを保守するとします。財務部門には、売掛/未収金と買掛/未払金の2つの機能ディビジョンがあります。Vision Corporationのツリーを定義して、その部門と、そのそれぞれの機能ディビジョンにまたがる階層を設定できます。階層を使用して、組織の様々なレベルでのデータを管理できます。

ツリーを操作するには、「設定および保守」作業領域で次のいずれかのタスクを使用します。

  • ツリー構造の管理: ツリー構造を作成および更新する場合。最初にツリー構造を定義してツリーを作成する必要があります。

  • ツリーとツリー・バージョンの管理: ツリーとそのバージョンを作成および更新する場合。

  • ツリー・ラベルの管理: ツリー・ラベルを作成および更新する場合。

ツリー構造

名前が示すとおり、ツリー構造は、ツリーで使用する階層を設定できるようにデータを編成するためのフレームワークになります。そのため、テンプレートと同様、ツリー構造に従うことによってツリーを作成できます。

ツリー

ツリーは、ツリー構造のインスタンスです。ルート・ノードは、ツリーの最上位のノード・ポイントです。ルート・ノードから子ノードに分岐します。共通の親ノードから分岐した同じレベルの子ノードは、兄弟と呼ばれます。リーフはノードから分岐する詳細ですが、ツリー階層のそれより下位に向けて拡張されません。複数のデータ・ソースのツリーを作成して、それらをアプリケーション間で共有できます。

ツリー・バージョン

デフォルトでは、ツリーのバージョンは1つのみです。必要に応じて、複数の編集可能なツリー・バージョンを作成して保守できます。アクティブになるツリー・バージョンは、常に1つのみです。既存のバージョンを編集すると、アクティブからドラフトに変更されます。これを再度使用する場合は、アクティブに設定する必要があります。他のバージョン制御システムと同様に、ツリーのバージョンは、ツリーのライフ・サイクルで発生したすべての変更を追跡するために維持されます。

ツリー・ラベル

ツリー・ラベルは、ツリーおよびツリー構造に付けられた短縮名です。ラベルは、アクセスと情報の取得を容易にするためにツリー・バージョンに付けることができます。ツリーにノードが作成されると、既存のツリー・ラベルが新しいツリー・ノードに自動的に割り当てられます。任意の表を使用してラベルを格納し、ツリー構造にラベル・データ・ソースを登録できます。

ツリー構造の管理

ツリー構造では、ツリーを作成するための階層が定義され、どのツリーが作成、バージョン管理およびアクセスされるかに基づいてルールが規定されます。ツリー構造には複数のデータ・ソースを関連付けることができます。ツリーはこの階層のインスタンスです。すべてのツリー構造には1つ以上のツリーを格納できます。

特定のアプリケーションに固有のツリー構造を作成できますが、ツリー構造を複数のアプリケーションで共有することもできます。バージョン制御をツリー構造に適用すると、その制御はツリー構造に基づいているツリーに引き継がれます。各ツリー・バージョンには少なくとも1つのルート・ノードが含まれます。1つのツリー・バージョンに複数のルート・ノードが存在する場合もあります。

管理者は、ツリー構造へのアクセスを制御するために一連のルールを使用しますが、これらのルールの有効性は定期的に監査されます。

ツリー構造を作成する際、「ツリー構造の作成: 定義の指定」ページで重要な詳細を指定する必要があります。ツリー構造のソースとして、事前定義済ツリー構造を選択して定義を続行することも、ツリー構造を作成することもできます。

ツリー・ノードの選択

「ツリー・ノード」表のデータは、ツリー構造のノードのデータにマッピングされます。ツリー階層の設定の基礎となるツリー構造を定義するために、正しい最適なツリー・ノード表を選択する必要があります。この選択は、ツリー・ノードおよびその子エンティティに設定されるセキュリティのレベルにも影響を与えます。

ツリー共有モード

次のオプションを使用して、複数のアプリケーションでツリー構造を共有するモードを決定します。

  • オープン: ツリーがすべての参照データ・セットに関連付けられることを示します。

  • セットID: ツリーが特定の参照データ・セットに関連付けられることを示します。

変更

事前定義済ツリー構造および作成したツリー構造は、変更できます。ただし、事前定義済ツリー構造の変更は制限されており、追加権限によって許可されます。変更は、ツリー階層内の特定のツリー・ノードおよびその下位に制限されます。

複数のツリー・バージョン

複数のツリー・バージョンが同時に存在できますが、アクティブにするバージョンは常に1つのみにすることをお薦めします。ただし、必要に応じて、同じ日付範囲について追加のツリー・バージョンをアクティブな状態にできます。この柔軟性を使用して、実装するツリー・バージョンを選択できます。

ツリー構造を作成、編集および削除できます。ツリー構造のステータスを変更し、変更を監査することもできます。

ツリー構造の作成および編集

アクティブなツリー構造を編集すると、ツリー構造および関連するすべてのツリーとそのバージョンのステータスがドラフトに変わります。ツリー構造を再利用するには、関連するツリーとツリー・バージョンをコピーせずにツリーのコピーを作成します。変更後に、再度ステータスをアクティブに設定します。ツリー構造を削除すると、関連するすべてのツリーとツリー・バージョンが自動的に削除されます。

オファリング固有の事前定義済ツリー構造の使用の詳細は、関連する製品ドキュメントを参照してください。

Status

ツリー構造のステータスを変更すると、そのツリー構造に関連付けられたツリーおよびツリー・バージョンのステータスも変わります。

次の表は、ツリー構造の様々なステータスを示しています。

Status 意味

ドラフト

変更された状態で、まだ使用されていません。

アクティブ

使用中で、1つ以上のツリーまたはツリー・バージョンがツリー構造から作成されていることを示します。

非アクティブ

使用されていません。

ツリー構造の監査結果を使用して、ツリー構造の正確性とデータ整合性を検証します。監査結果には、次の詳細が含まれます。

  • 特定の検証チェックである、バリデータの名前

  • 詳細なメッセージを含む、検証の結果

  • 実施する訂正処理(検証エラーがある場合)

監査の実行

ツリー構造のステータスをアクティブに設定すると、そのツリー構造の監査が自動的にトリガーされます。監査を手動でトリガーするには、「ツリー構造の管理」ページで「アクション」メニューから「監査」を選択します。「ツリー構造の監査結果」表に、選択したツリー構造に対して実行された検証のリストが表示されます。

監査バリデータ

次の表は、監査プロセスで使用されるバリデータのリストおよび各バリデータのチェック内容の説明を示しています。また、検証エラーの考えられる原因と推奨される訂正処理も示しています。

バリデータ ページ 説明(検証内容) 検証エラーの考えられる原因 推奨される訂正処理

セットID制限

ツリー構造の管理: データ・ソースの指定

「次に基づき、ツリー・ノードの値リストを制限」オプションに対する「参照データセット」チェック・ボックスを選択した場合、その各データ・ソース・ビュー・オブジェクトに参照データ・セット属性が必要です。

チェック・ボックスが選択されている場合でも、データ・ソース・ビュー・オブジェクトの1つ以上に参照データ・セット属性がありません。

このツリー構造に対して参照データ・セットの制限が必要な場合は、すべてのデータ・ソースに対して参照データ・セット属性を指定します。そうでない場合は、チェック・ボックスの選択を解除します。

使用可能ラベル・データ・ソース

ツリー構造の管理: データ・ソースの指定

「ラベリング・スキーム」からリスト項目を選択して、ラベリング・スキームを指定した場合は、各データ・ソースに指定したラベル・データ・ソース・ビュー・オブジェクトにアクセスできる必要があります。また、主キーが有効である必要があります。この制限は、リストから「なし」を選択した場合は適用されません。

  • 指定されたラベル・データ・ソース・ビュー・オブジェクトが存在しません。

  • 指定されたラベル・データ・ソース・ビュー・オブジェクトに主キーがありません。

  • ラベル・データ・ソース・ビュー・オブジェクトが初めて定義されたときに、データベースによってそのビュー・オブジェクトに主キーが登録されます。その後ビュー・オブジェクトが変更され、その主キーが、以前に登録された主キーと一致しない場合は、この検証が失敗します。

  • 指定されたラベル・データ・ソース・ビュー・オブジェクトを修正します。

  • 指定されたラベル・データ・ソース・ビュー・オブジェクトの主キーを修正します。

  • 次のいずれかを実行します。

    • FND_TS_DATA_SOURCEに以前に登録された主キーと一致するようにラベル・データ・ソース・ビュー・オブジェクトの主キーを修正します。

    • その表に登録された主キーを新しいビュー・オブジェクト定義と一致するように修正します。

行水平化表名

ツリー構造の管理: パフォーマンス・オプションの指定

ツリー構造に対して有効な行水平化表を指定する必要があります。これには、標準の行水平化表FND_TREE_NODE_RFまたは別の表を指定できます。

  • 指定された表がデータベースに存在しません。

  • 指定された表に、FND_TREE_NODE_RF表と同じ列が含まれていません。

行水平化表の定義を修正します。

使用可能なデータ・ソース

データソースの追加

ツリー構造に指定された各データ・ソース・ビュー・オブジェクトにアクセスでき、そのすべての主キー属性が有効である必要があります。

  • 指定されたデータ・ソース・ビュー・オブジェクトが存在しません。

  • データ・ソース・ビュー・オブジェクトを定義する際に、「未定義の主キー列の使用」チェック・ボックスの選択が解除された状態のままにしています。データベースによってそのビュー・オブジェクトの主キーが自動的に登録されます。指定した主キーをデータベースで登録する場合は、このチェック・ボックスを選択します。ただし、登録された主キーに重複がある場合、この検証は失敗します。

  • データ・ソースで「未定義の主キー列の使用」が選択されていますが、指定された主キー列のリストと、対応するデータ・ソース・ビュー・オブジェクトに定義された主キーが一致しません。

  • データ・ソース・ビュー・オブジェクトとツリー・ノード・ビュー・オブジェクトの両方に存在する共通属性が、両方のビュー・オブジェクトで同じデータ型の属性ではありません。

  • 指定されたデータ・ソース・ビュー・オブジェクトを修正します。

  • 登録された主キーの重複列を修正します。

  • 指定されたデータ・ソース・ビュー・オブジェクトの主キーを修正します。

  • データ型の不一致を修正します。

列水平化表名

ツリー構造の管理: パフォーマンス・オプションの指定

ツリー構造に対して有効な列水平化表を指定する必要があります。これには、標準の行水平化表FND_TREE_NODE_CFまたは別の表を指定できます。

  • 指定された表がデータベースに存在しません。

  • 指定された表に、FND_TREE_NODE_CF表と同じ列が含まれていません。

列水平化表の定義を修正します。

日付制限

ツリー構造の管理: データ・ソースの指定

ツリー構造に対して「次に基づき、ツリー・ノードの値リストを制限」オプションに対する「日付範囲」チェック・ボックスを選択した場合、その各データ・ソース・ビュー・オブジェクトに有効開始日および有効終了日の属性が必要です。チェック・ボックスが選択されていない場合、この検証は実行されません。

チェック・ボックスが選択されている場合でも、そのデータ・ソース・ビュー・オブジェクトの1つ以上に有効開始日および有効終了日の属性がありません。

このツリー構造に対して日付制限が必要な場合は、すべてのデータ・ソースに対して有効開始日と有効終了日の属性を指定します。そうでない場合は、チェック・ボックスの選択を解除します。

ツリー・ノード表名

ツリー構造の管理: 定義の指定

ツリー構造に対して有効なツリー・ノード表を指定する必要があります。これには、標準の行水平化表FND_TREE_NODEまたは別の表を指定できます。

  • 「ツリー・ノード表」フィールドに表が指定されていません。

  • 指定された表がデータベースに存在しません。

  • 指定された表に、FND_TREE_NODE表と同じ列が含まれていません。

ツリー・ノード表の定義を修正します。

ツリー・ノードは、ツリーが各レベルに分岐するデータ収束ポイントです。ノードはツリー構造の基本ブロックであり、ツリー・バージョンに結び付けられます。ツリー・バージョンを作成または編集する場合は、そのツリー・ノードを常に指定する必要があります。

「設定と保守」作業領域で、パネル・タブを開き、「検索」をクリックして、「ツリーとツリー・バージョンの管理」タスクを検索します。

ツリー・ノードの管理

ツリー・ノードは、「ツリー・バージョン: ノードの指定」ページで作成、変更または削除できます。ツリー・ノードを追加するには、ツリー・バージョンが関連付けられているツリー構造が、有効なデータ・ソースにマッピングされるようにします。また、複数ルート・ノード機能が使用可能な場合は、ツリー・ノードを複製できます。

ノード・レベル

通常、特定のレベルのノードは、同様の情報を表します。たとえば、組織階層を反映するツリーでは、ディビジョンを表すノードすべてが1つのレベルに表示され、すべての部門ノードが別のレベルに表示されます。同様に、ユーザーの製品カタログを編成するツリーでは、個々の製品を表すノードが1つのレベルに表示され、製品ラインを表すノードがそのすぐ上のレベルに表示されます。

次のノード・レベルが使用されます。

  • ルート・ノード: ツリー構造の最上位のノード

  • 親ノード: 他のノードに分岐するノード

  • 子ノード: 階層内の上位のノード(親ノード)に接続されたノード

  • 兄弟ノード: 同じ親ノードに属する同じレベルのノード

  • リーフ・ノード: ノードから分岐する、ツリー階層のそれより下位に向けて拡張されないエンティティ

ノード・タイプ

ツリー・ノードには、次のノード・タイプがあります。

  • 単一: ノード自体が値であることを示します。

  • 範囲: ノードが値の範囲を表し、場合によっては複数の子があることを示します。たとえば、10000から99999の勘定科目番号を表すツリー・ノードです。

  • 参照ツリー: ツリー・ノードが、実際は同じツリー構造に基づくツリーの別バージョンであり、物理的には同じツリーに格納されていないことを示します。たとえば、米国の地理的階層を世界の地理的階層で参照できます。

データ・ソースはツリー管理の基盤です。ツリー構造、ツリーおよびツリー・バージョンにより、データ・ソースとの直接的なリアルタイムの接続が確立されます。データ・ソースへの変更は、「ツリーとツリー・バージョンの管理」ページおよびツリーが使用されている部分に即時に反映されます。

メタデータおよびデータの格納

ツリー構造には、実際のデータのメタデータと、ツリーおよびツリー・バージョンで実体化されるコア・ビジネス・ルールが格納されます。ツリーのサブセットを選択して使用可能にして、そのアプリケーションで特定の目的を果たすことができます。

アクセス・コントロール

データベース内のソース・データは様々なレベルでツリー・ノードにマッピングされます。したがって、ツリー・ノードに対する変更は、ソース・データに影響を及ぼします。ツリーに対するアクセス・コントロール・セットによって、データベースでの不要なデータ変更が抑制されます。アクセス・コントロールは、ツリー・ノードまたはツリー階層内の任意の部分に適用できます。

データ・ソースから、ツリー構造で階層を設定するための項目が提供されます。ツリー管理インフラストラクチャでは、これらのデータ・ソースはOracle ADFビジネス・コンポーネントのビュー・オブジェクトで、これらはアプリケーション開発によって定義されます。

ラベリング・スキーム

ラベリング・スキームの選択によって、ツリー・ノードにラベルが付けられる方法が決まります。割り当てるラベリング・スキームは、データ・ソース・レベルまたは親ノード・レベルで選択するか、顧客が割り当てることできるように未指定にしておきます。ラベリング・スキームを持たないように選択することもできます。ただし、ラベリング・スキームを使用するように決定した場合は、選択したツリー・ノードに表示する値リストを制限するために、次の追加オプションを選択します。

  • 不規則ノードを許可: 子ノードがなく、階層全体の残りのノードより短いノードを挿入する場合。

  • スキップ・レベル・ノードを許可: 同じレベルにあるが、親ノードが異なるレベルにあるノードを挿入する場合。

ツリー・ノード値の制限

ツリー構造の深度は、リストから適切な値を選択して決定できます。深度制限を未指定にしておくと無限の値リストがレンダリングされます。

次のオプションを使用して、特定のツリー・ノードに選択対象として表示する値リストを制限できます。

  • 日付範囲: ノードの選択をツリー・バージョンと同じ日付範囲に制限するかどうかを指定します。

  • 複数のルート・ノードを許可: ツリー・バージョンの作成時に、複数のルート・ノードの追加を許可します。

  • 参照データ・セット: ノードの選択をツリーと同じセットに制限するかどうかを指定します。

データ・ソースの値およびパラメータ

ツリー・データ・ソースには、ビュー基準が定義されてバインド変数が関連付けられたオプションのデータ・ソース・パラメータがあります。ツリー構造の作成時にデータ・ソース・パラメータとしてビュー基準を指定でき、ツリーの作成時にパラメータを編集できます。複数のデータ・ソースをツリー構造に関連付けることが可能で、それらのソース間に適切な関係を定義できます。

注意: ツリー・レベルで変更されたパラメータ値によって、ツリー構造レベルで指定されたデフォルト値が上書きされます。

ツリー・ノードに対してノード操作を実行すると、データ・ソース・パラメータは、そのデータ・ソースに属しているツリー・バージョンすべてに適用されます。データ・ソース・パラメータには、異なるツリー構造をフィルタリングする追加のレベルも用意されています。ツリー構造定義では、3つのタイプのデータ・ソース・パラメータがサポートされています。

  • バインドされた値: ビュー基準の条件の一部として使用される固定値を取得します。

  • 変数: データ・ソース・ビュー・オブジェクトによって使用されている動的な値を取得してバインドします。この値はデータ・フローのWHERE条件で使用されます。

  • ビュー基準: データ・ソース・ビュー・オブジェクトに適用されるビュー基準名を取得します。

ツリー構造の作成中または編集中に、必須にするデータ・ソース・パラメータを指定することもできます。

Oracle ADFビジネス・コンポーネントからのビュー・オブジェクトは、データ・ソースとして使用されます。ビュー・オブジェクトをツリー構造に関連付けるには、Oracle ADFビジネス・コンポーネント・ビュー・オブジェクトからコードを選択し、そのビュー・オブジェクトの完全修飾名(たとえば、oracle.apps.fnd.applcore.trees.model.view.FndLabelVO)を指定します。

ツリー構造には大量のデータがロードされます。ツリー管理のガイドラインとして、データのレンダリングおよび取得のパフォーマンスを向上させるために、次の設定を使用します。

  • 行水平化

  • 列水平化

  • 列水平化エンティティ・オブジェクト

  • BIビュー・オブジェクト

行水平化

行水平化により、追加の行を表に格納することでCONNECT BY問合せを開始せずに親の子孫すべてが即時に検出されるため、実行時パフォーマンスに関して親子情報が最適化されます。行水平化によって再帰問合せが解消され、サブツリー全体でさらに効率的に操作を実行できるようになります。

ユーザーは、特定のツリー構造の行水平化データを格納するために、中心となるFND_TREE_NODE_RF表を使用することも、独自の行水平化表を登録することもできます。たとえば、表でCorporationはSales Divisionの親(Corporation-Sales Division)で、Sales DivisionはRegionの親(Sales Division-Region)である場合、行水平化表には、Corporationが直接Regionの親(Corporation-Region)となる追加の行が格納されます。

列水平化

列水平化により、子のすべての親について追加の列を表に格納することで、実行時パフォーマンスに関して親子情報が最適化されます。

ユーザーは、特定のツリー構造の列水平化データを格納するために、中心となるFND_TREE_NODE_CF表を使用することも、独自の列水平化表を登録することもできます。たとえば、表でCorporationはSales Divisionの親(Corporation-Sales Division)で、Sales DivisionはRegionの親(Sales Division-Region)である場合、水平化表には、これらの列に加えてRegion、Sales DivisionおよびCorporationの3つの新しい列が格納されます。相互に横に配置されますが、Region列は下位レベル、Corporation列は上位レベルで機能し、データ階層を保持します。

列水平化エンティティ・オブジェクト

列水平化表がなく、水平化表のツリー構造に対してビジネス・コンポーネント・ビュー・オブジェクトを生成する必要がある場合は、ツリー管理インフラストラクチャを使用して、列水平化表に対するエンティティ・オブジェクトの完全修飾名を正確に指定します。

BIビュー・オブジェクト

ビジネス・インテリジェンスからのビュー・オブジェクトはデータ・ソースとして使用可能で、新しいタイプのデータ・ソースを作成する必要がありません。このフィールドは、ビジネス・インテリジェンスでのレポートおよび使用のために、ツリー管理によって生成されるBIビュー・オブジェクトの完全修飾名を格納するためのフィールドです。BIビュー・オブジェクトは、ツリー・データ・ソースと列水平化エンティティの組合せです。このオプションを使用すると、データ冗長性が防止され、既存のデータの再利用が大幅に促進されることで、ツリー構造のパフォーマンスが向上します。

検索ビュー・オブジェクト

ツリー・ノードで実行される検索操作が効率的になるように、ツリー・ノードのビュー・オブジェクトの完全名を指定します。

ツリー・ラベルの管理

ツリー・ラベルは、ツリー・ノードに格納されるタグです。ラベルを任意の表に格納して、ラベル・データ・ソースをツリー構造に登録できます。ツリーにラベリング・スキームが使用されると、選択したラベルがツリー・ラベル・エンティティに格納され、各ツリー・ノードにラベリング・スキームのツリー・ラベルへの参照が格納されます。

次の表は、ツリー・ラベルがツリー・ノードに割り当てられる3つの方法を示しています。

ラベリング・スキーム 説明

レベル

ツリー・ノードが属するデータ・ソースに基づいて自動的に割り当てられるラベル。レベル・ラベルは特定のデータ・ソースを指し示します。たとえば、企業の組織階層を反映するツリーでは、すべてのディビジョン・ノードが1つのレベルに表示され、すべての部門ノードが別のレベルに表示されます。

グループ

ツリー・ノードに任意に割当て可能なラベル。

深度

ツリー内でのツリー・ノードの深度に基づいて自動的に割り当てられるラベル。手動による割当ては実行されません。

注意: 片寄った階層では、レベルと深度が等しくならない可能性があります。

ツリーおよびツリー・バージョンの管理

ツリーおよびツリー・バージョンは、要件に従って作成および編集できます。ツリーには1つ以上のツリー・バージョンを適用できます。既存のツリーが変更されると、新規のバージョンが作成され、公開されます。

ツリーの作成および編集

ツリーは、ツリー構造に定義された構造に基づいて作成されます。ツリーの作成、既存のツリーの変更およびツリーの削除を実行できます。既存のツリーをコピーする必要がある場合は、ツリーを複製できます。関連するツリー・バージョンを選択してコピーすることもできます。

ツリーを作成するには、ツリー定義を指定し、そのノードで使用されるラベルを指定します。選択したツリー構造に、データ・ソースおよびそのソースに定義されたパラメータがある場合は、それらがツリー・ノード・レベルでパラメータ値を編集できるページに表示されます。

注意: ツリー・レベルで変更されたパラメータ値によって、ツリー構造レベルで指定されたデフォルト値が上書きされます。

ツリー・バージョンの作成および編集

ツリー・バージョンは、ツリーの作成時に作成されます。ツリーごとに1つのバージョンが含まれる必要があります。

既存のツリーを編集することで、既存のバージョンを更新できます。また、検索結果でツリーにネストされた既存のバージョンも編集できます。

アクティブ・ステータスのツリー・バージョンを編集すると、変更が保存または取り消されるまで、ステータスがドラフトに変更されます。ステータスをアクティブにしたままでツリー・バージョンを編集するには、ツリー・バージョンをアクティブにしたままでツリー・ノードを更新チェック・ボックスを選択します。

ツリー・バージョンの監査結果を使用して、ツリー・バージョンの正確性とデータ整合性を検証します。監査結果には、次の詳細が含まれます。

  • 特定の検証チェックである、バリデータの名前

  • 詳細なメッセージを含む、検証の結果

  • 実施する訂正処理(検証エラーがある場合)

監査の実行

監査は、ツリー・バージョンがアクティブに設定されると自動的に実行されます。「アクション」「監査」を使用して、「ツリーとツリー・バージョンの管理」ページで監査を手動でトリガーすることもできます。下書きステータスのツリー・バージョンで監査を実行し、監査が完了した後にステータスをアクティブに変更する場合は、監査が正常に完了した後にツリー・バージョン・ステータスをアクティブに設定チェック・ボックスを選択します。

ツリー・バージョンの監査結果表に、選択したツリー・バージョンに対して実行された検証のリストが表示されます。

検証の詳細

次の表は、監査プロセスで使用されるバリデータのリストおよび各バリデータのチェック内容の説明を示しています。また、検証エラーの考えられる原因と推奨される訂正処理も示しています。

バリデータ 説明(チェック内容) 検証エラーの考えられる原因 推奨される訂正処理

有効日

ツリー・バージョンの有効開始日と有効終了日は有効である必要があります。

有効終了日が設定されている値は、有効開始日より後ではありません。

有効開始日が有効終了日より前になるように、有効開始日と有効終了日を変更します。

ルート・ノード

「ツリー構造の管理: データ・ソースの指定」ページで、「次に基づき、ツリー・ノードの値リストを制限」オプションに対する「複数のルート・ノードを許可」チェック・ボックスが選択されておらず、ツリー構造が空でない場合は、ツリー・バージョンに1つのみのルート・ノードが含まれている必要があります。チェック・ボックスが選択されている場合、この検証は実行されません。

チェック・ボックスの選択が解除されている場合でも、ツリー・バージョンに複数のルート・ノードがあります。

1つのみのルート・ノードが存在するようにツリー・バージョンを変更します。

データ・ソースの最大深度

ツリー構造の各データ・ソースに対して、「データソース」ダイアログ・ボックスでデータ・ソースの深度が制限されている場合、ツリー・バージョンのデータは指定された深度制限に従う必要があります。この検証は、「最大深度」フィールドが「無制限」に設定されているデータ・ソースには適用されません。

ツリー・バージョンで、1つ以上のデータ・ソースの指定された深度制限を超える深度にデータがあります。

すべてのノードがデータ・ソースの深度制限に従った深度になるように、ツリー・バージョンを変更します。

重複ノード

「データソース」ダイアログ・ボックスで、「重複を許可」チェック・ボックスが選択されていない場合、ツリー・バージョンには、データ・ソースから同じ主キーを持つ複数のノードを指定できません。チェック・ボックスが選択されている場合は、重複するノードを使用できます。

チェック・ボックスの選択が解除されている場合でも、ツリー・バージョンに重複するノードが含まれています。

重複するノードをツリー・バージョンから削除します。

使用可能ノード

ツリー・バージョンのすべてのノードは、基礎となるデータ・ソースで有効かつ使用可能である必要があります。

  • ツリー・バージョンのノードがデータ・ソースに存在しません。データ・ソースからデータ項目を削除して、対応するノードをツリー・バージョンから削除しないと、ツリー・バージョンでノードが孤立します。たとえば、ノードAをツリー・バージョンに追加し、後でノードAをツリー・バージョンから削除せずにデータ・ソースから削除すると検証が失敗します。

  • ツリー・バージョンにツリー参照ノードが含まれており、存在しない別のツリー・バージョンを参照しています。

孤立するノードをツリー・バージョンから削除します。存在するツリー・バージョンを参照するように、ツリー参照ノードを更新します。

ノード関係

すべてのノードは、ツリー構造に登録されたデータ・ソースで管理される関係に従う必要があります。

ツリー構造には親子関係で配置されたデータ・ソースがありますが、ツリー内のノードは、同じ親子関係に従っていません。たとえば、ツリー構造にProjectデータ・ソースがあり、その子としてTaskデータ・ソースがある場合、ツリー・バージョンではTaskノードが常にProjectノード内に存在する必要があります。ProjectノードがTaskノードの子として追加されたインスタンスがある場合、この検証は失敗します。

ノードがデータ・ソースと同じ親子関係に従うように、ツリー・バージョンを変更します。

セットID制限ノード

「ツリー構造の管理: データ・ソースの指定」ページで、「セットID」チェック・ボックスが選択されて、各ツリー・ノードに対して「次に基づき、ツリー・ノードの値リストを制限」オプションが使用可能になっている場合は、データ・ソース内の基礎となるノードが、ツリー自体と同じ参照データ・セットに属している必要があります。チェック・ボックスが選択されていない場合、この制限は適用されません。

チェック・ボックスが選択されている場合でも、ツリー・バージョンに、データ・ソース値がツリーとは異なる参照データ・セットに属しているノードがあります。

ツリー内の全ノードのデータ・ソースが、ツリーの参照データ・セットと一致するセットを備えたデータ・ソースになるように、ツリー・バージョンを変更します。

ラベル有効ノード

「ツリー構造の管理: データ・ソースの指定」ページで、「ラベリング・スキーム」リストからリスト項目を選択して、ツリー構造に対してラベリング・スキームが指定された場合は、すべてのノードにラベルが必要です。この制限は、「ラベリング・スキーム」リストから「なし」を選択した場合は適用されません。

ツリー構造にラベリング・スキームが指定されていますが、ツリー・バージョンにラベルがないノードがあります。

ラベルがないノードにラベルを割り当てます。

日付制限ノード

「ツリー構造の管理: データ・ソースの指定」ページで、「日付範囲」チェック・ボックスが選択されて、ツリー構造に対して「次に基づき、ツリー・ノードの値リストを制限」オプションが使用可能になっている場合は、基礎となるデータ・ソースの各ノードには、ツリー・バージョンの有効日付範囲と同じ有効日付範囲が必要です。チェック・ボックスが選択されていない場合、この制限は適用されません。

チェック・ボックスが選択されている場合でも、日付範囲がツリー・バージョンの有効日付範囲外であるデータ・ソース・ノードがあります。たとえば、ツリー・バージョンが2012年1月1日から2012年12月31日まで有効な場合、ツリー・バージョンのすべてのノードは、少なくとも2012年1月1日から2012年12月31日まで有効である必要があります。ツリー・バージョンの有効日付範囲を部分的に超える日付範囲にわたって有効なノードは認められます(たとえば、ノード・データ・ソース値が2011年12月1日から2013年3月31日まで有効な場合)。ツリー・バージョンの有効日付範囲に有効ではないノード、または有効日付範囲の一部のみ有効であるノードは認められません(たとえば、ノード・データ・ソース値が2012年1月1日から2012年6月30日までしか有効でない場合)。

ツリー・バージョンのすべてのノードに、ツリー・バージョンの有効日付範囲に対応する有効日付範囲を確保します。

複数有効ツリー・バージョン

「ツリー構造の管理: 定義の指定」ページで、ツリー構造に対して「複数の有効ツリー・バージョンを許可」チェック・ボックスが選択されていない場合は、1つのツリーに対して複数の有効ツリー・バージョンが存在していない必要があります。チェック・ボックスが選択されている場合、この制限は適用されません。

チェック・ボックスが選択されていない場合でも、同じ日付範囲でツリーに複数の有効ツリー・バージョンがあります。

同じ日付範囲内で1つのみのツリー・バージョンをアクティブに設定し、他のツリー・バージョンを非アクティブまたはドラフト・ステータスに設定します。

範囲ベース・ノード

「データソース」ダイアログ・ボックスで、「範囲の子を許可」チェック・ボックスが選択されていない場合、そのデータ・ソースからの範囲ベース・ノードは許可されません。チェック・ボックスが選択されている場合、この制限は適用されません。

チェック・ボックスが選択されていない場合でも、データ・ソースからの範囲ベース・ノードがあります。

ツリー・バージョンの範囲ノードが、範囲の子を許可するデータ・ソースからのノードになるようにします。

端末ノード

「データソース」ダイアログ・ボックスで、「リーフとしての使用を許可」チェック・ボックスが選択されていない場合、そのデータ・ソースからの値はリーフ(端末ノード)としてツリー・バージョンに追加できません。チェック・ボックスが選択されている場合、この制限は適用されません。

チェック・ボックスが選択されていない場合でも、データ・ソースからの値がリーフ・ノード(端末ノード)として追加されています。

すべての端末ノードが、このチェック・ボックスが選択されているデータ・ソースからのノードになるように、ツリー・バージョンを変更します。

使用制限

「データソース」ダイアログ・ボックスで、データ・ソースに対して「すべての値を使用」オプションが選択されて「使用制限」が設定されている場合は、データ・ソースのすべての値がノードとしてツリーに表示される必要があります。「なし」オプションが選択されている場合、この制限は適用されません。

「すべての値を使用」オプションが選択されている場合でも、ツリー・バージョンにない値がデータ・ソースにあります。

まだ使用可能でない各データ・ソース値について、ノードをツリー・バージョンに追加します。