Der Beitrag ist zwar schon älter, aber ich denke vielleicht hilft es jemandem.
Man kann das Haken setzen bei "Termin u. Menge fix" auch automatisieren. Lösung mit Absagegrund ist nicht so toll, weil dann die Preisfindung etc. auch neu stattfindet, wenn man das Material wieder aktiviert.
Ich habe es so gelöst:
Einen Absagegrund ZZ definiert, der den Haken bei "Sperre Bedarfsübergabe" hat.
Im Userexit MV45AFZZ unter SAVE_DOCUMENT_PREPARE dann folgendes Coding einfügen:
Dort gibt es 2 Strukturen
VBAK-LIFSK (aktueller Wert) und YVBAK-FISK (ursprünglicher Wert) darüber lässt sich die Feldänderung feststellen. Somit kann man durch entfernen der Liefersperre dann auch den Haken wieder entfernen.
* wenn Liefersperre dann IMMER Bedarfssperre bzw. Termin Menge = Fix Haken setzen.
IF vbak-lifsk = 'ZZ'.
LOOP AT xvbap WHERE kwmeng GT 0 AND abgru EQ ' '.
xvbap-fixmg = 'X'.
MODIFY xvbap.
ENDLOOP.
* Wenn Liefersperre von ZZ zu irgendwas außer 'ZZ' geändert wird.
ELSEIF xvbak-lifsk NE 'ZZ' AND yvbak-lifsk = 'ZZ'.
LOOP AT xvbap WHERE fixmg EQ 'X' AND kwmeng GT 0 AND abgru EQ ' ' .
xvbap-fixmg = ' '.
MODIFY xvbap.
ENDLOOP.
ENDIF.