Home › Forum › Nuclos Konfiguration › Businessprozesse › ExceptionHandling bei Arbeitsschritt und API Regel
- Dieses Thema hat 6 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahren, 5 Monaten von
Ferdinand Hackl.
-
AutorBeiträge
-
28 Juni 2013 um 16:35 Uhr #6785
Ferdinand Hackl
TeilnehmerHallo,
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
Ferdinand28 Juni 2013 um 19:29 Uhr #6788Ramin Goettlich
TeilnehmerDas 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).
1 Juli 2013 um 12:11 Uhr #6790Ferdinand Hackl
Teilnehmerich 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
Ferdinand1 Juli 2013 um 14:25 Uhr #6791Frank Pavlic
TeilnehmerHallo 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ß
Frank1 Juli 2013 um 18:53 Uhr #6792Ferdinand Hackl
TeilnehmerIch 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
Ferdinand2 Juli 2013 um 00:09 Uhr #6795Ramin Goettlich
TeilnehmerHallo,
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,
nuclosian2 Juli 2013 um 13:24 Uhr #6800Ferdinand Hackl
TeilnehmerTicket wurde erstellt http://support.nuclos.de/browse/NUCLOS-2178
-
AutorBeiträge