on 07-08-2008 8:01 AM
Is creating Lock objects,admin job or ABAPer job?
What is the ABAPer work regarding Lock objects?
Can ABAPer use the ENQUEUE and DEQUEUE function modules for locking and unlocking?
Hi Lalita,
Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
SAP Provide three type of Lock objects.
Read Lock(Shared Locked)
protects read access to an object. The read lock allows other transactions read access but not write access to
the locked area of the table
Write Lock(exclusive lock)
protects write access to an object. The write lock allows other transactions neither read nor write access to
the locked area of the table.
Enhanced write lock (exclusive lock without cumulating)
works like a write lock except that the enhanced write lock also protects from further accesses from the
same transaction.
You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
Technicaly:
When you create a lock object System automatically creat two function module.
1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
You have to use these function module in your program.
check this link for example.
http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
tables:vbak.
call function 'ENQUEUE_EZLOCK3'
exporting
mode_vbak = 'E'
mandt = sy-mandt
vbeln = vbak-vbeln
X_VBELN = ' '
_SCOPE = '2'
_WAIT = ' '
_COLLECT = ' '
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3
.
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
1. enque_lockobject
1. deque_lockobject
before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
GO TO SE11
Select the radio button "Lock object"..
Give the name starts with EZ or EY..
Example: EYTEST
Press Create button..
Give the short description..
Example: Lock object for table ZTABLE..
In the tables tab..Give the table name..
Example: ZTABLE
Save and generate..
Your lock object is now created..You can see the LOCK MODULES..
In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
Lock objects:
http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
Match Code Objects:
http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
See this link:
http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
Check these links -
If Found Help Full Do Reward.
Regards.
Eshwar.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you.
Lalitha.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Lalitha.
Answer 1: Locking can be done by an ABAP consultant.
Answer 2: An ABAP programmer has to follows important strategies:
1. Setting of Lock mode:
Status that determines whether a user has exclusive access to an object, or whether access is shared with other users.
The lock mode (either "Shared" or "Exclusive") is assigned to the tables of a lock object on definition.
2. Activation of lock object (Calling Function Modules):
Use of various function modules (ENQUEUE and DEQUEUE) to facilitate the locking and unlocking mechanisms.
I would like to show you some code where you can understand some basic locking and releasing mechanism for HR Infotype modifications :
tables:
pa0001.
data:
t_pa0001 like table of pa0001.
data:
fs_pa0001 like p0001.
parameters:
p_pernr like pa0001-pernr.
select single *
from pa0001
into corresponding fields of fs_pa0001
where pernr = p_pernr.
fs_pa0001-gsber = '1000'.
fs_pa0001-infty = '0001'.
call function 'BAPI_EMPLOYEE_ENQUEUE'
exporting
number = p_pernr.
call function 'HR_INFOTYPE_OPERATION'
exporting
infty = '0001'
number = p_pernr
* SUBTYPE =
* OBJECTID =
* LOCKINDICATOR =
validityend = '99991231'
validitybegin = '20080628'
* RECORDNUMBER =
record = fs_pa0001
operation = 'MOD'
* TCLAS = 'A'
* DIALOG_MODE = '0'
* NOCOMMIT =
* VIEW_IDENTIFIER =
* SECONDARY_RECORD =
* IMPORTING
* return = return
* KEY =
.
call function 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
call function 'BAPI_EMPLOYEE_DEQUEUE'
exporting
number = p_pernr.
Reward Points if you find this information usefull.
Regards
Harsh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hiii!
Creating lock objects is a job of ABAPer,
You can create your own lock object in se11
When the lock object is activated, the following function modules are generated from its definition:
ENQUEUE (set locks)
DEQUEUE (release locks)
These function modules can now be linked to ABAP programs.
Check out this link
http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
Reward points, if useful
Regards
Abhijeet Kulshreshtha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
yes this is the abaper job to create and use lock objects.
create it using SE11. and call it in the program using enque deque funciton.
reward if helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
Go through the link given below :
http://help.sap.com/saphelp_nw04/helpdata/en/41/7af4c5a79e11d1950f0000e82de14a/content.htm
Hope it will solve your problem.
Rewards Points if useful.
Thanks & Regards
Nikunj Shah
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes,ABAPer can create lock object thr' SE11 and can use DEQUEUE and ENQUEUE for locking and unlocking purpose.
Regards,
Aparna Gaikwad
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Lock objects are whole and sole responsibility of an Tech consultant.
Yes u have to use those Func modules that is the reason for you creating a lock object.
Raghav
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
106 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.