IMS DB-DLI System and Database Calls

Recently I worked on a IMSDB request. It involves checkpoint logic. In the check point logic ,after every chkpt, the work will be committed. Interestingly I found “SYNC” call with that we can commit the work.

As we all know, if job abends , it will restart from LAST check point. I found some of the calls useful here (Source: IBM Publib)

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

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.