DBUTIL was the primary IMS database management tool in earlier Micro Focus products. This topic details the differences between DBUTIL and IMSDBU to assist you in migrating to IMSDBU.
DBUTIL's LOAD, UNLO, USEQ, MLOD and ZERO functions will continue to be supported, but will not be changed or enhanced.
DBUTIL runs as a BMP program and requires a PSB. It loads and unloads databases by issuing DL/I calls to a specific PCB. IMSDBU does not issue DL/I calls for its functions and does not require a PSB.
IMSDBU automatically performs a Zeroload of a database when processing a Load function. All existing database data is overlaid when performing a Load. IMSDBU does not allow adding to existing database data.
The DBUTIL Load function issues ISRT calls. It can be used to add segments to existing database data. However, care must be taken if any segments in the input file duplicate segments already in the database.
IMSDBU cannot add duplicate segment keys when loading a database. The Load function terminates if the input file contains duplicate segment keys for uniquely keyed segments. Termination occurs at the point the duplicate key is detected. Any calls made to this database will result in an AI status code until a successful load is performed.
DBUTIL ignores II status codes for the insert calls it issues. Position is established on that key value and processing continues with the next segment record. This was required by DBUTIL for loading logical relationships. IMSDBU is a much simpler utility for loading logical databases and does not have to rely on the DL/I II status code position rules.
IMSDBU can only operate on 'native' MFIMS database types. That is, it can only read and update single-user exclusive use databases or shared update Fileshare databases. It can read shared read-only databases for a database unload.
DBUTIL can load or unload User Exit Databases. DBUTIL can unload a Remote IMS database but cannot be used to load one.
IMSDBU requires the MFIMS Supervisor to be installed on the Fileshare Server. This is required for the Load, Unload, Reorganize, Ptrupdate, and Useq functions. IMSDBU functions require an exclusive database lock. No users can access a database while an IMSDBU function is being performed against it.
The Supervisor is not required by DBUTIL for Fileshare databases. DBUTIL does not require an exclusive lock of the database. This is not necessarily an advantage. Without an exclusive lock, another user may be able to update a database which is in the process of being loaded or reorganized. Also, without an exclusive database lock, more overhead is required to make database record level lock requests.
Loading databases containing logical children is very different between DBUTIL and IMSDBU. IMSDBU does not operate on databases defined as ACCESS=LOGICAL in the DBD. IMSDBU only operates on the physical databases which are referenced by a logical database. When downloading data from mainframe databases, always download the data from the physical databases and not the logical DBD.
The DBUTIL MLOD function is used to load Fast Path MSDB databases. IMSDBU does not require a special load function - its Load function will load MSDB databases. There is a difference between these functions in the format of the input data files.
For non-terminal related MSDB without LTERM keys, the DBUTIL MLOD input file is either a fixed or variable length record file with segment data starting in position 1. IMSDBU allows any format input file but requires the segment name in addition to the segment data. In IMSDBU, the input file for this kind of MSDB is the same as for other databases.
For all other MSDB types, the IMSDBU Load supports the input files used by the DBUTIL MLOD.