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






