a)
Die sicherste aber aufwednigste Methode ist, mit KundenAuftragsbestand zu arbeiten.
Dann muss die Menge auf den KundenAuftragsbestand umgebucht werden und wäre (systemseitig) dann nicht mehr für andere verfügbar.
Dazu muss aber der entsprechende Prozess eingestellt, bei Auftragsanlage gelebt und automatisiert (oder von Hand) umgebucht werden.
b)
Entnahmen müssen umprogrammiert werden, dass immer erst die in Aufträgen "genannten" Chargenmengen "abgezogen" werden müssen, bei der Chargenfindung (Vorschlag).
Es ist relativ aufwendig, das so umzusetzen dass niemals irgendwer durch manuelle Entnahmen (im SAP) dieses umgehen kann.
Am sichersten ist also a) am Praxistauglichsten (je nach Menge/ Häufigkeit) ist im Zweifel b)
*... who can do field replacements in the debugger can do anything in the system
*so this check can not stop (him) anyway.