We are creating calling Asynchronous function module in the Delivery User Exist to create Invoice. Invoice creation needs to wait until delivery change is commited. For this purpose, we have placed ENQUEUE_SLEEP FM in the asynchronous FM with a wait time of 1 second. We have written a logic in such a way that ENQUEUE_SLEEP is called in a loop causing a delay of one second until delivery can be locked successfully.
But we cant let it wait for one second. Delivery should be locked as soon as delivery is committed in the main program. How can we achieve this in asynchronously called FM.