Recently I worked on an IMSDB request. It involves checkpoint logic. In the checkpoint logic, after every chkpt, the work will be committed.
Interestingly I found a “SYNC” call with that we can commit the work.
As we all know, if job abends, it will restart from the LAST checkpoint. I found some of the calls useful here (Source: IBM Public)
DLI System Calls | ||
Call -code | Call Name | Usage |
CHKP (Basic) | Basic checkpoint | Prepares for recovery |
CHKP (Symbolic) | Symbolic checkpoint | Prepares for recovery. Specifies up to seven program areas to be saved |
ICMD | Issue Command | Issues an IMS command and retrieves the first command response segment |
INIT | Initialize application | Receives data availability and deadlock occurrence status codes and checks each PCB database for data availability |
INQY | Inquiry | Returns information and status codes about I/O or alternate PCB destination type, location, and session status |
LOGb | Log | Writes a message to the system log |
PCBb | Program Communication Block | Specifies and schedules another PSB |
RCMD | Retrieve Command | Retrieves the second and subsequent command response segments resulting from an ICMD call |
ROLB | Roll back | Eliminates database updates and returns last message to i/o area |
ROLL | Roll | Eliminates database updates |
ROLS | Roll back to SETS | Issues call using name of DB PCB or i/o PCB and backs out database changes to SETS points |
SETS/SETU | Set a backout point | Cancels all existing backout points and establishes as many as nine intermediate backout points |
SYNC | Synchronization | Releases locked resources and requests commit-point processing |
TERM | Terminate | Releases a PSB so another can be scheduled to commit database changes |
XRST | Extended restart | Specifies up to seven areas to be saved. Works with symbolic checkpoint to restart application program |
DLI Database Management Calls | ||
CLSE | Close | Closes a GSAM database explicitly |
DEQb | Dequeue | Releases segments reserved by Q command code |
DLET | Delete | Removes a segment and its dependents from the database |
FLD | Field | Accesses a field within a segment |
GHN | Get Hold Next | Retrieves subsequent message segments |
GHNP | Get Hold Next in Parent | Retrieves dependents sequentially |
GHU | Get Hold Unique | Retrieves segments and establishes a starting position in the database |
GNb | Get Next | Retrieves subsequent message segments |
GNP | Get Hold Next in Parent | Retrieves dependents sequentially |
GU | Get Unique | Retrieves segments and establishes a starting position in the database |
ISRT | Insert | Loads and adds one or more segments to the database |
OPEN | Open | Opens a GSAM database explicitly |
POS | Position | Retrieves the location of a specific dependent or last-inserted sequential dependent segment |
REPL | Replace | Changes values of one or more fields in a segment |
RLSE | Release Locks | Releases all locks held for unmodified data |
Related Posts