Der userexit_save_document_prepare ist für die beschriebene Ermittlung aber mit Vorsicht zu genießen.
Er wird nämlich vor dem userexit_number_range gerufen und da kann sich ja noch was ändern.
Und er eigentliche Number_Get_Next wird erst nach dem userexit_number_range gerufen.
Somit kann sich da noch viel ändern bzw. schieflaufen, nach dem userexit_save_document_prepare bezogen auf die (tatsächliche) VBELN.
Die tatsächliche VBELN ist meiner Meinung nach, erst dann sicher auslesbar wen das sichern des Auftages abgeschlossen wurde.
Leider bin ich an der Ecke "Nachbearbeitung, nach dem sichern" nur "Zuschauer".
Aber meine Kollegen aus dem DEV nutzen für solche Anforderungen die User Exits der Nachbearbeitung bzw. vorbereitende zur Druckverarbeitung um im Nachhinein (also nach dem sichern des Beleges) nochmals den Beleg anzureichern.
Wie gesagt dieses Nachträgliche, ist nicht meine Welt.
*... who can do field replacements in the debugger can do anything in the system
*so this check can not stop (him) anyway.