in der Qualitätsmeldung (QM02) ist eine Vorlagenummer enthalten, wenn der Beleg gespeichert wird, soll diese Vorlagenummer gelöscht werden.
Weiß jemand wie ich das anstellen kann, dass wenn der Beleg gespeichert wird, dass die Vorlagenummer aus dem Belegfluss gelöscht wird bzw. welchen Funktionsbaustein muss ich dafür umprogrammieren?
Hallo Sava,
ein Eingriff in SAP-Logik aus einem User-Exit heraus könnte zu Problemen führen. Es kommt hierbei natürlich darauf an was man für Daten verändert. Zu dem Thema "klappt leider nicht" noch ein paar Fragen:
- Hast du den Include nach der Änderung aktiviert?
- Ist der User-Exit aktiviert?
- wie hast du den Code aufgebaut?
- hast du in dem Exit mal einen Break-Point gesetzt und geschaut, ob das Programm beim Sichern einer QMeldung dort vorbeiläuft und was dabei passiert?
mit welchem Release arbeitest du denn? In 4.7 würde dir die Syntaxprüfung den Befehl VIQMEL-QWRNUM = CLEAR um die Ohren hauen. Erstens machst du hier eine Zuweisung, ABAP müsste also davon ausgehen, dass CLEAR eine Variable ist. Und zweitens sieht die Schnittstelle zum Include doch anders aus. Dort gibt es I_VIQMEL und E_VIQMEL, aber kein VIQMEL wie in deinem Beispiel.
if E_VIQMEL-QWRNUM NE ''.
CLEAR E_VIQMEL-QWRNUM.
endif.
Was Probleme angeht so könnte alles passieren was man sich vorstellen kann, und darüber hinaus noch etwas mehr. Programmabbruch, Datenschiefstand, merkwürdiges Programmverhalten, Endlosschleifen usw.
sorry ich meinte eigentlich den Code den du mir gerade zur Verfügung gestellt hast. Hab das vorhin auswendig herunter getippt. Hab also keine Zuweisung gemacht sondern eben wie du gerade gepostet hast, den Code CLEAR VIQMEL_QWRNUM verwendet. Sorry, ich hätte nachsehen müssen!
Im Debug-Modus erhalte ich auch die Nummer aus dem Feld "QWRNUM" auch wenn ich VIQMEL verwende. Ich habe das Ganze jetzt mal mit deinem Code versucht. Es wird zwar die Vorlagenummer aus dem Beleg selbst gelöscht aber nicht aus dem Belegfluss.
Eine Frage noch, wie bist du auf das Userexit ZXQQMU20 gekommen? Erfahrung? Oder gibt es eine Möglichkeit es aus der QMeldung heraus zu finden?
den Exit kannte ich aus einem Programm das ich mal gemacht habe. In unserem Fall sollten bestimmte Dinge geprüft werden bevor die QMeldung gesichert wird. Und du wolltest ja ebenfalls vor dem Sichern der Meldung die Zuordnung zur Vorlage bzw. den Belegfluss löschen.
Tut mir Leid, dass ich nicht wirklich helfen konnte
Hab das ganze jetzt mal mit einigen anderen QMeldungen ausprobiert. Tatsächlich wurde bei einer einzigen QMeldung die Vorlagenummer aus dem Belegfluss gelöscht Jedoch bei den anderen QMeldungen eben nicht. Kann mir wirklich nicht erklären warum er das bei der einen gemacht hat und bei den anderen nicht :/ Ich danke dir trotzdem!