Explanation of "TABLE NOT LOADED" in a DBUTLTY LOAD
search cancel

Explanation of "TABLE NOT LOADED" in a DBUTLTY LOAD

book

Article ID: 50295

calendar_today

Updated On:

Products

Datacom Datacom/AD Datacom/DB

Issue/Introduction

Clients who support their applications often will copy data from their databases from one environment to another for testing or development activities, to report against older data, or for many other reasons. It is very easy to use the BACKUP command of the Datacom/DB DBUTLTY program to take a backup of the whole database. This backup data can then be loaded into the target environment with a single LOAD command. When using the Datacom/DB DBUTLTY program and the BACKUP command to take a backup of the whole database, and then loading the data from the backup file into the target environment, it is possible for one or more tables to not be loaded, and the job to produce a message "TABLE NOT LOADED". Why does this happen, and how can it be corrected?

Environment

  • Datacom/DB
  • Datacom/AD

Resolution

Here is an example report showing this error situation:

In this case, Table TBS was not loaded (Box A), although the input file shows there were 68,915 records. Looking at the description of these tables further, Table TBS was defined with Datacom ID 2 in the source system (Input Box B), but it was defined with Datacom ID 46 in the target system (Output Box C). As noted in the Datacom/DB DBUTLTY documentation for the LOAD command:

If you load data from a backup, the LOAD function restores the data only if the table IDs are identical when LOADID=YES (the default). LOADID=NO can be used to match on table names. LOADID=NO cannot be specified if:

    • URI=NO is specified or
    • Any table in the area was not defined to Datacom Datadictionary with RECOVERY=Y

REMAP= can be used to force matching on different table names. This feature is available only for areas that are loaded as URI.

In this situation, there are several alternatives to correct it. One or more of these should be considered in each circumstance, to use the best process for the given situation.

  1. Change the Datacom-ID for the target table in Datadictionary to match that of the source. This must be considered carefully, and all environments with this database definition queried to determine the cause for the mismatch. If a table is created without a Datacom-ID, when that definition is copied to PROD status, an ID will be assigned to it. If a database definition is migrated from one environment to another using Batch Transaction Generator (BTG) transaction, the Datacom-ID of that source will be propagated to all other environments during the DDUPDATE process. See "Changing the Datacom-ID" below for more information on making this change.
  2. To load this backup into the target environment and use the 3-character short Datacom-name instead of the Datacom-ID, you can use the LOADID=NO parameter as noted in the DBUTLTY comment above. This will match on the name and allow the load as usual. This should be seen as a temporary solution until the Datacom-ID can be corrected permanently, or when using a backup that has the wrong Datacom-ID.
  3. Use the EXTBKUP DBUTLTY function to extract the data from the backup file for the table that did not get loaded. This data can then be loaded into the target table by using the LOAD function (if a single-table area), or the MASSADD function (if this table is part of a multi-table area).

Changing the Datacom-ID

The Datacom-ID for the table is stored in the Datadictionary, and it is also present in the Database directory (CXX). This field can be changed using the online DDOL transaction, or through batch DDUPDATE transactions. In DDOL, the tables in a database can be displayed via the DISPLAY DATABASE databasename status command. Here is an example:

In this display, the column DB-Id contains the Datacom-ID of the table. Here, table PNC (DEMO-DEM-PNC) has the Datacom-ID of 006. This information should be checked for all environments in which this table/database is defined. To change it, type the "ATT" margin command in the line number for the occurrence on a display panel and press PF4 (PROCESS). Set the Datacom-ID to the new value and then press PF9 (APPLY). If there are no errors, Datadictionary displays the Attribute Display Panel with the message SUCCESSFUL ATTRIBUTE UPDATE. Proceed with your process to copy the definition to PROD status if necessary and then catalog it to the Directory (CXX).

To update this value in batch mode using DDUPDATE, you will need to use the following transactions:

-USR DATACOM-INSTALL,NEWUSER
-BTG TABLE,tablename(status)
3150 @@@ ###
-END

(Replace the @@@ with the 3-character Datacom short name, and ### with the desired Datacom-ID)
Run the necessary steps to copy the definition to PROD status if necessary and then catalog it to the Directory (CXX).

Additional Information

  • For more information about the DBUTLTY LOAD (with LOADID=NO), EXTBKUP and MASSADD functions, refer to the Datacom/DB DBUTLTY documentation for version 15.1
  • For more information about changing attributes or the batch process, refer to the documentation for the Datacom Datadictionary Online Reference or the Datacom Datadictionary Batch Reference for version 15.1:
  • As always, contact Broadcom support for Datacom if you have further questions.