Ich habe ein Sperrproblem...
Ich habe in meinem Programm ein paar Aufträge gesperrt.
Zur Bearbeitung entsperre ich sie mittels DEQUEUE_EVVBAKE.
Obwohl ich _synchron = 'X' setze, bekomme ich beim darauffolgenden BAPI-aufruf die Meldung "Beleg ist gesperrt".
Wenn ich ein WAIT UP TO 1 SECOND hinter den DEQUEUE setze, dann funktioniert's.
Wie kann das sein, dass das System nicht abwartet, bis der Beleg auch wirklich entsperrt wurde?
Laut Doku MUSS der Dequeue-Baustein warten...
mit welchem Wert für _SCOPE hast Du denn den ENQUEUE-FB aufgerufen?
Und nutzt Du irgendwo CALL FUNCTION ... IN UPDATE TASK?
Bei _SCOPE = 2 (default) geht dann die Sperre bei COMMIT WORK an den Verbucher über und wird vom Verbucher freigegeben, nachdem alle V1-Verbuchungs-FBs durch sind.