Object locking is an important part of any change management practice since it coordinates all of the efforts of the developer and prevents work from being overwritten. Quest® Stat® supports logical locking of objects in the Stat Repository, which means that the lock shows up in the Stat application, but developers can still go directly into their application environments and make changes to the object even if the lock on the object is not their lock. As long as the developers use a CSR to modify objects, the coordination of development is maintained.
Locks and reservations are issued to the developer assigned to the object, regardless of who actually requested the lock. That person may or may not be the assigned developer. This is a security measure determined by user class rights.
A lock indicates that the assigned developer has exclusive change/edit rights on the object. A reservation indicates that the object is currently locked by another developer and you are waiting for the object to become available. Once the object becomes available, Stat converts the reservation to a lock and notifies the holder of the new lock via email. Remember, the holder of the reservation is the developer assigned to the object in the CSR. If you request the lock but are not the assigned developer, you will not receive an email when the reservation turns into a lock.
When you associate an object with a CSR, Quest® Stat® automatically requests a lock for that object in the designated environments. Stat checks if there are existing locks or reservations on that object. If a lock or reservation exists, Stat issues a tentative reservation. If not, it issues a tentative lock. The lock or reservation remains tentative until you save the CSR.
Immediately after associating objects with a CSR, you should save your work. Upon saving, Stat checks for existing locks or reservations. If a lock or reservation exists, Stat issues a full reservation. If not, it issues a full lock.
The longer you wait to save your CSR, the greater the likelihood you will lose your place in the queue for that object. For example, while you have a tentative lock on an object, another user could add that same object to a CSR and receive a tentative reservation. If the second user then saves his or her CSR before you do, that user receives the full lock for that object, and when you save your CSR, you receive instead a full reservation.
The third phase is the conversion of reservations into locks. Stat releases an object lock when the status of the CSR changes to a closed-type status, or when the developer manually unlocks the object or the object is reassigned to another developer. After unlocking an object, the Stat Central Agent then determines if there are any pending reservations on the object. If reservations on the object have been given to more than one user, these reservations are handled in chronological order, based on the time each lock was requested. The Stat Central Agent converts the first reservation in line into a lock and performs any applicable object archiving.
Physical file locking works in conjunction with Stat logical locking. When set up appropriately, physical file locking prevents developers from modifying file objects that have not been locked in a CSR and assigned to them. Stat does this by allowing developers to modify only file objects that are in their working directory. Once a file is locked and assigned to a developer, the developer can only use Stat to migrate the file to their working directory as well as all source directories. This enforces that all changes to the file objects are documented and orchestrated through Stat.
Your system administrator defines the scope of the physical file locking. Source file locations for file types, specific users, as well as for entire environments can be excluded from physical locking.
Remember that objects are associated with CSRs as opposed to users. In order to lock, archive, or migrate an object, you must first associate it with a CSR. The modifications that you make to objects are still made in the Oracle Applications environment. Quest® Stat® simply provides tools that manage and track those changes.