Once the DL/I hierarchical data structures are converted into an Adabas file layout, the data may be moved to Adabas. The steps which are necessary to convert the data depend on the DBDs and user applications involved. The following table lists the necessary steps according to the different prerequisites:

This document covers the following topics:
The data conversion of a hierarchical structure with no logical relationship involved is quite simple. The data has to be unloaded with the ADL unload utilities and then loaded into an Adabas file, using standard Adabas utilities.
Two different operations are required in order to unload the data from the DL/I database. The first is to read the data and the second is to prepare it for the loading into Adabas.
ADL offers two different methods for performing these steps: an
         	  automated and a manual procedure. For the automated procedure, both steps are
         	  combined in the utility DAZUNDLI, while the manual procedure
         	  splits them up into two utilities, namely DAZUNLOD and
         	  DAZREFOR.
      
It is recommended to use the automated procedure as far as possible. There is no need to customize, assemble or link-edit the program, and no overhead caused by writing and reading the intermediate unload file as with the manual procedure.
Nevertheless, it can be advantageous to choose the manual procedure in
         	  some cases. One reason could be that the limited data editing capability of the
         	  automated procedure is not sufficient for your applications. Another reason
         	  could be that the DL/I system and the ADL nucleus (or Adabas) are not available
         	  at the same time. In this case you cannot use the automated procedure, because
         	  DAZUNDLI accesses both DL/I and ADL. On the DL/I side you have to
         	  use DAZUNLOD, which runs as a normal DL/I application program.
         	  Then move the intermediate unload file to the ADL / Adabas side and run it
         	  against DAZREFOR, which is a normal mode ADL application
         	  program.
      
Regardless of which method was used for unloading the data, it will be
         	  initially loaded into an Adabas file by using the Adabas utilities
         	  ADACMP and ADALOD (LOAD function). If no
         	  logical relationship is involved, then the data conversion process is finished
         	  with the ADALOD run.
      
If the database is involved in logical relationships, up to two further steps are required in addition to the unloading and the initial loading of the data. The first is the mass update for paired logical child segments and the second is the establishing of logical relationships.
The mass update is only required if the database is involved in
         	  bi-directional logical relationships and if the simplified or standard
         	  procedure is used to establish logical relationships. You may use the standard
         	  Adabas utilities ADACMP and ADALOD
         	  (UPDATE function) in order to perform the mass update.
      
To establish logical relationships, ADL offers four different
         	  procedures: Standard, Simplified, Special and Turbo. All of these procedures
         	  use the ADL utility DAZELORE. The differences between them are
         	  described in detail in the next section.
      
The Standard procedure can be used in any case, but it is the most time consuming procedure. On the other end, the Turbo procedure has the highest performance but also the most restrictions.
Thus you should use the Turbo procedure whenever possible, or when the Turbo procedure cannot be used, the Special procedure, then the Simplified. Only in cases which cannot be satisfied by any of these three procedures, use the Standard procedure.
As described in the section Conversion of the Data Structures - General Considerations in this documentation, a DL/I field can contain non-numeric data, even if it is defined as numeric. ADL will convert the DL/I field definition to a numeric Adabas field. During the loading of the data, Adabas will reject the non- numeric values, and thus the load fails.
The standardized ADL unload utility DAZUNDLI offers you a
         	  limited editing capability for such incorrect data. If you specify the
         	  MODE=CHECKNUM or the SEGM/FIELD parameters,
         	  all numeric fields or the specified numeric fields will be checked for valid
         	  contents. If ADL detects an incorrect value, a null value (zoned decimal or
         	  packed zero depending on the field type) is substituted.
      
If this limited data editing is not sufficient for you, the customized
         	  ADL unload utility DAZUNLOD may be used after modifying it as
         	  desired.
      
Nevertheless, to avoid all such failures during the load, you should consider adapting the DL/I field definitions prior to the conversion, as described in the section mentioned above.