‎2008 Dec 03 8:00 AM
Hello All,
I have a requirement in which the user selects sales orders for updation from a report output and if any of those orders are locked by other users an error message is displayed for that order and the remaining orders are locked by the program using FM ENQUEUE_EVVBAKE so that no one can use that order.
The selected orders are then passed to another program using submit in which they are updated using call transaction.
I am unable to unlock the orders that have been locked in the first program so that they can be updated.
I appreciate your response in this regard.
Thanks in advance,
Ranjan
‎2008 Dec 03 8:03 AM
Hi ,
I think you can use the FM DEQUEUE_EVVBAKE to unlock it.
Regards,
Pooja
‎2008 Dec 03 8:07 AM
easiest way would be deque_all just before calling another program & again Enque imm in the second program.
‎2008 Dec 03 8:07 AM
‎2008 Dec 03 8:31 AM
Hello All,
I have used the FM DEQUEUE_EVVBAKE and DEQUEUE_ALL in the second program but it does not release the locks that have been set in the first program.
Is there a condition that the locks set by a program can be released on by that program.
To unlock the orders in the first program and lock them again in the second program , the second program is submitted via background job so there might be a delay before it gets triggered and there is a chance that some user can lock that order in this time gap so that it cannot be updated.
Many thanks in advance,
Ranjan
‎2008 Dec 03 8:36 AM
you can not deque from another program.
deque in first program just before calling second program.
‎2008 Dec 03 8:38 AM
Hi
Use update Function Modules type V1 or V2 so that they will be carrid to the update function modules where you can process further.
Please go through the SAP LUW concept for the detailes info
Regards
Ramchander Rao.K
‎2008 Dec 03 8:09 AM
Hello,
As you have used ENQUEUE_EVVBAKE in one program and want to do a dequeue process in another program you will need to do a DEQUEUE_EVVBAKE all in your other program as you do not know which value you have locked in other program. Dequeue all will unlock all the values. You can dequeue in Initialization event of the other program.
Thanks,
Jayant
‎2008 Dec 03 8:21 AM
I think if user are different, lock set by one user cannot be released by another using DEQUEUE_ALL.
Please check before implementing it.
Regards,
Mohaiyuddin