Hallo zusammen,
ich hoffe sehr, dass mir jemand bei meinem Problem bzw. Anliegen helfen kann.
Im QM werden bei uns über die Transaktionen QF21 bzw. QF11 Fehler zum Prüflos erfasst. Im Hintergrund wird eine Q-Meldung angelegt, existiert bereits eine Q-Meldung wird, so wird diese um die neue Fehelrposition erweitert.
Es gibt die Anforderung, dass ein bestimmter Anwenderstatus gsetzt wird, sobald eine Fehlerposition außerhalb der Toleranz angelegt bzw. hinzugefügt wird.
Dazu verwende ich den BAdI - NOTIF_EVENT_SAVE, der auch aufgerufen wird, wenn eine Meldung nicht im DIALOG bzw. im DIALOG verarbetiet wird (also aus QF11/QF21/QM01/QM02). Der Anwenderstatus wird gesetzt, wenn bereits eine Q-Meldung existiert.
Beim ersten Erfassen eines Fehlers zum Prüflos, wird der Status jedoch nicht gesetzt, da mir der Baustein STATUS_CHANGE_EXTERN die Ausnahme OBJECT_NOT_FOUND zurück liefert. Das ist auch veständlich, da die Meldung noch nicht verbucht ist und somit kein Statusobjekt existiert.
Ich habe auch schon versucht in dem BAdI mit dem Baustein STATUS_OBJECT_CREATE ein temporäres Statusobjekt zu erstellen, jedoch bekomme ich die Ausnahme STATUS_OBJECT_ALREADY_EXISTS. Führe ich einen Commmit Work (wie in der Dokumentation beschrieben) in Verbindung mit dem FuBa aus, bekomme ich die Fehlermeldung "allgemeiner Fehler in Statusverarbeitung".
Ich bin jetzt langsam am Ende meines Latein. Hat jemand eine Idee wie ich bei Anlage einer Q-Meldung im Dialog und nicht im Dialog einen Anwenderstatus setzten kann?
Verwende ich den falschen BAdI? Muss ich evtl. den BAdI NOTIF_EVENT_POST verwenden?
Über jeden Tipp wäre ich sehr dankbar.
Viele Grüße
Alex
Bearbeitet vom Benutzer
vor 6 Jahre
|
Grund: Nicht angegeben