Data passed to and captured by the Data Capture exit routine
Data is passed to Data Capture exit routines when an application program updates IMS with a DL/I insert, delete, or replace call. If the SSPCMD keyword is specified, this data will also include subset pointer command code (M, S, W, Z) updates as well the R command code (DEDB only).
This topic contains Product-sensitive Programming Interface information.
If the SSPCMD keyword is specified, data will also be captured for Get-type calls that update subset pointers. The R command code will be captured, too, if specified. Similarly, data is captured for non-updated segments of the specified path in insert or replace calls that update subset pointers.
If the INPOS keyword is specified and a non-unique segment is inserted with an ISRT rule of HERE, segment data is captured for the following twin, if it exists.
If a job name of a CCTL or ODBM address space is specified on the SUPPDCAPNAME= parameter in the DFSDFxxx member of the IMS PROCLIB data set, updates that are invoked by the specified job are not passed to the Data Capture exit routine.
Segment data passed to Data Capture exit routines is always physical data. When the update involves logical children, the data passed is physical data and the concatenated key of the logical parent segment. For segments that use the Segment Edit/Compression exit routine (DFSCMPX0), the data passed is expanded data.
When an application replaces a segment, both the existing and the replacement physical data are captured. In general, segment data is captured even if the application call does not change the data. However, for full-function databases, IMS compares the before and after data. If the data has not changed, IMS does not update the database or log the replace data. Because data is not replaced, Data Capture exit routines specified for that segment are not called and the data is not captured.
Data might be captured during replaces even if segment data does not change when:
- The application inserts a concatenation of a logical child and logical parent, IMS replaces the logical parent, and the parent data does not change.
- The application issues a replace for a segment in a DEDB database.
- If the SSPCMD keyword is specified, non-updated segments of the specified path that contain subset pointer updates (DEDB only).
In each case, IMS updates the database without comparing the before and after data, and therefore the data is captured even though it does not change.