‎2010 Jun 04 11:33 PM
In the docs I read:
>Remember in particular that setting too many shared locks without good reason can have a considerable effect on programs that work with database tables. If several programs running concurrently all set a shared lock for the same application object in the system, it can make it almost impossible to set an exclusive lock, since the program that needs to set that lock will be unable to find any time when there are no locks at all set for that object
Does this mean there is no lock queue?
RDBMS lock requests enter a queue: RRRRRWRRRRRWWRRRRRWRRWRWRW
so the only issue is how long you have to wait - not whether it is possible to get a lock
‎2010 Jun 24 8:35 AM
> >Remember in particular that setting too many shared locks without good reason can have a considerable effect on programs that work with database tables. If several programs running concurrently all set a shared lock for the same application object in the system, it can make it almost impossible to set an exclusive lock, since the program that needs to set that lock will be unable to find any time when there are no locks at all set for that object
FireBean500, please don't forget to indicate the references, that makes it easier to answer if we have the context.
So, your doc comes from:
[SAP Library - The SAP Lock Concept - Lock duration|http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4c5a79e11d1950f0000e82de14a/frameset.htm]
> Does this mean there is no lock queue?
> RDBMS lock requests enter a queue: RRRRRWRRRRRWWRRRRRWRRWRWRW
> so the only issue is how long you have to wait - not whether it is possible to get a lock
We use shared locks to keep SAP programs from getting exclusive locks, but I never found a situation where I had to use shared locks, I always used exclusive locks. Most of time, if lock can't be set, we usually make the program fail.
But we may find situations, especially parallel processing, where it is best to to wait for a few seconds in case lock fails. In that case we must program it ourselves (loop on ENQUEUE* function module and WAIT UP TO SECONDS statement).
We may also use the ENQUEUE* _WAIT parameter (5 attempts by default of 1 second wait each, see [Note 6822 - ENQUEUE WAIT does not wait for long enough|http://service.sap.com/sap/support/notes/6822] for more information)
‎2010 Jun 08 3:51 PM
There's no queue for sap locks.!!!!!
Read documentation about sap locks.!
‎2010 Jun 08 4:20 PM
I have
you can see the excerpt above that explains that seems to explain there is no queue
I know the functions are called ENQUEUE DEQUEUE
but I think that refers to the ability to aggregate locks to simplify application design
Are you saying there is a queue ?
‎2010 Jun 23 6:52 PM
certainly that refers to the ability to aggregate locks to simplify application design. But there is not a queue of locks..!
‎2010 Jun 24 8:35 AM
> >Remember in particular that setting too many shared locks without good reason can have a considerable effect on programs that work with database tables. If several programs running concurrently all set a shared lock for the same application object in the system, it can make it almost impossible to set an exclusive lock, since the program that needs to set that lock will be unable to find any time when there are no locks at all set for that object
FireBean500, please don't forget to indicate the references, that makes it easier to answer if we have the context.
So, your doc comes from:
[SAP Library - The SAP Lock Concept - Lock duration|http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4c5a79e11d1950f0000e82de14a/frameset.htm]
> Does this mean there is no lock queue?
> RDBMS lock requests enter a queue: RRRRRWRRRRRWWRRRRRWRRWRWRW
> so the only issue is how long you have to wait - not whether it is possible to get a lock
We use shared locks to keep SAP programs from getting exclusive locks, but I never found a situation where I had to use shared locks, I always used exclusive locks. Most of time, if lock can't be set, we usually make the program fail.
But we may find situations, especially parallel processing, where it is best to to wait for a few seconds in case lock fails. In that case we must program it ourselves (loop on ENQUEUE* function module and WAIT UP TO SECONDS statement).
We may also use the ENQUEUE* _WAIT parameter (5 attempts by default of 1 second wait each, see [Note 6822 - ENQUEUE WAIT does not wait for long enough|http://service.sap.com/sap/support/notes/6822] for more information)