Arbeiten mit benutzerdefinierten Validierungen

Mit benutzerdefinierten Validierungen können Sie eine benutzerdefinierte Geschäftslogik hinzufügen, um Datenregeln für Ihre Anwendungen, Dimensionen, Knotentypen und Hierarchiesets zu erzwingen. Sie arbeiten mit benutzerdefinierten Validierungen in der Registerkarte "Validierungen" des Inspektors für das Datenkettenobjekt, für das die Validierung erstellt wurde.

Wichtige Aspekte

  • Sie benötigen die Berechtigung Eigentümer oder Metadatenmanager mindestens für die Dimension, um eine benutzerdefinierte Validierung erstellen, bearbeiten oder löschen zu können.
  • Knotentypvalidierungen werden für alle Knoten im Ansichtspunkt nach Knotentyp ausgeführt.
  • Hierarchiesetvalidierungen werden für alle Knoten im Ansichtspunkt ausgeführt, sofern es sich bei dem Ansichtspunkt um eine Hierarchie handelt.
  • Validierungen werden für den Status von Knoten ausgeführt, nachdem eine Anforderung ausgeführt wurde (d.h. wie der Knoten aussehen wird, nachdem ein Commit für die Anforderung erfolgt ist). Sie können erst eine Validierung im Hinblick auf den Status eines Knotens ausführen, nachdem eine Anforderung ausgeführt wurde.
  • Validierungen werden erzwungen, wenn eine Anforderung weitergeleitet, genehmigt oder festgeschrieben wird oder wenn eine Validierung durchgeführt wird. In der folgenden Tabelle wird beschrieben, welche benutzerdefinierten Validierungen ausgeführt werden, wenn Validierungen in unterschiedlichen Kontexten durchgeführt werden:
Validierungskontext Ausgeführte Validierungen
Eine Anforderung validieren Benutzerdefinierte Validierungen werden für Anforderungselemente ausgeführt, für die entweder die Triggeraktionen ausgeführt wurden oder bei denen die Triggereigenschaften vorliegen.
Einen Ansichtspunkt mit einer offenen Anforderung validieren Benutzerdefinierte Validierungen werden für alle Knoten im Ansichtspunkt ausgeführt, einschließlich der Anforderungselemente
Ansichtspunkt außerhalb einer Anforderung validieren Benutzerdefinierte Validierungen werden für Anforderungselemente ausgeführt, die die Triggereigenschaften erfüllen, nicht aber die Triggeraktionen.

Benutzerdefinierte Validierung erstellen

  1. Prüfen Sie das Datenkettenobjekt, für das Sie eine Validierung hinzufügen möchten. Informationen hierzu finden Sie unter:
  2. Führen Sie eine der folgenden Aktionen aus:
    • Für Anwendungen, Knotentypen, Hierarchiesets und Dimensionen in universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf Erstellen.
    • Für Dimensionen in nicht universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf die Unterregisterkarte Benutzerdefiniert, und klicken Sie auf Erstellen.
  3. Geben Sie einen Namen und optional eine Beschreibung für die Validierung ein, und klicken Sie auf Erstellen.

    Die Validierung wird im Validierungsinspektor angezeigt.

