System default for database versioning
When an application program does not specify a specific version of a versioned database, by default IMS returns data to the application program by using the version of the database definition (DBD) that is currently active in the IMS catalog. You can change the default so that IMS returns data by using version 0 of the DBD instead.
The IMS system default for which DBD version IMS uses is controlled by the DBLEVEL= parameter in the database section of the DFSDFxxx member of the IMS PROCLIB data set.
The IMS system default that is specified in the DFSDFxxx member can be overridden by specifying a DBLEVEL value in the definition of a program specification block (PSB) or by specifying a specific version number either in the definition of a program communication block (PCB) or in a DL/I INIT VERSION call that is issued by the application program.
Specify DBLEVEL=BASE to avoid changing existing application programs
- Their PSB to specify DBLEVEL=BASE to override the system default
- Their PCB to specify the version that they need on the DBVER parameter
- Their code to issue the INIT VERSION call at run time
Implications of DBLEVEL=BASE
When DBLEVEL=BASE is specified at the system level, the version 0 instance of the DBD for each versioned database must exist in the DBD record in the IMS catalog. If DBLEVEL=BASE is specified and an application program for which a version is not specified attempts to access a database that no longer has a version 0, the application program abends.
If application programs, tools, or products require the current structure of a physical IMS database when DBLEVEL=BASE is specified, override the system default by specifying DBLEVEL=CURR in the PSBs that the application programs, tools, or products use to access IMS databases.
Specify DBLEVEL=CURR if most of your application programs use the currently active database
Use DBLEVEL=CURR when most application programs are modified to use the current database structure, but a few application programs continue to require the structure of an older database version. For application programs that require the older version of a database, the required database version number can be specified on the DBVER= parameter of the PCB.
Data transformation processing for prior versions
Any time application programs requires data in a format defined by a DBD version other than the current, active DBD version, IMS must transform the data from the current format to the format required by the application program. Consequently, if you run with DBLEVEL=BASE or you have a significant number of application programs that use versions of the database other than the current, active version of the DBD, it could increase CPU usage.
When application programs use the current active version of a DBD, IMS does not perform any data transformation, because the data is returned to the application programs in the format in which it is stored on DASD.