Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Logical Locking
Logical Locking |
Dec-2008
Objectives
The participants will be able to:
Lock database records.
Create a lock object.
Recognize the automatic creation of the ENQUEUE and DEQUEUE function modules.
Logical Locking |
Dec-2008
Overview
Exit
Update
Academy Awards
Year
1994
Category
PIC
Winner
Forrest Gump
Notes
Critic
Ellen
Enter Name
Exit
Update
Academy Awards
Logical Locking |
Year
1994
Category
PIC
Winner
Forrest Gump
Notes
Critic
Mark
Enter Name
Dec-2008
Database
Table
ABAP
Program
Database Lock
Logical Lock
Logical Locking |
Dec-2008
Lock Objects
To use SAPs logical locking mechanism, you need to define a lock object.
A lock object is an ABAP Dictionary object.
ABAP
ABAP Dictionary
Dictionary
Primary
Table
YMOVIE
Logical Locking |
Lock
Object
Lock
Arguments
AAYEAR
CATEGORY
Dec-2008
ABAP
ABAP Dictionary
Dictionary
Primary
Lock
Table
Arguments
YMOVIE
Lock
Object
Logical Locking |
AAYEAR
CATEGORY
Dec-2008
Function Modules
CALL FUNCTION
ENQUEUE_EZ_YMOVIE
CALL FUNCTION
DEQUEUE_EZ_YMOVIE
EXPORTING
AAYEAR
EXPORTING
= YMOVIE-AAYEAR
CATEGORY = YMOVIECATEGORY
EXCEPTIONS
AAYEAR
= YMOVIE-AAYEAR
CATEGORY = YMOVIECATEGORY
EXCEPTIONS
FOREIGN_LOCK
=1
OTHERS
= 1.
SYSTEM_FAILURE = 2
OTHERS
= 3.
IF SY-SUBRC = 1.
MESSAGE E004.
ENDIF.
Logical Locking |
Dec-2008
ENDIF.
ENDMODULE.
MODULE UPDATE INPUT.
IF OKCODE = UPDA.
UPDATE YMOVIE.
* code to commit or rollback
PERFORM UNLOCK.
ENDIF.
ENDMODULE.
Logical Locking |
Dec-2008
Demonstration
Using lock objects for locking and unlocking data before and after database
updates.
Logical Locking |
Dec-2008
Practice
Using lock objects for locking and unlocking data before and after database
updates.
10
Logical Locking |
Dec-2008
Summary
Database locks on records are automatically created by the system. The system
releases a database lock at every database commit (i.e., at every screen
change).
Records are automatically unlocked at every screen change, we cannot rely on
database locks to prevent multiple users from editing the same record at the
same time in a multi-screen transaction.We can handle this problem with logical
locks.
To use SAPs logical locking mechanism, you need to define a lock object. When
you activate a lock object, the system automatically generates two function
modules: ENQUEUE_<lock object name> and DEQUEUE_<lock object
name> .
It is important to understand that logical locks do not create locks at the database
level. Logical locks are maintained through entries in a lock table.
Transaction SM12 will display the current entries in the lock table.
11
Logical Locking |
Dec-2008
Questions
Screen 9000
PROCESS AFTER INPUT.
MODULE END AT EXIT-COMMAND.
Screen 9001
PROCESS AFTER INPUT.
MODULE END AT EXIT-COMMAND.
Screen 9002
LEAVE TO SCREEN 0.
PROCESS AFTER INPUT.
ENDMODULE.
MODULE END.
12
Logical Locking |
Dec-2008