IMSDBU provides a special-purpose input file layout for loading databases. This file layout is created by the IMSDBU Unload function or by the IMSDBUV program. IMSDBUV is provided as COBOL source code and is installed in the source directory. You can transfer this program to your mainframe, compile, and run it to extract IMS/ESA segment data.
This special-purpose layout provides for simpler loading of the database. The physical characteristics of the file and data are stored in header and trailer records in the file. This includes items such as the placement of the segment name, segment data, and compression options. Loading a database with this format is as easy as naming the input file and using the LAYOUT(D) directive. For reference, the IMSDBU layout file is a variable length file to reduce storage requirements and file transfer times.
IMSDBU also supports a special purpose IBM layout. This is specified using the LAYOUT(I) directive and supports input files created using IMS/ESA DB Unload Utilities such as DFSURGU0. This layout sets the directive values SEGM(7), DATA(36), RECFM(V) and NOCOMPRESS. This layout honors delete byte settings in the input file and directs IMSDBU to skip over segments marked as deleted.
IMSDBU supports sequential input files using the LAYOUT(S) directive. This enables you to load an IMS database from an input file produced from COBOL program or downloaded from the mainframe using Drag and Drop as a sequential file.
IMSDBU supports generic layouts for the input load files using the LAYOUT(G) directive. The generic layout must contain the segment name and segment data in the same position of each record. It can be a fixed or variable length segment. A SEGM directive indicates the position of the segment name in the record area. A DATA directive indicates the starting position of the segment data. The segments in the file must be in hierarchical order, but do not have to be in key sequence.