Hallo zusammen,
heute habe ich eine Frage zu dem BusinessObjectProvider. Denn dieser macht mir gerade ein bisschen zu schaffen.
Ich habe eine Regel programmiert, welche nach dem Speichern eines BusinessObjects (also insertFinal oder updateFinal) reagiert.
Zum Schluss dieser Regel, setzte ich ein Feld im BusinessObject und speicher das ganze dann über den BusinessObjectProvider. Das hat auch eine lange Zeit funktioniert, nur plötzlich kommt (ab und zu) ein Fehler.
Hier einmal der Code wie das ganze aussieht
// Das aktuelle BusinessObject aktuell aus der Datenbank holen
AngebotOpportunity newAngebotOpportunity = QueryProvider.getById(AngebotOpportunity.class, angebotOpportunity.getId());
// Feld beschreiben
newAngebotOpportunity.setDsn(createAngebotDSN);
// Speichern
BusinessObjectProvider.update(newAngebotOpportunity);
Genauso ist das auch in der Anleitung beschrieben.
Falls nun jemand fragt: Wieso hole ich mir denn nochmal das BusinessObject, wenn es bereits im InsertContext bzw. UpdateContext ist: Ja, habe ich versucht. Allerdings kommt dann der Fehler, dass ich ein BusinessObject nicht speichern kann, woran nichts verändert wurde. Daher nehme ich den anderen Weg.
Hier der Fehler, welcher dann kommt: http://pastebin.com/dcfM3Rh2
Da sieht man ja ganz unten bei „Caused by:“, dass es bei der update Methode hängt. Ich habe auch schon geschaut, ob das BusinessObject NULL ist, welches ich über die Datenbank versuche zu erhalten. Es ist definitiv nicht NULL. Auch der Wert, welchen ich in das Feld schreibe, ist nicht NULL
Ich hoffe mir kann da jemand helfen 🙂
MfG Jan