D365 Audit
Blog · 2026-08-23 · 4 min read
This article is currently available in German only. An English version may follow.

Alte Business Rules entfernen

Business Rules sammeln sich schneller an, als sie gepflegt werden. Wie man den Bestand sichtet, Überschneidungen findet und gefahrlos ausdünnt.

Geschäftsregeln oder auch Business Rules waren als der einfache Weg gedacht: Logik am Formular ohne Code, per Klick zusammengebaut. Plötzlich konnte Logik gebaut werden, das vorher nur mit Javascript erreichbar war. Dieser einfache Weg wird viel benutzt und deshalb liegt in gewachsenen Umgebungen fast immer ein Bestand von Regeln, den niemand mehr vollständig überblickt. Beim Aufräumen gibt es ein paar Eigenheiten zu kennen.

Wo Business Rules im Export liegen

Im Solution-Export tauchen Business Rules nicht als eigener Block auf, sondern im "Workflows"-Bereich der customizations.xml, als Prozesse der Kategorie 2. Das überrascht beim ersten Suchen, ist aber praktisch: Man bekommt sie zusammen mit klassischen Workflows und Flows in einer Liste und kann Name, Zieltabelle, Gültigkeitsbereich und Aktivierungsstatus direkt auslesen.

Der Gültigkeitsbereich ist die wichtigste Angabe. Eine Regel kann für ein bestimmtes Formular gelten, für alle Formulare oder für die ganze Tabelle inklusive serverseitiger Auswertung. Regeln mit Tabellen-Gültigkeit wirken auch bei Importen und Integrationen, was beim Entfernen den Unterschied macht zwischen einer kosmetischen und einer fachlichen Änderung.

Die drei typischen Altlasten

Regeln auf abgeschaltete Anforderungen. Ein Feld wird ausgeblendet, weil ein Prozess das vor Jahren verlangte. Der Prozess ist Geschichte, die Regel läuft weiter. Von außen nicht von einer gewollten Regel zu unterscheiden, deshalb hilft nur die fachliche Rückfrage.

Doppelte Logik in Regel und Skript. Dieselbe Sichtbarkeit oder derselbe Pflichtstatus wird zusätzlich von einem JavaScript gesetzt, meist weil zwei Generationen von Entwicklern denselben Bedarf unterschiedlich gelöst haben. Solche Doppelungen sind die ersten Kandidaten, weil sich hier beim Entfernen einer Seite nichts ändert außer, dass das Verhalten wieder eine einzige Ursache hat.

Deaktivierte Regeln. Sie tun nichts stehen aber in jeder Liste und in jedem Export und werden mitgeschleift. Im schlimmsten Fall haben sie auch noch Abhängigkeiten die sonst nicht gebraucht wären und blasen die Lösung künstlich auf. Wenn seit einem Jahr niemand sie reaktiviert hat ist die Wahrscheinlichkeit hoch, dass sie ein abgebrochener Versuch oder ungebrauchte Logik waren.

Ein Sonderfall verdient eigene Aufmerksamkeit: mehrere aktive Regeln die dasselbe Feld beeinflussen. Die Plattform garantiert keine Auswertungsreihenfolge. Das Ergebnis kann also davon abhängen, welche Regel zufällig zuletzt greift. Solche Überschneidungen sind streng genommen kein Aufräum-, sondern ein Korrektheitsproblem und sie gehören unabhängig von jeder Aufräumaktion konsolidiert.

Das gefahrlose Vorgehen

Business Rules haben gegenüber Skripten einen Vorteil beim Aufräumen: den Deaktivieren-Schalter. Eine Regel muss nicht gelöscht werden, um sie loszuwerden. Deaktivieren, einen Beobachtungszeitraum abwarten, dann löschen. Meldet sich in der Zwischenzeit jemand, ist die Regel mit einem Klick zurück.

Wichtig ist die Reihenfolge im Kopf: erst verstehen, was die Regel tut (die Bedingungen und Aktionen stehen lesbar in der Definition). Dann prüfen ob dieselbe Wirkung noch woanders erzeugt wird und anschließend dann deaktivieren. Wer umgekehrt vorgeht und erst löscht verhandelt hinterher mit der Fachabteilung über ein Verhalten, das keiner mehr rekonstruieren kann.

Regeln entfernen ist Pflege. 10 Regeln weniger klingen nach wenig und sind doch 10 Dinge die beim nächsten Formularumbau nicht mehr mitgedacht werden müssen.

Wie steht Ihre eigene Lösung da?

Laden Sie Ihren Solution-Export hoch und erhalten Sie in Minuten eine Auswertung: Sicherheitsrisiken, technische Schulden, Dokumentationsgrad und Migrationsrisiko. Kein Zugriff auf Ihre Umgebung nötig, erste Kennzahlen kostenlos.

Lösung analysieren