The IMS Database Utility (IMSDBU) exits are available only in
Micro Focus COBOL development systems. They enable you to perform database functions, and consist of the following:
- Database Segment Exit
- The segment exit enables a user-written program to control segment selection and modify segment data during load and unload
processing. The exit program is called for each database segment. It can delete the segment, modify the segment data, or pass
it through unchanged. If a segment is deleted, all of its children segments are automatically deleted.
- Database Compression Exit
- The compression exit is used for the input file to the Load and the output file for Unload. It allows for segment compression
and/or encryption of the input or output files. It is not used for the data stored in the MFIMS database. A standard routine
named
CBLDCIMS is provided to decompress input and compress output files. A user-written program can perform different segment encoding.
- Database Progress Exit
- Controls the frequency of progress reporting during the execution of database functions.
- Invocation
- IMSDBU exits are invoked upon the execution of the IMSDBU Load and Unload functions by specifying the following directives:
- Example
- Enterprise Developer provides a sample file,
DBUPARMS.cpy that documents all three IMSDBU exits.
DBUPARMS.cpy is located by default in your
$COBDIR/demo/ims/examples
directory.
- Database User Program Exit
- This user exit (USERDB) serves two purposes:
- Set DB Catalog Database values
- Use USERDB to control some or all of your databases and/or settings. It serves as an alternative mechanism for setting the
DB Catalog Database Type value and other catalog settings during IMS execution. You can replace or augment settings defined
in the IMS System Properties DB Catalog defaults page and the callable IMS86GIO interface for catalog maintenance.
- Rreplace DL/I call processing
- You can also use USERDB to replace the DL/I call processing in IMS with your own program. For example, this exit could translate
a DL/I call into an SQL query, read an indexed file, or package the call and send it to another system. After processing the
call, the exit sets the PCB and I/O areas as if a DL/I call was made. This can be a complicated undertaking depending on the
complexity of the DL/I calls and database structures you process. You can select which databases you want to process and let
Enterprise Developer IMS support features process the others.
For detailed information about the USERDB exit, see the
userdb.txt and
userdb.cbl sample files located by default in your
$COBDIR/demo\Mainframe\IMS\Classic\Examples.