beim Anlegen einer Instandhaltungsmeldung (IW21) ist der Wert des Feldes QMNUM %00000001. Wenn ich diese Meldung speichere würde ich die QMNUM benötigen die er dann letztendlich in die Tabelle QMEL legt. Kennt jemand den USER EXIT oder Badi etc. wo ich diese Nummer abfangen könnte bevor er ganz die Meldung ganz speichert bzw. schließt?
ich programmiere gerade einen eigenen Dialog-Screen für eine separate Meldungsart in der IH-Meldung. Die angelegten Felder in dem Screen werden in einer eigenen Tabelle abgespeichert. Die Tabelle hat als Primärschlüssel die QMNUM. Somit wenn ich eben diese Nachricht speichern will, muss die eigene Tabelle inkl. der QMNUM (+ andere Felder) ebenfalls gefüllt werden.
Muss doch möglich sein, an die Nummer kurz vor dem Speichern hinzukommen, oder?
hier kommt es bestimmt auf die Programmlogik an. Die Nummer der Meldung wird über einen Nummernkreis vergeben. Da könnte es doch schon sein, dass die Nummer erst unmittelbar vor dem Sichern ermittelt und verwendet wird. Würde man zu lange warten läuft man eventuell Gefahr, dass ein anderer User eine andere Meldung mit der gleichen Nummer speichern wollen würde. Hast du nicht eine Möglichkeit die Meldung erst zu speichern und anschliessend die Nummer aus der Erfolgsmeldung "Meldung mit der Nummer xxx gespeichert" auszulesen?
Beim Customizing der Meldung gibt es einen Parameter: 'Frühe Nummernvergabe'
Wenn dieser gesetzt ist, wird die Nummer sofort angelegt,
ABER diese Nummer ist nach Abbruch der Transaktion nicht mehr nutzbar und es entstehen ggf. Lücken
Gruß TakerOne
Folgende Benutzer bedankten sich beim Autor TakerOne für den Beitrag: Alexander D.
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen.
das mit der Nummer hab ich nicht ausprobiert, da ich eine alternative Lösung gefunden habe. Es existiert eine BADI (Business Add-In beim Sicher von Meldugnsdaten) und in diesem BADI ist die QMNUM kurz vor dem Sichern noch vorhanden. Weiteres Problem das entstand, war das die Variablen aus meinen eigenen angelegten Felder in der BADI nicht mehr erreichbar waren. Somit konnte ich zwar die QMNUM speichern jedoch nicht die eingegebenen Werte.
Die Lösung war hier, dass ich mich dem Dirty Assign von Tricktresor bedient habe