Benutzerdefinierte Validierung bearbeiten

  1. Prüfen Sie das Datenkettenobjekt, für das Sie eine benutzerdefinierte Validierung bearbeiten möchten.
  2. Führen Sie eine der folgenden Aktionen aus:
    • Für Anwendungen, Knotentypen, Hierarchiesets und Dimensionen in universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf Bearbeiten.
    • Für Dimensionen in nicht universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf die Unterregisterkarte Benutzerdefiniert, und klicken Sie auf Bearbeiten.
  3. Klicken Sie in der Registerkarte Allgemein des Validierungsinspektors auf Bearbeiten, um den Validierungsnamen oder die Validierungsbeschreibung zu bearbeiten.
  4. Definieren Sie die Validierung auf der Registerkarte Definition, indem Sie folgende Informationen eingeben:
    • Kennzeichen "Aktiviert": Geben Sie an, ob eine benutzerdefinierte Validierung erzwungen wird. Validierungen sind standardmäßig deaktiviert, und Sie können sie nur aktivieren, wenn folgende Bedingungen erfüllt sind:
      • Ein gültiger Ausdruck wurde definiert
      • Mindestens eine Triggeraktion oder -eigenschaft wurde konfiguriert
      • Eine Fehlermeldung wurde definiert

      Hinweis:

      Sie können Validierungen auch über die Registerkarte "Validierung" des Knotentyp- oder Hierarchiesetinspektors aktivieren oder deaktivieren. Informationen hierzu finden Sie unter Benutzerdefinierte Validierung aktivieren, deaktivieren oder löschen.
    • Ausdruck: Klicken Sie auf Ausdruck definieren Ausdruck definieren (oder je nach Theme auf Ausdruck definieren), um den Expression Builder zu öffnen, und definieren Sie die Geschäftslogik für die Validierung. Informationen hierzu finden Sie unter Ausdrücke zum Definieren von benutzerdefinierten Geschäftslogiken verwenden.

      Der Ausdruck für eine Validierung muss einen booleschen Wert zurückgeben. Wenn der Ausdruck den Wert "True" zurückgibt, wurde die Validierung bestanden. Wenn der Ausdruck den Wert "False" zurückgibt, war die Validierung nicht erfolgreich und die Fehlermeldung wird angezeigt.

    • Triggeraktion: Wählen Sie mindestens eine Anforderungsaktion aus, die die Validierung auslösen soll. Aktivieren Sie alternativ das Kontrollkästchen Alle, um alle Aktionen auszuwählen.
    • Triggereigenschaften: Wählen Sie mindestens eine Eigenschaft aus, bei deren Aktualisierung die Validierung ausgelöst werden soll. Aktivieren Sie alternativ das Kontrollkästchen Alle, um alle Eigenschaften auszuwählen.
      • Für Knotentypvalidierungen können alle Eigenschaften, die diesem Knotentyp zugewiesen sind, ausgewählt werden.
      • Für Hierarchiesetvalidierungen können alle Eigenschaften, die einem beliebigen Knotentyp zugewiesen sind, den das Hierarchieset referenziert, ausgewählt werden.

      Tipp:

      Validierungen werden für jede Triggeraktion und für jede Triggereigenschaft in einer Anforderung ausgeführt. Das heißt: Wenn Sie mehrere Triggereigenschaften hinzufügen und alle davon fehlschlagen, erhalten Sie mehrere Fehlermeldungen. Sie sollten die Mindestanzahl an Triggereigenschaften oder -aktionen hinzufügen, die weiterhin Ihre Geschäftslogik für eine Anforderung erzwingen.

    • Anforderungsstatus: Wählen Sie den Status aus, in dem benutzerdefinierte Validierungen im Kontext einer Anforderung ausgeführt werden:
      • Commit erfolgt (Standard): Die Validierung wird für Daten durchgeführt, nachdem die Anforderungselemente und Aktionen auf den Ansichtspunkt angewendet wurden. Knoten, die in der Anforderung entfernt oder gelöscht werden, werden beim Auswerten von Datenbedingungen im Status "Commit erfolgt" ausgeschlossen.
      • Visualisiert: Die Validierung wird für Daten durchgeführt, bevor die Anforderungselemente und Aktionen auf den Ansichtspunkt angewendet wurden. Knoten, die in der Anforderung entfernt oder gelöscht werden, werden beim Auswerten von Datenbedingungen im Status "Visualisiert" eingeschlossen.

        Hinweis:

        Validierungen mit dem Status "Visualisiert" werden nur bei der Validierung von Anforderungselementen und nicht bei der Validierung eines Ansichtspunkts ausgeführt.
    • Schweregrad: Wählen Sie den Schweregrad für die Validierung (Fehler, Warnung, Ignorieren) in den Phasen "Anforderung weiterleiten", "Anforderung genehmigen" und "Anforderung festschreiben" sowie für die Validierung eines Ansichtspunktes und den Export einer Dimension aus. Informationen hierzu finden Sie unter Erläuterungen zum Validierungsschweregrad.
    • Fehlermeldung: Geben Sie die Nachricht ein, die Benutzern angezeigt werden soll, wenn die Validierung nicht erfolgreich war.
  5. Klicken Sie auf Speichern.

Benutzerdefinierte Validierung aktivieren, deaktivieren oder löschen

  1. Prüfen Sie das Datenkettenobjekt, für das Sie eine benutzerdefinierte Validierung aktivieren, deaktivieren oder löschen möchten.
  2. Führen Sie eine der folgenden Aktionen aus:
    • Für Anwendungen, Knotentypen, Hierarchiesets und Dimensionen in universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf Bearbeiten.
    • Für Dimensionen in nicht universellen Anwendungen gilt: Klicken Sie auf der Registerkarte Validierungen auf die Unterregisterkarte Benutzerdefiniert, und klicken Sie auf Bearbeiten.
  3. Klicken Sie in der Spalte Aktionen neben der Validierung, die Sie bearbeiten möchten, auf Aktion, und wählen Sie eine Option aus:
    • Aktivieren (nur verfügbar, wenn die Validierung deaktiviert ist)
    • Deaktivieren (nur verfügbar, wenn die Validierung aktiviert ist)
    • Löschen
  4. Klicken Sie in der Bestätigungsmeldung auf Ja und dann auf Speichern.

Beispiel für eine benutzerdefinierte Validierung

In diesem Beispiel werden wir zum Knotentyp "Konto" in der Anwendung "Corporate Planning" eine Validierung hinzufügen, die besagt, dass alle Knotennamen mit demselben Zeichen anfangen müssen wie das übergeordnete Element des betreffenden Knotens. Im folgenden Screenshot ist die benutzerdefinierte Validierung dargestellt, die wir erstellt haben.


Screenshot des Kontoknotentyps mit darauffolgender Beschreibung

Die Validierung hat folgende Definition:

  • Das Kennzeichen "Aktiviert" ist auf "True" gesetzt.
  • Der Ausdruck gibt den Wert "True" zurück, wenn der Knotenname mit demselben Zeichen beginnt wie der Name des übergeordneten Elements des Knotens. Ist dies nicht der Fall, wird der Wert "False" zurückgegeben.
  • Die Triggeraktionen für die Validierung sind "Hinzufügen" und "Umbenennen", und die Triggereigenschaft ist "Name".
  • Eine Fehlermeldung gibt an, dass die Validierung nicht erfolgreich war, wenn der Kontoknoten nicht mit demselben Zeichen beginnt wie der Name des zugehörigen übergeordneten Knotens.

Um die Validierung zu testen, wollen wir versuchen, eine Anforderung weiterzuleiten, die für den Kontoknotentyp einen Knoten hinzufügt, dessen Name mit einem anderen Zeichen beginnt als der Name seines übergeordneten Elements. In diesem Fall werden wir versuchen, unter dem übergeordneten Knoten OFS_Total Revenue einen Knoten namens Project Revenue hinzuzufügen.


Screenshot zeigt den Validierungsfehler an

Wenn wir die Anforderung weiterleiten, erhalten wir die Validierungsfehlermeldung, die angibt, dass der Knotenname mit demselben Zeichen beginnen muss wie der Name des zugehörigen übergeordneten Knotens.