IMS DB-DLI System and Database Calls

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 -codeCall NameUsage
CHKP (Basic)Basic checkpointPrepares for recovery
CHKP (Symbolic)Symbolic checkpointPrepares for recovery. Specifies up to seven program areas to be saved
ICMDIssue CommandIssues an IMS command and retrieves the first command response segment
INITInitialize applicationReceives data availability and deadlock occurrence status codes and checks each PCB database for data availability
INQYInquiryReturns information and status codes about I/O or alternate PCB destination type, location, and session status
LOGbLogWrites a message to the system log
PCBbProgram Communication BlockSpecifies and schedules another PSB
RCMDRetrieve CommandRetrieves the second and subsequent command response segments resulting from an ICMD call
ROLBRoll backEliminates database updates and returns last message to i/o area
ROLLRollEliminates database updates
ROLSRoll back to SETSIssues call using name of DB PCB or i/o PCB and backs out database changes to SETS points
SETS/SETUSet a backout pointCancels all existing backout points and establishes as many as nine intermediate backout points
SYNCSynchronizationReleases locked resources and requests commit-point processing
TERMTerminateReleases a PSB so another can be scheduled to commit database changes
XRSTExtended restartSpecifies up to seven areas to be saved. Works with symbolic checkpoint to restart application program
DLI  Database Management Calls
CLSECloseCloses a GSAM database explicitly
DEQbDequeueReleases segments reserved by Q command code
DLETDeleteRemoves a segment and its dependents from the database
FLDFieldAccesses a field within a segment
GHNGet Hold NextRetrieves subsequent message segments
GHNPGet Hold Next in ParentRetrieves dependents sequentially
GHUGet Hold UniqueRetrieves segments and establishes a starting position in the database
GNbGet NextRetrieves subsequent message segments
GNPGet Hold Next in ParentRetrieves dependents sequentially
GUGet UniqueRetrieves segments and establishes a starting position in the database
ISRTInsertLoads and adds one or more segments to the database
OPENOpenOpens a GSAM database explicitly
POSPositionRetrieves the location of a specific dependent or last-inserted sequential dependent segment
REPLReplaceChanges values of one or more fields in a segment
RLSERelease Locks Releases all locks held for unmodified data

Related Posts

Author: Srini

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