フィーチャ ルールを編集する

フィーチャ ルールを使用して、データベースに変更を加えるたびに自動データ修正や機能の追加などのプロシージャを実行します。クライアント側とサーバ側のフィーチャ規則があります。

フィーチャ ルールとは、事前に定義されたアルゴリズムに従ってデータを処理するメソッドやトリガーのことです。たとえば、ルールはフィーチャ クラスの挿入前や修正後のような特定のイベントで、一貫性や依存性の複雑なチェックを行います。インダストリ モデルで提供される既定のルールの一部の側面を編集できます。

フィーチャ ルールは AutoCAD Map 3D ツールセット に付属しています。ただし、PL/SQL トリガの経験がある場合は、Oracle トリガおよび API を介してユーザ独自のサーバ側フィーチャ ルールを定義できます。該当するマニュアルを参照してください。

注: SQL Server ベースのエンタープライズ インダストリ モデルはサーバ側およびクライアント側フィーチャ ルールをサポートします。SQL Server 用のいくつかの定義済みサーバ側フィーチャ ルールがあります(例、ジオメトリ検証)。経験を積んだユーザは、Infrastructure Administrator を使用して SQL Server に関するサーバ側フィーチャ ルールを定義できます。ただし、SQL Server の場合、プログラミング言語は PL/SQL ではなく、それに対応するマイクロソフトの Transact SQL (TSQL)です。この構文は異なっており、Infrastructure Administrator では構文の検証は行われません。

.NET Developer Kit (およびある程度の.NET の知識と経験)を有するユーザは、独自のクライアント側フィーチャ ルールを作成できます。

フィーチャ ルール環境設定は、インダストリ モデルのシステム テーブル TB_RULE_* に格納されます。フィーチャ ルールは、インダストリ モデルのシステム テーブル TB_RULE_DEF に格納されます。

既存のルールをフィーチャ ルールに割り当てることができます。また、既存のルールのプロパティを編集することができます。

注: AutoCAD Map 3D ツールセット と Oracle データベースの製品言語が一致しない場合、フィーチャ クラス名をパラメータとしてトリガ テキストにコピーしても、サーバ側のルールは機能しません。その代わり、ルールはフィーチャ クラスに適用されます。
フィーチャ ルールのプロパティ 説明
フィーチャ クラス フィーチャ クラスの名前。

[サーバ側 (PL/SQL)]

クライアント側(.NET)フィーチャ ルールはサーバ側またはクライアント側とすることができます。

該当するタブをクリックします。サーバ側フィーチャ ルールのみを定義できます。
[適用されるルール ベース] フィーチャ クラスに現在割り当てられているフィーチャ ルールがリストされます。割り当て済みのフィーチャ ルールはシステム テーブルTB_RULE_BASE に格納されています。

TB_RULE_FCLASSTYPE テーブルは、フィーチャ クラス タイプで使用可能なフィーチャ ルールを定義します。例: 長さの計算は LineString フィーチャ クラスには有効ですが、ポイント フィーチャ クラスには有効ではありません。

[優先度] フィーチャ ルールの実行順序を定義します。低い優先度を持つフィーチャ ルールは、高い値を持つルールよりも前に実行されます。

例: 面積を計算する前にフィーチャのジオメトリを検証します。

上ボタンと下ボタンを使用して順序を変更し、優先度を変更します。

[ルール ベースの定義] 現在のフィーチャ クラスで使用できるすべてのフィーチャ ルール(TB_RULE_DEF)およびルール グループ(TB_RULE_GROUP)をリストします。

グループを選択した場合、含まれるすべてのルールが[適用されるルール ベース]リストに追加されます。

注: グループに属していないフィーチャ ルールのみを個別に使用できます。
[グループを新規作成] グループは、1 つの前のルールおよび 1 つの後のルールなど、その他のルールを定義する複数のフィーチャ ルールを含むことができます。

サーバ側のルールは Oracle トリガ制限に従う必要があります。特に、行トリガは、変更された行を除きジョブのテーブルをクエリーまたは変更できません。このため、ほとんどのサーバ側ルールはルールのグループとして実装されます。フィーチャ ルールのグループは、変更されたフィーチャの ROWID を一時テーブルに挿入する、行の前アクション ルール、および実際の作業を実行している後アクション ステートメント ルールで構成されています。

フィーチャ ルールを追加できるのは、フィーチャ ルールが別のルール グループに属していない場合のみです。また、システム フィーチャ ルールを新しい顧客のルール グループに追加することはできません。

イベント フィーチャ ルールが適用されるイベント。
BI 挿入前
BU 更新前
BD[方位/距離] 削除前
AI 挿入後
AU 更新後
AD[角度/距離] 削除後

このワークフローの手順: