DBD parameters for Data Capture exit routines

Using Data Capture exit routines requires specification of one or two DBD parameters and subsequent DBDGEN.

This topic contains Product-sensitive Programming Interface information.

The EXIT= parameter identifies which Data Capture exit routines will run against segments in a database. The VERSION= parameter records important information about the DBD for use by Data Capture exit routines.

The EXIT= parameter

To use the Data Capture exit routine, you must use the optional EXIT= parameter in the DBD statement or SEGM statement. You specify EXIT= on either the DBD or SEGM statements of physical database definitions.

Specifying EXIT= on the DBD statement applies a Data Capture exit routine to all segments within a database structure. Specifying EXIT= on the SEGM statement applies a Data Capture exit routine to only that segment type.

You can override Data Capture exit routines specified on the DBD statement by specifying EXIT= on a SEGM statement. EXIT=NONE on a SEGM statement cancels all Data Capture exit routines specified on the DBD statement for that segment type. A physical child does not inherit an EXIT= parameter specified on the SEGM statement of its physical parent.

If the job name for a CCTL or ODBM address space is specified on the SUPPDCAPNAME= parameter, which is in the DATABASE section of the DFSDFxxx member of the IMS PROCLIB data set, the exit routine is not called for data updates invoked by the specified job, even if a Data Capture exit routine is specified on the EXIT= parameter.

You can specify multiple Data Capture exit routines on a single DBD or SEGM statement. For example, you might code a DBD statement as:
DBD   EXIT=((EXIT1A),(EXIT1B))
The name of the Data Capture exit routine that you intend to use is the only required operand for the EXIT= parameter. Exit names can have a maximum of eight alphanumeric characters. For example, if you specify a Data Capture exit routine with the name EXITA on a SEGM statement in a database, the EXIT= parameter is coded as follows:
SEGM   EXIT=(EXITA,KEY,DATA,NOPATH,DLET,BEFORE,(CASCADE,KEY,DATA,NOPATH,DLET,BEFORE))

KEY, DATA, NOPATH, DLET, BEFORE, CASCADE, KEY, DATA, NOPATH, DLET, and BEFORE are default operands. These defaults define what data is captured by the exit routine when a segment is updated by an application program.

The VERSION= parameter

VERSION= is an optional parameter that supports Data Capture exit routines. VERSION= is specified on the DBD statement as:
VERSION='character string'
 
The maximum length of the character string is 255 bytes. You can use VERSION= to create a naming convention that denotes the database characteristics that affect the proper functioning of Data Capture exit routines. You might use VERSION= to flag DBDs containing logical relationships, or to indicate which data capture exit routines are defined on the DBD or SEGM statements. VERSION= might be coded as:
DBD   VERSION='DAL-&SYSDATE-&SYSTIME'
 
DAL, in this statement, tells you that Data Capture exit routine A is specified on the DBD statement (D), and that the database contains logical relationships (L). &SYSDATE and &SYSTIME tell you the date and time the DBD was generated.
If you do not specify a VERSION= parameter, DBDGEN generates a default 13-character date-time stamp. The default consists of an 8-byte date stamp and a 5-byte time stamp with the following format:
MM/DD/YYHH.MM
 
The default date-time stamp on VERSION= is identical to the DBDGEN date-time stamp.

VERSION= is passed as a variable length character string with a 2-byte length of the VERSION=, which does not include the length of the LL.