The Release (RLSE) call is used to release all locks held for unmodified data. This is an explicit call to release the locked segment.
CALL ‘CBLTDLI’ USING RLSE
DB PCB -
- Database Program Control Block
- Specifies the DB PCB for the RLSE call.
- DB PCB will act as an input and output parameter.
- Known as Application Interface Block.
- Specifies the AIB for the call.
- AIB parameter is an input and output parameter.
- If AIB using in the RLSE call, all the below fields must be initialized in the AIB - AIBID, AIBLEN, AIBRSNM1, AIBOALEN.
I/O AREA -
- Known as Input-Output Area.
- Specifies the I/O area in RLSE Call.
- I/O Area parameter is an output parameter.
- If Replace calls completed successfully, IMS returns the requested segment in I/O area.
- If any path calls issued from the application program, the I/O area must be long enough to hold the longest path of concatenated segments.
- I/O area always contains left-justified segment data.
- The I/O area points to the first byte of this area.
- Known as Segment Search Arguments.
- Specifies to be used in the call.
- SSA parameter is an input parameter.
- The SSA supplies in the call to data areas in the application program where the SSA has been defined for the call.
- Up to 15 SSAs can be used in the parameter.
- SSA parameter is optional for the RLSE call.
The RLSE call to release all locks held for unmodified data that is owned by an application program. In another way, the RLSE call to release the locks held by the DB PCB that is referenced in the application program call.
If the lock is protecting resource updated, the lock will not be released. After the RLSE call, all database position information is lost in the application program. The RLSE call has to be issued using a DB PCB. The PCB cannot be an I/O PCB or an MSDB PCB.