Debugging-Methode zur Entwicklung von Geschäftsregeln

  • Führen Sie für die Geschäftsregel immer einen Einheitentest mit einem kleinen Dataset aus, bei dem Sie die Quelldaten und die erwarteten Ergebnisse kennen und der Berechnung manuell folgen können.
  • Führen Sie die Geschäftsregel in Calculation Manager aus, und prüfen Sie die Logmeldungen. Logmeldungen werden nach Abschluss der Regel in einer neuen Registerkarte angezeigt und können exportiert oder gespeichert werden. Durch eine Analyse der Logdateien können Sie feststellen, wo Zeit für die Berechnung benötigt wird.
  • Führen Sie alle Regeln in einem Regelset einzeln in Calculation Manager aus, und prüfen Sie die Logmeldungen.
  • Verwenden Sie Calculation Manager im Debugging-Modus, um Regeln bei der Entwicklung zu debuggen.
  • Wenn in der Geschäftsregel CALCPARALLEL oder FIXPARALLEL verwendet wird, insbesondere bei Verwendung einer der Umlagefunktionen (@ALLOCATE oder @MDALLOCATE), testen Sie durch Entfernen der parallelen Berechnung, ob die Regel ausgeführt wird und sich die Performance verbessert.
  • Stellen Sie sicher, dass alle erforderlichen Daten (z.B. Summe für Umlagen) vorhanden sind und bei Bedarf vorab berechnet wurden, bevor die Berechnung durchgeführt wird.
  • Beginnen Sie das Debugging bei langen Skripten ganz am Anfang und arbeiten Sie sich nach unten durch. Ein Problem am Anfang des Skripts kann zu nachfolgenden Problemen führen. Führen Sie das Debugging abschnittsweise durch, um sicherzustellen, dass alle Daten richtig erstellt werden. Stellen Sie sicher, dass spätere Abschnitte des Skripts frühere Abschnitte nicht überschreiben.

    Beachten Sie beim Debugging von Skripten die Syntaxlänge innerhalb der einzelnen Berechnungsdurchgänge. Wenn Sie unsicher sind, welcher Teil der Berechnung fehlschlägt, kommentieren Sie Abschnitte aus, jeweils einen und beginnend am Berechnungsende. Führen Sie die Berechnung dann erneut aus, bis sie funktioniert und die richtigen Ergebnisse liefert. Entfernen Sie an diesem Punkt die Kommentare aus den Abschnitten, jeweils einen und beginnend am Berechnungsanfang. Testen Sie dabei jede Änderung.

  • Verwenden Sie den Debugging-Modus, um sicherzustellen, dass die einzelnen Abschnitte des Skripts ggf. sequenziell berechnet werden.
  • Um sicherzustellen, dass alle Blöcke erfolgreich erstellt werden, müssen Sie die Daten manuell löschen und neu laden. Verwenden Sie kein Löschskript, da hiermit die Blockerstellung nicht angemessen getestet werden kann.
  • Führen Sie zum Testen ein Skript immer erneut aus, um sicherzustellen, dass die Syntax zu richtigen Ergebnissen für die eingegebenen und geladenen Daten führt.
  • Testen Sie immer alle Datenergebnisse mit mehreren Datasets. Führen Sie den Test bei der Entwicklung immer so aus, dass Sie die Eingabedaten von einem Wert in einen anderen Wert und dann in #missing und von #missing in einen Wert und dann in einen anderen Wert ändern. Führen Sie die Regel für jede Änderung erneut aus, und validieren Sie die Ergebnisse.
  • Wenn Datasets durch Benutzereingaben geändert werden können (z.B. für Umlagen), testen Sie Daten, indem Sie #missing in einen Wert und einen Wert in #missing ändern. So wird sichergestellt, dass zuvor berechnete Ergebnisse bei der erneuten Ausführung ggf. entfernt werden. Beispiel: Wenn Sie bei der ersten Ausführung Daten für Produkt A, B und C und bei der zweiten Ausführung Daten für Produkt B, C und D (aber nicht A) eingeben, wird durch eine Änderung des Wertes in #missing vor der zweiten Ausführung sichergestellt, dass das Umlageergebnis für Produkt A in der zweiten Ausführung richtig entfernt wird.