Home Forum Nuclos Konfiguration Businessprozesse ExceptionHandling bei Arbeitsschritt und API Regel

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #6785
    Ferdinand Hackl
    Teilnehmer

    Hallo,

    ich habe ein Problem mit dem API Regel und Arbeitsschritt. In der Regel wird eine Exception ausgelöst und ich dachte eigentlich dass die Exception beim Quellobjekt angezeigt wird aber der Hinweis kommt beim Zielobjekt welches trotz Exception erstellt wird.

    Hat dies mit Einstellungen im Arbeitsschritt zu tun oder liegt hier ein Fehler bei der Exceptionbehandlung vor ? Ich verwende Nuclos 3.13

    lg
    Ferdinand

    #6788
    Ramin Goettlich
    Teilnehmer

    Das Verhalten ist so by Design.

    Wenn das generierte Objekt nicht gespeichert werden kann (z.B. wegen Pflichtfeldverletzung), dann bleibt die Maske des Zielobjektes offen und eine Meldung erscheint).

    #6790
    Ferdinand Hackl
    Teilnehmer

    ich glaub wir reden hier von zwei verschiedenen Dingen. Es spricht aus Nuclos Sicht nichts dagegen das generierte Objekt zu speichern – wenn ich auf speichern klicke macht er es ja – aber ich will wenn ich in der API Regel ein Exception auslöse nicht dass das Objekt überhaupt erstellt wird.

    Bei meinem Arbeitsschritt wird folgend API Regel aufgerufen.

    @Rule(name=“Kundendatencheck“, description=“checken der Kundendaten vor der Übernahme“)
    public class Kundendatencheck implements GenerateRule {

    public void generate(GenerateContext context) throws BusinessException {
    cKundenanlage neuerKunde = context.getSourceObject(cKundenanlage.class);

    …. unzählige Überprüfungen und bei einem Fehler

    throw new BusinessException(„Kunden konnte nicht erstellt werden :“ + neuerKunde.getKundennummer()) ;

    }
    }

    lg
    Ferdinand

    #6791
    Frank Pavlic
    Teilnehmer

    Hallo Ferdinand,
    was spricht in deinem konkreten Fall dagegen,die Kundendaten-Checks in einer „Speichern“-Regel durchzuführen?

    Die Idee finde ich gut, einen ausgeführten Arbeitsschritt _ohne_ Erstellung eines neuen Objekts abbrechen zu können. Was meines Wissens nach momentan noch nicht geht. Deshalb die Checks in einer „Speichern“-Regel.

    Gruß
    Frank

    #6792
    Ferdinand Hackl
    Teilnehmer

    Ich habe mir eigentlich keine Gedanken darüber gemacht ob ich diese Überprüfungen wo anders als bei der Erzeugung des Objekts mache. Ich hab auch in einem Video gesehen dass der Arbeitsschritt bei einer Exception abgebrochen wird aber das galt dann wohl für das alte Regelwerk.

    Ich finde es nicht „userfreundlich“ das Zielobjekt zu erzeugen – in diesem Fall einen neuen Datansatz für den Kunden – und den Kollegen dann beim Versuch das Zielobjekt zu speichern mitzuteilen „Ätsch geht doch nicht“

    Ich glaube eine Lösung wäre auch die Überprüfungen bei einem Statuswechsel durchführen zu lassen und wenn der Statuswechsel erfolgreich war gleich automatisch den Arbeitsschritt auszuführen – nicht sauber aber zumindest eine Idee

    lg
    Ferdinand

    #6795
    Ramin Goettlich
    Teilnehmer

    Hallo,

    dass eine Exception in einer GenerateRule das Zielobjekt trotzdem generiert, ist sicher unschön und ein Fehler. Dafür lohnt sich ein Ticket auf support.nuclos.de

    Nur dort als Tickets erfasste Fehler oder Anforderungen können wir auch bearbeiten.

    Grüsse,
    nuclosian

    #6800
    Ferdinand Hackl
    Teilnehmer
Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)