Bearbeiten von Objektregeln

Mithilfe der Objektregeln können Sie beispielsweise eine automatische Datenkorrektur durchführen oder Funktionalität hinzufügen, wenn Änderungen an der Datenbank vorgenommen werden. Es gibt clientseitige und serverseitige Objektregeln.

Elementregeln sind Methoden und Trigger, durch die Daten gemäß vordefinierter Algorithmen verarbeitet werden. Anhand von Regeln können Sie beispielsweise komplexe Konsistenz- und Abhängigkeitsprüfungen bei bestimmten Ereignissen, wie beispielsweise vor dem Einfügen oder nach dem Ändern eines Elements, durchführen. Sie können einige Aspekte der in Fachschalen enthaltenen Regeln bearbeiten.

Objektregeln gehören zum Lieferumfang von AutoCAD Map 3D-Toolset. Wenn Sie jedoch über Erfahrungen mit PL/SQL-Triggern verfügen, können Sie eigene serverseitige Objektregeln über Oracle-Trigger und die API definieren. Lesen Sie hierzu die entsprechenden Handbücher.

Anmerkung: SQL Server- und datenbankbasierten Fachschalen unterstützen die server- und clientseitigen Objektregeln. Es gibt einige vordefinierte serverseitige Objektregeln für SQL Server (z. B. Geometrievalidierung). Erfahrene Benutzer können serverseitige Objektregeln in SQL Server mithilfe von Infrastructure Administrator definieren. Für SQL Server ist die Programmiersprache jedoch nicht PL/SQL, sondern Transact SQL (TSQL), der Entsprechung von Microsoft. Die Syntax ist unterschiedlich und Infrastructure Administrator validiert nicht die Syntax.

Benutzer mit einem .NET-Entwickler-Kit (und grundlegenden .NET-Kenntnissen und -Erfahrung) können eigene clientseitige Objektregeln erstellen.

Die Konfiguration der Objektregeln wird in der Fachschale in den Systemtabellen TB_RULE_* gespeichert. Objektregeln werden in der Systemtabelle TB_RULE_DEF in der Fachschale gespeichert.

Sie können eine vorhandene Regel einer Objektklasse zuweisen sowie die Eigenschaften einer vorhandenen Regel bearbeiten.

Anmerkung: Falls die Produktsprache von AutoCAD Map 3D-Toolset und der Oracle-Datenbank nicht übereinstimmen, funktionieren serverseitige Regeln nicht, wenn Namen von Objektklassen als Parameter in Triggertext kopiert werden. Stattdessen wird die Regel auf eine Objektklasse angewendet.
Eigenschaften von Objektregeln Beschreibung
Objektklasse Name der Objektklasse

Server (PL/SQL)

Objektregeln für Client (.NET) können server- oder clientseitig ausgeführt werden.

Klicken Sie auf die entsprechende Registerkarte. Sie können nur serverseitige Objektregeln definieren.
Angewendete Regelwerke Liste der Objektregeln, die der Objektklasse zurzeit zugeordnet sind. Die zugeordneten Objektregeln werden in der Systemtabelle TB_RULE_BASE aufgezeichnet.

In der Tabelle TB_RULE_FCLASSTYPE wird definiert, welche Objektregeln für die einzelnen Objektklassentypen verfügbar sind. Beispiel: Die Berechnung der Länge ist zwar ein gültiger Vorgang für Polylinien-Objektklassen, jedoch nicht für Punktobjektklassen.

Priorität Zum Definieren der Ausführungsreihenfolge für die Objektregeln. Eine Objektregel mit einem niedrigeren Prioritätswert, wird vor Regeln mit einem höheren Wert ausgeführt.

Beispiel: Validieren der Geometrie eines Objekts, bevor die Fläche berechnet wird.

Mithilfe der Nach-oben- bzw. Nach-unten-Schaltfläche können Sie die Reihenfolge und Priorität ändern.

Regelwerkdefinitionen Listet alle für die aktuelle Objektklasse verfügbaren Objektregeln (TB_RULE_DEF) und Regelgruppen (TB_RULE_GROUP) auf.

Wenn Sie eine Gruppe auswählen, werden alle darin enthaltenen Regeln zur Liste Angewendete Regelwerke hinzugefügt.

Anmerkung: Es sind nur jene Objektregeln einzeln verfügbar, die nicht Teil einer Gruppe sind.
Neue Gruppe Eine Gruppe kann mehrere Objektregeln enthalten, die andere Regeln definieren, z. B. eine Before- und eine After-Regel.

Die Serverregeln müssen den Einschränkungen für Oracle-Trigger entsprechen. Dies bedeutet konkret, dass Zeilentrigger nur für die geänderte Zeile Tabellen in Jobs abfragen oder ändern dürfen. Aus diesem Grund werden die meisten serverseitigen Regeln als Regelgruppe implementiert. Eine Gruppe von Objektregeln besteht aus einer vor der Aktion für die Zeile ausgeführten Regel, die die ROWID von geänderten Objekten in eine temporäre Tabelle einfügt, und aus einer nach der Aktionsanweisung ausgeführten Regel, die für die eigentliche Arbeit zuständig ist.

Sie können nur Objektregeln hinzufügen, die noch keiner anderen Regelgruppe angehören. Zudem können Sie keine Systemobjektregeln zu einer neuen Kundenregelgruppe hinzufügen.

Ereignis Ereignis, auf das eine Objektregel reagiert.
BI Vor dem Einfügen
BU Vor dem Aktualisieren
BD Vor dem Löschen
AI Nach dem Einfügen
AU Nach dem Aktualisieren
AD Nach dem Löschen

Schritte in diesem Arbeitsablauf: