LOAD (Build a Data Area)

This option reads an input data set and writes the data into a CA Datacom/DB data area. The Index Area (IXX) entries are updated to reflect the data being loaded.
datacom151
This option reads an input data set and writes the data into a
CA Datacom®/DB
data area. The Index Area (IXX) entries are updated to reflect the data being loaded. This function prepares the area for any subsequent data access request that is made through
CA Datacom®/DB
.
When to Use
Use the LOAD Data Area option to:
  • Restore a data area from a previous backup.
    Note:
    If you are using SQL to access data, restoring the areas of the DATA-DICT and Data Definition Directory (DDD) databases from current backups without restoring the Directory from a backup that is taken at the same time can result in loss of synchronization which is critical for SQL operations.
    If you are using
    CA Ideal™ for CA Datacom®
    , restore the Virtual Library System files from a backup that was taken at the same time as the backup of the Directory to assure synchronization. For details, see the
    CA Ideal™ for CA Datacom®
    .
    To retain synchronization, when restoring the Directory, perform forward recovery.
  • Convert to a Unique Row Identifier (URI) format.
  • Load a data area with data for a single table that is in EXTRACT (user) format. For more information, see EXTRACT (Extract Data Table).
  • Null load a data area (cause all the tables for this area to be marked usable, but empty) by loading one table with no input data.
  • Reorganize a data area into Native Key sequence by table.
Do not back up an Accounting Facility PRM table from one system and load it to another system.
Loading an Existing Area
LOAD always loads an entire area using whatever data you provide as input (if any). Any data that exists in the area when a LOAD is executed is overwritten by the utility.
Loading a New Area
Before a data area can be loaded, you must have initialized the data area once using the INIT function. You must also initialize any newly allocated Index Area (IXX). Do not reinitialize the Index Area when loading subsequent data areas in the database or previously created Index entries for the other areas are lost. When reloading an entire database, initializing the Index Area before performing the first data area LOAD generally speeds processing. A data area or Index Area need only be initialized once.
Loading a Database
When loading a database, take note of the following rules:
  • The SORT= option is required.
  • FORMAT must be BACKUP or NONE.
  • If BACKUP input is used, only one input file is supported.
  • An INIT of the index must precede the LOAD, but not necessarily in the same step.
  • All areas must be loaded as URI. The URI= keyword may not be set to NO.
Null Loading
If no data is required in any of the tables in the area before application task processing, all tables in the area can be prepared by performing a null load of the area (specify the parameter FORMAT=NONE). A null load is also useful to clear all tables in a data area. For example, you might design an application to store transactions for processing in tables in a data area.
The keyword FORMAT might have a new value of NONE_MU, only if MULTUSE=YES is also specified. This is only valuable if the area currently contains a large number of rows. For more information, see NONE_MU in the descriptions.
Once all transactions have been processed, a null load of the area is more efficient to clear all transactions than deleting each of the individual transactions. As part of null loading a data area,
CA Datacom®/DB
must search the Index for entries pointing to previous data in the area and delete. This deletion occurs more rapidly and completely if the SORT keyword value is 1.
Loading Special Rules with Database having a Multi-Dataset Index
A database with Multi-Dataset Index areas has special requirements including the following requirements:
  • SORT must be specified as greater than 0 (or FORMAT=NONE).
  • URI must be set to YES or allowed to default.
  • The database can have no table with RECOVERY NO as part of its definition.
Dynamic Extend during LOAD
If requirements are met, Dynamic extend of an index area or data area is attempted. If requirements are not met, dynamic extend is not attempted. The requirements are:
  • SORT must be specified as greater than 0 or FORMAT=NONE.
  • The URI option must be set to YES or allowed to default.
  • No table in the database can have a table with RECOVERY NO specified in its definition.
Loading from a Backup
If you are loading data from a backup, the LOAD function
only
restores the data if the table IDs are identical when LOADID=YES (the default). LOADID=NO can be used to match on table names. However, LOADID=NO cannot be specified if either URI=NO is specified or if any table in the area was not defined to
CA 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.
Loading areas that have been dynamically or manually extended require that the data set size reflect all tracks that previously existed. Load attempts made to an area not reflecting all extended tracks receive a return code 76 (009).
If you change the size of a row in an area that uses compression and use a backup that is taken before the change, the load fails if you do not specify the keyword MISMATCH=IGNORE. With MISMATCH=IGNORE specified, longer rows are truncated to the table row size in the Directory (CXX) and rows that are shorter are padded with blanks (hex 40s). Without MISMATCH=IGNORE specified, you receive message
DB13001E - UNEXPECTED RETURN CODE 21 (74)
when rows are longer than the CXX size, and message
DB13008E - INPUT RECORD LENGTH nnn DOES NOT MATCH THE TABLE ttt RECORD LENGTH nnn
when rows are shorter than the CXX size.
Reorganizing Data Areas
LOAD can also be used to reorganize the records in a data area into Native Key sequence. First obtain a backup using BACKUP SEQ=NATIVE, then provide this backup to the LOAD function. The data is reloaded in Native Key sequence.
Loading to Perform RECOVERY
LOAD is the first step in performing a recovery after a data area has become damaged. If you intend to perform forward recovery to bring the data up to date completely, the input to LOAD must generally be a backup that was created using SEQ=PHYSICAL and RECID=YES. For more information, see Back Up Data Area and RECOVERY (Rebuild a Database).
Sorting to Optimize Index Processing
The SORT option is highly recommended. The Index processing can execute more efficiently by waiting until the end of the load to establish reference points in the Index. The load time is usually improved significantly. If you use multiple load statements in a single step, place the largest sort value first.
Converting to URI
Before converting a data area to the Unique Row Identifier (URI) format, ensure that it is stable. Recovery Files made before the conversion cannot be used after the conversion.
When converting to URI, the backup supplied to the DBUTLTY LOAD must have been created with RECID=NO specified.
In a data area using URI, all tables must be defined in
CA Datacom® Datadictionary™
with the attribute RECOVERY=Y. When converting a data area to URI, if DBUTLTY LOAD encounters a table defined with RECOVERY=N, it loads the data area but the conversion to URI is not performed and issues the message: DB13040W - TABLE aaa LACKS RECOVERY INFO: AREA bbb PROCESS AS NON-URI.
Loading from a Sequential File
You can load a single table from preexisting data that contains the expanded image of the records. Such data can be created as a sequential file from an application program or can be created when the EXTRACT function of DBUTLTY is used. For more information, see EXTRACT (Extract Data Table). Indicate either form of input by using the FORMAT=EXTRACT parameter.
VSAM Input
CA Datacom®/DB
accepts VSAM input during the LOAD process.
CA Datacom®/DB
processes the data set specified in the DD statement as it would any data set.
User Compression
The LOAD function now can read either expanded or compressed input data and load it based upon the compression option specified in the Directory (CXX). If a RECID=YES backup is used to load compressed rows as uncompressed, an error is generated if any row on the backup cannot be placed into the same exact block from which it was backed up.
Loading Tables with Integrity Constraints
The LOAD
does not
verify any of the constraints at load time. It marks tables which may contain constraint violations as CHECK PENDING, a status which is reported on a Directory report. For information about how to verify integrity constraints and remove the CHECK PENDING status, see CONFIRM (Verify Constraint Integrity).
You must CONFIRM tables in the following order, from referenced-to-referencing, or parent-to-child. That is to say, the referenced table cannot be in check pending status. For example, if there is a foreign key from a REMARKS table to a LINE_ITEM table on PO_Nbr and Line_Item_Nbr, and the LINE_ITEM table has a foreign key that references the PO table on PO_Nbr, the PO table must be loaded first, then the LINE_ITEM table can be confirmed, then the REMARKS table can be confirmed. Therefore, the confirm order would be: from PO table to LINE_ITEM table to REMARKS table.
Data Validation
If the fields in a table being loaded are defined through SQL, or through
CA Datacom® Datadictionary™
with DBEDITS=Y, the data in the fields is validated. Fields defined as the following data types are checked:
  • Decimal
  • Float
  • Variable
  • Binary specified as SQL-DATE, SQL-TIME, or SQL-STMP
If invalid data is found for a field, the record is hex dumped and the load fails. There is no override to load invalid data. To load the table, you must correct the data or change the FIELD occurrence definition to DBEDITS=N.
Fields which have MIXED semantic type with DBEDITS=Y attribute-value are edited to ensure that every Shift-Out character is matched to a Shift-In character an even number of bytes away. This editing takes place only if the Directory is set for DBCS support mode with the DBUTLTY CXXMAINT function. See CXXMAINT ALTER DBCS (Activating DBCS Support) for more information.
Force Default Fields
Fields which are defined through
CA Datacom® Datadictionary™
with FORCEADD=Y or FORCEUPD=Y are not modified by the LOAD function.
Loading Multiple Tables Into a Data Area
The following are the options for initially loading multiple tables into an area.
LOAD/BACKUP Method
Load the first table using the LOAD function and back it up using the BACKUP function. Specify SEQ=NATIVE or SEQ=PHYSICAL. If SEQ=PHYSICAL is specified, RECID=NO must be entered. Load the next table and back it up. Continue to use the LOAD/BACKUP functions for each table you are loading. If the area is clustered, specify CLUSTER=DENSE for each load.
After completing the last BACKUP, concatenate the tables to create a single input file for the final LOAD and indicate FORMAT=BACKUP.
If any of these tables share a Native Key ID or if the area is clustered, then you must do one additional backup with SEQ=NATIVE, and then load it to cluster the tables. If the area is clustered, specify CLUSTER=SPARSE.
LOAD/MASSADD Method
Load the first table in the area using the LOAD function.
Then use the MASSADD function to load the other tables in the area. See MASSADD (Add Records to Table) for more details. Using this combination eliminates having to back up each table individually and having to concatenate the tables to create a single input source.
LOAD/REPLACE Method
Load the first table in the area using the LOAD function.
Use the REPLACE function to load the other tables in the area. For details, see REPLACE. Using this combination eliminates having to back up each table individually and having to concatenate the tables to create a single input source.
DBFLSUB Method
To initially load a multiple table area in fewer steps, create an application program that invokes the DBFLSUB subroutine to load multiple tables merged on Native Key IDs and then on Native Key values.
Adding a Table to a Data Area Not Using REPLACE
To add a table to an existing area that already contains one or more tables:
  1. Create a backup of the area using the BACKUP function. Specify SEQ=NATIVE or SEQ=PHYSICAL. If SEQ=PHYSICAL is specified, RECID=NO must be entered.
  2. Load the new table into the area with LOAD.
  3. Back up the area using BACKUP. Specify SEQ=NATIVE or SEQ=PHYSICAL. If SEQ=PHYSICAL is specified, RECID=NO must be entered.
  4. Concatenate the two BACKUP files into one LOAD operation.
  5. If any of these tables share a Native Key ID or if the area is clustered, then you must do one additional backup with SEQ=NATIVE, and then load it to cluster the tables. If the area is clustered, specify CLUSTER=SPARSE.
Successful Execution Requirements and Controls
Environmental
Requirements
when MULTUSE=NO, Simplify NO, or MUF down
  • The database may not be open for update anywhere.
  • The database may not be open in any MUF for read.
  • The database may not have any table in unloading status.
Environmental
Requirements
when MULTUSE=NO, Simplify YES, and MUF enabled
  • The database may be open for update but must have no users.
Environmental
Controls
when MULTUSE=NO, Simplify NO or MUF down
  • The database will be opened for update.
  • The utility has no knowledge about current ACCESS database or area status.
  • The utility sets no ACCESS database or area status.
Environmental
Controls
when MULTUSE=NO, Simplify YES and MUF enabled
  • The database will be opened for update if not already.
  • All areas will be closed if open.
  • The utility will execute with every ACCESS database or area status.
  • The utility sets protection to block other incompatible DBUTLTY functions.
Environmental
Requirements
when MULTUSE=YES
  • The database may or may not be open for update in the connected MUF.
  • The database may not be open for update in another MUF or Single User job.
  • The database may not have any table in unloading status.
  • The database ACCESS must be set OPTIMIZE and WRITE/UTLTY.
  • The area ACCESS must be set WRITE/UTLTY
  • The area may have no table in an open URT
  • The area may not have any other MULTUSE=YES utility executing
  • The area must be closed
  • When MULTUSE=YES, this function will not be allowed against a Data Sharing MUF if more than one is executing.
Environmental
Controls
when MULTUSE=YES
  • The database will be opened by MUF for update.
  • The utility sets ACCESS area OFF (utility set).
  • The utility sets LOAD executing this MUF this database or area.
How to Use
You can execute this command in either Single User or with the MUF active. Execute the LOAD function using the following command format.
►►─ LOAD ─ DBID=
n
,FORMAT= ─┬─ NONE ────────────┬─────────────────────► └─ BACKUP,DDNAME=
d
─┘ ►─┬────────────────────────────┬─┬───────────────────────┬──────────► └─ ,CLUSTER= ─┬─ SPARSE ◄ ─┬─┘ └─ ,INDEX= ─┬─ YES ◄ ─┬─┘ └─ DENSE ────┘ └─ NO ────┘ ►─┬───────────────┬─┬─────────────────────────┬─────────────────────► └─ ,KBYTES=
yyy
─┘ └─ ,LOADDUPS= ─┬─ NO ◄ ─┬─┘ └─ YES ──┘ ►─┬────────────────────────┬─┬─────────────────────────┬────────────► └─ ,LOADID= ─┬─ YES ◄ ─┬─┘ └─ ,OPTIMIZE= ─┬─ NO ◄ ─┬─┘ └─ NO ────┘ └─ YES ──┘ ┌─────────────────────┐ ►─┬─────────────────────────┬─▼─┬─────────────────┬─┴───────────────► └─ ,OPTION1= ─┬─ NOF ◄ ─┬─┘ └─ ,REMAP=
fffttt
─┘ ├─ '(I)' ─┤ └─ '(U)' ─┘ ►─┬─────────────────────────┬─┬─────────────────────┬─ ,SORT=
n
─────► └─ ,RESETRCE= ─┬─ NO ◄ ─┬─┘ └─ ,SLACK= ─┬─ 0 ◄ ─┬─┘ └─ YES ──┘ └─
nnn
─┘ ►─┬─────────────┬─┬─────────────┬─┬───────────┬─────────────────────► └─ ,SORTDD=
n
─┘ └─ ,SORTWK=
n
─┘ └─ ,UNIT=
c
─┘ ►─┬──────────────────────┬──────────────────────────────────────────►◄ └─ ,STATS= ─┬─ NO ◄ ─┬─┘ └─ YES ──┘ ►►─ LOAD ─ AREA=
a
,DBID=
n
,FORMAT= ─┬─ NONE ─────────────────────┬─────► ├─ NONE_MU ──────────────────┤ ├─ BACKUP,DDNAME=
d
──────────┤ ├─ EXTRACT,DDNAME=
d
,TABLE=
t
─┤ └─ VAR,DDNAME=
d
,TABLE=
t
─────┘ ►─┬────────────────────────────┬─┬───────────────────────┬──────────► └─ ,CLUSTER= ─┬─ SPARSE ◄ ─┬─┘ └─ ,INDEX= ─┬─ YES ◄ ─┬─┘ └─ DENSE ────┘ └─ NO ────┘ ►─┬───────────────┬─┬─────────────────────────┬─────────────────────► └─ ,KBYTES=
yyy
─┘ └─ ,LOADDUPS= ─┬─ NO ◄ ─┬─┘ └─ YES ──┘ ►─┬────────────────────────┬─┬──────────────────────────┬───────────► └─ ,LOADID= ─┬─ YES ◄ ─┬─┘ └─ ,LOADPTN= ─┬─ FAIL ◄ ─┬─┘ └─ NO ────┘ └─ SKIP ───┘ ►─┬───────────────────────────┬─┬────────────────────────┬──────────► └─ ,MISMATCH= ─┬─ FAIL ◄ ─┬─┘ └─ ,MULTUSE= ─┬─ NO ◄ ─┬─┘ └─ IGNORE ─┘ └─ YES ──┘ ►─┬─────────────────────────┬─┬─────────────────────────┬───────────► └─ ,OPTIMIZE= ─┬─ NO ◄ ─┬─┘ └─ ,OPTION1= ─┬─ NOF ◄ ─┬─┘ └─ YES ──┘ ├─ '(I)' ─┤ └─ '(U)' ─┘ ┌─────────────────────┐ ►─▼─┬─────────────────┬─┴─┬─────────────────────────┬───────────────► └─ ,REMAP=
fffttt
─┘ └─ ,RESETRCE= ─┬─ NO ◄ ─┬─┘ └─ YES ──┘ ►─┬─────────────────────┬─┬───────────┬─┬─────────────┬─────────────► └─ ,SLACK= ─┬─ 0 ◄ ─┬─┘ └─ ,SORT=
n
─┘ └─ ,SORTDD=
n
─┘ └─
nnn
─┘ ►─┬─────────────┬─┬───────────┬─┬──────────────────────┬────────────► └─ ,SORTWK=
n
─┘ └─ ,UNIT=
c
─┘ └─ ,STATS= ─┬─ NO ◄ ─┬─┘ └─ YES ──┘ ►─┬─────────────────────┬──┬─────────────────────────┬──────────────►◄ └─ ,URI= ─┬─ YES ◄ ─┬─┘ └─ ,SORTDFLT= ─┬─ NO ◄ ─┬─┘ └─ NO ────┘ └─ YES ──┘
Command
  • LOAD
    Invokes the function to build or restore an area.
Required Keywords
  • DBID=
    Identifies the database containing the area to be loaded. If you omit the optional AREA= keyword and use LOAD DBID=, you can do a load of a full database. For rules that apply, see the information about loading a database on Loading a Database.
    The LOAD works by opening all areas in the database, acquiring KBYTES for each area, and adding each input record to the correct area as required. The order of the input records is therefore not important. Beginning with Version 11.0, LOAD by DBID may require more GETVIS than was required in previous versions.
    • Valid Entries:
      DATACOM-ID of the database
    • Default Value:
      (No default)
  • ,DDNAME=
    Specifies the JCL DDname for the input data set.
    This parameter is not allowed if you specify FORMAT=NONE. This parameter is required when you specify any value other than NONE for FORMAT=.
    A DDNAME is not acceptable
    for sequential input or output files if it is a name reserved for a
    CA Datacom®
    area. Names with the following patterns are therefore not acceptable for DDNAME=:
  • 3-byte names that end with XX, meaning they are reserved as either current or future
    CA Datacom®
    control areas.
  • 6-byte names that end with what could be a database ID from 001 through 999.
    7-byte names that end with what could be a database ID from 1000 through 9999.
    The DDNAME= value is verified for acceptability to protect you from unintentionally causing data corruption. The DDNAME check is the default but optional. You can prevent the DDNAME check by using a DBSIDPR parameter (DBUTLTY_EDIT_DATA_SET=) for individual MUF environments. However, we recommend that you allow the DDNAME check.
    The data corruption risk involves not the DDNAME itself but the content of the data set. For example, suppose that you used the CXX DDNAME as the output of a backup. You then copied the CXX DD statement and changed the DDNAME of the copy to be acceptable, avoiding the DDNAME= error. The backup would, however, then overlay the CXX data set, which is not the intent of a backup.
    If you specify an unacceptable name for DDNAME=, message DB10059E is generated.
    We recommend that you allow DDNAME= check protection. You can, however, disable DDNAME= protection. To disable protection, assemble the DBSIDPR module used for this
    CA Datacom®
    environment and specify NONE for the DBUTLTY_EDIT_DATA_SET= parameter. The default is DBUTLTY_EDIT_DATA_SET=FULL_1, which allows DDNAME= protection.
    Specifies the device type for the input data set.
    This parameter is not allowed if you specify FORMAT=NONE. This parameter is required when you specify any value other than NONE for FORMAT=.
    DEVICE=VSAM specifies a VSAM cluster, accessed either directly or through a VSAM path. The other values specify physical sequential data sets.
    When DEVICE=TAPE is specified, the system logical unit (SYS) number must be 5 (SYS005).
    Use DEVICE=S
    nnn
    to specify a specific SYS number (for tape only).
    • Valid Entries:
      DISK, VSAM, TAPE, or S
      nnn
      (Certain values from previous versions are still accepted but are treated as DISK.)
    • Default Value:
      (No default)
  • ,FORMAT=
    Specifies the format of the input data.
    • BACKUP
      Indicates the data being read was created by using the BACKUP function of DBUTLTY.
    • EXTRACT
      Specifies that the data being loaded is expanded fixed-length images of the data records. Such data can have been created by an application program or when the EXTRACT function of DBUTLTY is used. This option requires the TABLE parameter to direct the data to the correct table.
      The block size of the input file cannot exceed 32K = 1 in z/VSE or the QSAM limit in z/OS.
    • NONE
      Specifies a null area load, no data being loaded. If the current index has entries for more than several hundred records, using SORT= with a value of 1 is recommended. As part of null loading a data area,
      CA Datacom®/DB
      must search the index for entries pointing to previous data in the area and delete those entries. This deletion occurs more rapidly and completely if SORT=1.
      If you specify FORMAT=NONE, do not specify the DDNAME= and TABLE= parameters.
    • NONE_MU
      The NONE_MU value is available only if MULTUSE=YES is also specified. Two actions occur in that combination of NONE_MU and MULTUSE=YES that are different than when MULTUSE=YES,FORMAT=NONE existed.
      • With multiple keys in the area being loaded, the step completes with less elapsed times based on the number of rows in the area.
      • Status messages, DB02873I and DB02874I,  are provided in MUF to show the status timeline of what needs to be done, is currently being done, and what else needs to happen.
      The long running DBUTLTY LOAD does more work in parallel in MUF by allocating additional tasks for this LOAD. One additional task is allocated for each unique key ID for a table in the area being loaded. Another task is allocated for internal key IDs that might exist within the database having index entries for the named area.
      If sufficient available tasks are not accessible, then this feature should not be requested with the FORMAT=NONE_MU. If there are not enough available tasks at execution time, all started tasks are subject to REQABORT and the DBUTLTY task ends with a new return code 85(005). The DBUTLTY must be re-executed when more tasks are available. No index tasks are needed until after the data area has been formatted without rows and must be repeated with the new execution.
    • VAR
      Indicates that the input data has the IBM variable-blocked format. This option is used to load variable-length data to be processed by the
      CA Datacom®
      VSAM Transparency and must be specified if the input is a VSAM file with variable-length records and you want to load directly to
      CA Datacom®/DB
      . The table must be defined with user compression. See the
      CA Datacom®
      VSAM Transparency user documentation for more information.
      The VAR option requires the TABLE parameter to direct the data to the correct table. The VAR option is needed only on the first load of an area with input that is IBM variable-blocked format. Thereafter, the BACKUP function produces a format that can be input to the LOAD using the FORMAT=BACKUP option.
      Valid Entries:
      BACKUP, EXTRACT, NONE, and VAR
      Default Value:
      (No default)
Optional Keywords
  • AREA=
    Identifies the area to be loaded. If you omit the AREA= keyword and use LOAD DBID=, you can do a load of a full database. For additional comments relating to a database level load, see the description of the DBID= keyword.
    • Valid Entries:
      DATACOM-NAME of the area in the database specified in the DBID= parameter
    • Default Value:
      (No default)
  • BLKSIZE=
    We do not recommend that you specify a BLKSIZE=, because this parameter is ignored. It is provided for compatibility with an earlier version of
    CA Datacom®/DB
    , because of the possibility that it may be part of previously specified JCL. If BLKSIZE is specified, it must be a number.
  • ,CLUSTER=
    Specifies whether the data is to be loaded sparsely with each cluster to its own data block(s) or densely with data packed in the next block location with no regard to cluster value.
    • DENSE
      Should only be used during the initial loads of a multi-table area to build the required format and sequence of the input records to load the clustered area correctly.
    • SPARSE
      Is required for normal clustering.
    • Valid Entries:
      DENSE or SPARSE
    • Default Value:
      SPARSE
  • ,INDEX=
    Specifies whether the data indexes are to be built. Specifying NO is only intended for use with forward recovery in cases where the total recovery time is expected to be better by doing no data index work until a RETIX function is issued after the recovery. The index must be and is built with correct URI and space information.
    • Valid Entries:
      NO or YES
    • Default Value:
      YES
  • ,KBYTES=
    nnnn
    Specifies the number of 1024-byte blocks of memory needed to build the buffers for
    CA Datacom®/DB
    .
    CA Datacom®/DB
    chain writes up to one cylinder of data buffers if sufficient memory is available. In general, providing buffers to contain 5-6 tracks of data is optimal. You can use the following formula to calculate the value for this parameter:
    blksize * #-of-blks-per-trk * #-trks * 2 / 1024
    Where:
    • blksize
      The data area block size. See the Directory (CXX) report for this value.
    • #-of-blks-per-trk
      Number of blocks that fits on a track for the specified device type. You can see the Directory (CXX) report for this value.
    • #-trks
      Number of tracks that the user desires to have written for each physical I/O. This need not exceed the number of tracks per cylinder.
    • 2
      For double buffering.
    • Example:
      A 4K block size on a 3390 device using two track writes:
      (4096 * 12 * 2 * 2 / 1024) = 192
    The value obtained should be rounded up to the next whole number. The maximum value cannot exceed 9999. Sufficient memory is required for these extra data buffers.
    If DEVICE=TAPE (either TAPE or the S
    nnn
    form), specifies whether tape labels are processed. We recommend that you always use labeled tapes.
    LABEL= has no effect when DEVICE=DISK.
  • ,LOADDUPS=
    Specifies whether to load duplicate Master or Unique Key values when the table is defined as having no duplicates. If
    CA Datacom®/DB
    encounters a duplicate value for a Master Key for a table defined with no duplicate Master Key or for a Unique Key,
    CA Datacom®/DB
    issues a return code 10 and aborts the run. If you specify YES for this parameter,
    CA Datacom®/DB
    accepts your override and loads the key values.
    CA Datacom®/DB
    produces a snap dump of the first 500 duplications. When MULTUSE=YES, the snap dumps are written to the MUF Statistics and Diagnostics Area (PXX).
    • Valid Entries:
      NO or YES
    • Default Value:
      NO
  • ,LOADID=
    (Applies to FORMAT=BACKUP)
    Specifies match on input row to a table in the area or database to be loaded using the table DATACOM-ID (YES) or the table DATACOM-NAME (NO). For a normal backup and load, this parameter is not important because the input row matches on both. However, when changing definitions between the backup and load, it is critical to a successful load. If changing table names or IDs, the matching allows flexibility. It may be necessary when backing up from one Directory (CXX) and loading into another.
    If the input or output is a record in a partitioned table, the parameter must be specified as LOADID=NO to force matching on name. The name to be matched is only the Full Parent name or an unpartitioned table name.
    If the table is a partition, a row can be rejected and not loaded if the partition value criteria does not match. How the utility handles the rejection is determined by the value set for the LOADPTN= parameter.
    For more information about table partitioning and the LOAD function, see The LOAD Utility.
    • Valid Entries:
      NO or YES
    • Default Value:
      YES
  • ,LOADPTN=
    Specifies how the utility handles a rejected row for a table partition. If it is set to SKIP, the row is ignored with no error condition. If it is set to FAIL, the row is dumped, and the utility function terminates.
    • Valid Entries:
      FAIL or SKIP
    • Default Value:
      FAIL
  • ,MISMATCH=
    Specifies whether to load records when the length of the records on the backup do not match the record size in the Directory (CXX).
    We strongly recommend that a backup be taken of the area to be loaded before using LOAD with MISMATCH=IGNORE, and that you exercise caution when executing a LOAD with MISMATCH=IGNORE. If an expanded row length exceeds the CXX table length and MISMATCH=IGNORE is specified, all data beyond the CXX length is truncated and therefore lost. If an expanded row length is less than the CXX table length and MISMATCH=IGNORE is specified, the balance of the expanded row is filled with spaces (hex 40s).
    • Valid Entries:
      FAIL or IGNORE
    • Default Value:
      FAIL
  • ,MULTUSE=
    (For area level DBUTLTY control only.)
    Specifying MULTUSE=YES allows a single area in a database to be loaded with no loss of read and update access to other areas in the database. When MULTUSE=YES, the function executes in a new format that is a combination of MUF and Single User modes. The database involved must be able to be opened for update in the MUF address space. The area must have no tables open. If the database is currently open,
    CA Datacom®/DB
    closes this area with the area close (you would need to close the area yourself
    only if
    the database is open and you need MUF to close it, so that any type of open data set lock can be released, which could be necessary in order to scratch and reallocate the data set). Once started, the function does not allow other tasks to open any tables in the area being processed. Other tables in the involved database, but not in the area, may be open for read or update in the same MUF. With MULTUSE=YES:
    • Area is first opened in MUF for the LOAD.
    • Area is also opened in Single User mode.
    • Data area processing occurs in the utility address space.
    • Key build/sort occurs in the utility address space.
    • Index load/merge occurs in MUF address space. Packages of index entries (about 32k bytes) are sent from utility to MUF.
    When MULTUSE=YES, the SORT= option must be specified but not as zero (0). The data area must currently be set to the URI format. This can be done with a data INIT or a previous LOAD using URI=YES. The keyword URI=NO may not be specified (the area may only be loaded in the URI format).
    When MULTUSE=NO is specified or is allowed to default, the function executes with all index and data area data sets in the user address space and the CXX in MUF if running Simplify and MUF is enabled or else the CXX in the DBUTLTY address space.
    For more information on area level control, see Area Level DBUTLTY Control.
    • Valid Entries:
      NO or YES
    • Default Value:
      NO
  • ,OPTIMIZE=
    Specifies whether the Index entry creation optimization option is to be used.
    • YES
      All Index entries are not to be completed until the load terminates. This option enhances performance by deferring Index pointer validation and complete Index structure update.
      OPTIMIZE=YES is ignored if MULTUSE=YES is also specified.
      When YES is selected, if this load fails for any reason, reinitialize the Index Area. If any other data areas are already loaded, re-create the Index entries using the RETIX function of DBUTLTY, or reload all areas. If you select YES, you must also specify a value in the SORT= parameter.
    • NO
      All Index entries are to be validated as they are created.
    • Valid Entries:
      NO or YES
    • Default Value:
      NO
  • ,OPTION1=
    Specifies the statistics display option to be passed to the sort program (see the SORT= parameter).
    • NOF
      Corresponds to the NOFLAG parameter of the IBM sort. Only critical messages are to be displayed on the console.
    • '(I)'
      Specifies that informational and critical messages are to be displayed on the printer and the console.
    • '(U)'
      Specifies that only critical messages are to be directed to both the printer and the console.
    NOF, '(I)', and '(U)' correspond to the SyncSort MSG options of CC, SC and CB respectively.
    This parameter also accepts any three-character (including the surrounding parentheses) FLAG parameter that can be processed by the IBM sort. See your IBM sort manual for details.
    • Valid Entries:
      NOF, '(I)', or '(U)'
    • Default Value:
      NOF
    Specifies the options for the associated sort/merge program application. The values for this keyword must be 44 characters or less and they must be enclosed in quotes. Depending on the features of your installation's sort, the values that apply to this keyword can vary. The system does not edit anything that you place inside of the quotes.
    • Valid Entries:
      Any values that your installation's sort allows, as described in the previous paragraph.
    • Default Value:
      CRITICAL for PRINT
      LOG for ROUTE
  • ,REMAP=
    fffttt
    (Applies to FORMAT=BACKUP, values are ignored by other formats.)
    When LOADID=NO is specified for matching input data to output tables based upon table name, REMAP= allows a table name to be remapped. This parameter allows you to load data when the table has been renamed between the backup and the load.
    To use REMAP=, specify six characters
    fffttt
    after REMAP=, where
    fff
    is the input table name (the
    from
    table on input) and
    ttt
    is the output or current Directory (CXX) name (the
    to
    table in the database ID that is being loaded).
    CA Datacom®
    takes the data records for the
    from
    table and loads them into the
    to
    table, effectively renaming the table.
    Message DB13022E can occur if the BACKUP used RECID=YES.
    • Valid Entries:
      six characters
      fffttt
      as previously described.
    • Default Value:
      (No default)
  • ,RESETRCE=
    (Applies to FORMAT=BACKUP, values are ignored by other formats.)
    When a table is defined with recovery, the Record Control Element (RCE) contains the Transaction Sequence Number (TSN) of the transaction that last did maintenance to a record.
    CA Datacom®/DB
    uses this information to know if secondary exclusive control is necessary on a record. The master transaction sequence number is stored and maintained in the Log Area. If you have multiple Log Areas that share in any context the updating of a data area (though obviously not at the same time), the master transaction sequence number must be in a different range or unnecessary waits may occur. Using RESETRCE can prevent this from happening.
    For example, if you have production and test systems using similar numbers through the Log Area, you could use RESETRCE to ensure that no waiting is done on the wrong transaction. Such as, if you had backed up production data, loaded it to the test system, and initialized the Log Area on a system, the transaction sequence numbers would be repeated on one system, resulting in possible waits on the wrong transaction. A backup and load with RESETRCE would prevent this condition, avoiding unnecessary waits.
    For EXTRACT input or when RESETRCE=YES is specified, the TSN is set to zero. Otherwise, the TSN is copied from the BACKUP record.
    If DEVICE=TAPE (either TAPE or the S
    nnn
    form), YES indicates that the tape is to be rewound before OPEN and after CLOSE. NO indicates no rewind before OPEN or after CLOSE. If omitted, the tape is rewound before the OPEN and rewound with unload after the CLOSE.
    REWIND= has no effect when DEVICE=DISK.
  • ,SLACK=
    Specifies the number of bytes to reserve in each data block for future expansion of records in that block, or for addition of records when using a space reclamation option. The number entered applies only to blocks loaded to an area during this execution of the LOAD function. Blocks not loaded with data use the SLACK value specified in the AREA definition in
    CA Datacom® Datadictionary™
    .
    • Valid Entries:
      A number that is less than the block size, up to a maximum of 9999.
    • Default Value:
      0
  • ,SORT=
    Activates the Index entry sort option.
    The SORT option is required when specifying the LOAD function for the full database, or if MULTUSE=YES. The SORT option is also required when running a DBUTLTY LOAD of a data area that includes any tables with a key larger than 180 bytes.
    When you specify a value greater than zero, no Index entries are created as the data is loaded. The required Index entries are sorted at the end of the data LOAD and are merged into the Index in ascending sequence. Selecting this option enhances the performance of the LOAD process for large databases.
    The SORT option is highly recommended when the number of records exceeds several hundred. The OPTION1= parameter is also highly recommended to obtain warning and critical messages if a problem occurs.
    To estimate the value to enter, multiply the number of keys in the table by the number of records to be sorted and add 30 percent. For example, if the table contains 2 keys and you are sorting 1000 records, the value you specify should be at least 2600. The value you specify is passed to the sort routine and can affect the amount of runtime used by the sort. If you use multiple load statements in a single step, place the largest sort value first.
    If a number is supplied to the sort, the Index entries in the Index Area (IXX) are not deleted by a separate Index pass. The Index Area is updated and only the Index blocks that reflect change are written.
    CA-SORT Users (with SORT generated with the CHECK option):
    In the event that duplicate Master Key records are found and LOADDUPS=NO,
    CA Datacom®/DB
    snaps the key value in error, and CA-SORT issues a message of the record counts being off and abends with a code of 16. The DB13001 message with a return code 10 is not issued.
    Do
    not
    specify over 99 million unless you verify that the sort package you are using allows a larger number.
    Specifying SORT=0 (or any number of zeros) is the same as not specifying the keyword.
    Many features introduced in previous releases require a non-zero value for SORT=, and the following two features available that are also blocked during LOAD or RETIX executions when the sort option is not being used are as follows:
    • On-demand dynamic extend of any data area or Index Area
    • Execution against a database with Multi-Dataset Indexes
    Most user-JCL is expected to already have a non-zero value for SORT= specified. If, however, a user has a LOAD or RETIX function coded in their JCL with SORT=0 specified or defaulted (SORT= not specified at all), this information is added to the history report, and the first time in each MUF execution that an area is opened in a database that has a LOAD or RETIX coded without the sort option, an informational message is generated. The message alerts you to the condition and can therefore help you know to first add the sort option, then see the results.
    A load with FORMAT=NONE (and either SORT=0 or SORT= not specified) is handled by DBUTLTY in a special, "simulated sort" manner and therefore does not require SORT= to be specified as a number greater than 0. For consistency, however, we recommended that SORT=1 be specified with FORMAT=NONE.
    Two messages related to using LOAD and RETIX without the sort option are messages DB02809I and DB13128E.
    • Valid Entries:
      0 to 99999999999
    • Default Value:
      (No default)
  • ,SORTDD=
    Specifies an optional DD statement, provided to the SORT that redirects SYSPRINT-type output from the SYSPRINT DD (used by DBUTLTY) to this optional DD statement.
    • Valid Entries:
      printed output directed to optional DD statement
    • Default Value:
      printed output directed to SYSPRINT, intermixed with DBUTLTY output
  • ,SORTDFLT=
    (z/OS only)
    Specify SORTDFLT=YES when you want the DBUTLTY SORT= value to be overridden with what is expected to be a more accurate number.
    SORTDFLT= can be set to YES or NO (the default). If SORTDFLT=YES, the SORT= value is required to be greater than zero.
    The SORTDFLT option has no equivalent in the DBFLSUB process.The keyword, SORTDFLT= allows the DBUTLTY SORT=value, when specified as greater than zero (0) for a LOAD, to be overridden with an estimate expected to be more accurate. SORTDFLT= can only be used in conjunction with the SORT= keyword. When set as SORTDFLT=YES, the LOAD looks for record counts in the control records of the BACKUP input or the current CXX to use for the SORT= override. If the count in both places is zero (no records) for all tables to be loaded, the SORT= value is used and not overwritten. Verify that it is in the appropriate range to allow a successful LOAD.
    The record count and the number of key definitions per table are multiplied for each table to be loaded and the products are summed as the estimate for record index entries. Based on the areas space management (DSOP) options, additional counts are added to verify a successful sort.
    When using this DBUTLTY LOAD enhancement, consider the following:
    The number of records in a table is not always known.
    The number of records in a table after a MUF outage is likely to be inaccurate.
    A backup taken before Version 12.0 does not include information regarding the record count.
    The backup with Version 12.0 or later has the count as stored in the CXX at the time of the backup.
    Extract files never have a count, because they have no control records.
    For each table, the record count in the BACKUP control record is used, if known and not zero, otherwise, the current CXX record count is used. Either could be more accurate.
    The record count information from BACKUP input is taken from the control records that exist before the first data record, and any use of concatenated input is inappropriate to using the SORTDFLT=YES option, for example, if a database has two areas and they are each backed up separately. That is, if the two backups are concatenated into one base load, the control records at the start of the first input provide information about the first area, but the control records for the second input are not seen until the first area is complete, which is therefore too late to use to start the SORT. The pairing of base backups with base loads and area backups with areas loads do not have this issue.
    Valid Entries:
    NO or YES
    Default Value:
    NO
  • ,SORTWK=
    Specifies the number of sort work areas.
    Do not specify a 2-digit number unless the sort package you are using allows a 2-digit number. Sort packages that do not support a 2-digit number can fail in an unpredictable manner, if you specify a 2-digit number.
  • ,STATS=
    Specifies whether compression statistics are to be computed and displayed.
    YES specifies to compute and print the compression statistics. Specifying YES when no tables are compressed significantly increases LOAD runtime. Only use YES to determine the space savings of compression.
    • Valid Entries:
      NO or YES
    • Default Value:
      NO
  • ,TABLE=
    Indicates a single table is to be loaded. This parameter is required when EXTRACT or VAR is specified for FORMAT. It cannot be specified when FORMAT=BACKUP or FORMAT=NONE.
    • Valid Entries:
      DATACOM-NAME of a table in the database and area being loaded
    • Default Value:
      (No default)
  • ,UNIT=
    Specifies the unit name for sort work areas. The parameter is always edited, but is only used when the SORT= parameter is specified as not zero.
    • Valid Entries:
      1- to 8-character unit name. UNIT of CART, TAPE, or VTAPE is not allowed for a LOAD of a data area that includes any tables with a key larger than 180 bytes.
    • Default Value:
      SYSDA
  • ,URI=
    Specifies whether to use URI record ID formats. The URI format is required for SQL access and for tables with unique keys. All tables in the area must be defined to
    CA Datacom® Datadictionary™
    with RECOVERY=Y.
    If you have defined the tables in this area with unique keys, you must specify URI=YES.
    When the backup being loaded was created with RECID=YES, DBUTLTY ignores this keyword and loads the data area using the record ID format of the backup.
    URI=NO may not be specified if MULTUSE=YES is specified. Allowing the code to run in the URI mode is highly recommended.
Example JCL
The following shows the command to load the DEM area in database 001 (writing to DEM001 data set), to estimate the number of keys to sort at 500, to allow no bytes of slack for record growth, to compute no compression stats, and to use the default buffer area. The data being read was created by a backup of the area DEM on tape or disk.
Use the following as a guide to prepare your JCL. The JCL statements are for example only. Lowercase letters in a statement indicate a value you must supply. Code all statements to your site and installation standards.
//jobname See the previous note and
JCL Requirements
.
// EXEC PGM=DBUTLTY,REGION=2M //STEPLIB See the previous note and
JCL Requirements
.
//CXX DD DSN=cxx.data.set,DISP=SHR Directory data set //BACKDEM DD DSN=input Input data set //* //*
NOTE: The following sort work allocations are not
//*
required if your sort package can dynamically
//*
allocate sort work areas. Be sure to provide
//*
sufficient space for all keys to be sorted.
//* //SORTWK01 DD UNIT=disk,SPACE=(alctyp,(prim,scnd)) //SORTWK02 DD UNIT=disk,SPACE=(alctyp,(prim,scnd)) //SORTWK03 DD UNIT=disk,SPACE=(alctyp,(prim,scnd)) //SYSIN DD * Command Input LOAD AREA=DEM,DBID=1,FORMAT=BACKUP,CLUSTER=DENSE, DDNAME=BACKDEM,LOADDUPS=NO,OPTIMIZE=YES,SORT=500 /*
Sample Report
Following is a sample report page. For an example report header, see Sample Report Headers.
Sample Report LOAD Data Area
CONTROL CARD(S) .........1.........2.........3.........4.........5.........6.........7.........8 LOAD AREA=DEM,DBID=1,FORMAT=BACKUP,CLUSTER=DENSE, DDNAME=BACKDEM,LOADDUPS=NO,OPTIMIZE=YES,SORT=500 FUNCTION=LOAD AREA=DEM CLUSTER=DENSE DBID=1 DDNAME=BACKDEM FORMAT=BACKUP LOADDUPS=NO OPTIMIZE=YES SORT=00000500
This page of the report shows the following:
  • The command exactly as entered.
  • An analysis of keywords encountered and expected. Any errors found are flagged with a note in the left margin.
  • Any messages related to syntax processing.
BACKUP FILE INFORMATION JOBNAME RUN UNIT DATE TIME CXXNAME DBID SEQ RECID AREA DBDVL 56,377 5/25/2003 16.26.35 PRODCXX 1 PHY NO DEM INPUT FILE INFORMATION OUTPUT TABLE INFORMATION AREA TABLE ID RECORDS AREA TABLE ID RECORDS NOTES DEM PNC 6 5 DEM PNC 6 5 DEM PNM 5 3 DEM PNM 5 3 DEM POH 3 5 DEM POH 3 5 DEM POL 4 4 DEM POL 4 4 OUTPUT AREA INFORMATION TOTAL USED TOTAL USED PCNT AVG BLOCKS BLOCKS TOTAL AREA TRACKS TRACKS BLOCKS BLOCKS FULL SLACK EXPANDED COMPRESSED RECORDS DEM 2 1 62 2 3 503 N/A N/A 17 This page of the report shows the following:
This page of the report shows the BACKUP FILE INFORMATION that consists of the following:
  • Job name used to produce the backup
  • The backup job's run unit number
  • The date and time the backup job was executed
  • The CXX name
  • The database ID
  • The sequence option
  • The record ID option of the backed up information
  • The area name provided to the backup. If the input to the LOAD function was a backup produced by
    CA Datacom®/DB
    Version 8.0, the literal "8.0" is printed instead of an area name.
The BACKUP FILE INFORMATION is optional and variable. It is optional in that it is produced only if FORMAT=BACKUP is specified in the LOAD function statement and the input was produced by the
CA Datacom®/DB
Utility (DBUTLTY) BACKUP function. It is variable in that if more than one BACKUP output is provided to the LOAD, each has its control information reported.
Normally one backup is input to the LOAD utility, however this is not always true. MVS users sometimes concatenate input files or use the JCL MOD option when producing a backup. Users in all systems sometimes SORT or MERGE backup files to a single file. These functions are normally done when moving tables among different areas for performance or clustering reasons.
If this section is present, after it will, if necessary, occur the message
DB13012E INSUFFICIENT SPACE IN aaa AREA
or the message
DB13014 DATA RECORD(S) LOADED WITH DUPLICATE MASTER KEY.
The messages
DB13015W DATA LOADED WITHOUT REORGANIZATION
and
DB13024I DATA LOADED WITH REORGANIZATION
that were printed in prior versions are no longer printed. A backup input with sequence of PHYSICAL and record ID of YES are non-reorganizing. All others reorganize.
BACKUP FILE INFORMATION JOBNAME RUN UNIT DATE TIME CXXNAME DBID SEQ RECID AREA DBDVL 56,377 5/25/2003 16.26.35 PRODCXX 1 PHY NO DEM INPUT FILE INFORMATION OUTPUT TABLE INFORMATION AREA TABLE ID RECORDS AREA TABLE ID RECORDS NOTES DEM PNC 6 5 DEM PNC 6 5 DEM PNM 5 3 DEM PNM 5 3 DEM POH 3 5 DEM POH 3 5 DEM POL 4 4 DEM POL 4 4 OUTPUT AREA INFORMATION TOTAL USED TOTAL USED PCNT AVG BLOCKS BLOCKS TOTAL AREA TRACKS TRACKS BLOCKS BLOCKS FULL SLACK EXPANDED COMPRESSED RECORDS DEM 2 1 62 2 3 503 N/A N/A 17
This page of the report shows the following:
  • INPUT FILE INFORMATION
    This set of columns has a line for each unique table ID of input records. This part prints the area name, table name, table ID, and number of records.
    For partitioned tables, provides the partitioned table name and the Full Parent table name.
    For a given table loaded, if input records existed, they are reflected on the same line as the output table. If input records were found for a table not being loaded, then they are printed on separate lines with a note of TABLE ID NOT LOADED. These records were read by the LOAD utility but are ignored.
    This section for input records only has information printed if the input was from execution of the BACKUP utility function. Extract data or DBFLSUB exit data does not have this information. Records for a single table ID could be input from multiple original backups. All of these records are loaded, however, if the table name or area name from the input stream is different, the name printed on the report for these records is three question marks (???). This does not mean that an error exists, but that the records came from different sources with different area or table names.
    If a table is loaded with zero records, and if the input also reflects the table and zero records, a note of TABLE EXCL OR NOT INCL prints, if the table was excluded, or if an include was done but not for this table. If the note is blank, the table had no records at the time of the backup.
  • OUTPUT TABLE INFORMATION
    This set of columns has a line per table loaded with the area name, the table name, the table ID, and the number of records.
    For partitioned tables, provides the partitioned table name and the Full Parent table name. For sample reports showing partitioning in OUTPUT TABLE INFORMATION, see Sample Report (Full Load with Partitioning) and Sample Report (Area Load with Partitioning).
    The following information is provided under NOTES on the load report when tables are partitioned:
    • SKIPPED
      Indicates record(s) from this table are to be skipped (not loaded) because they do not meet any of the range criteria for any tables in this partition.
    • TABLE NOT LOADED
      Indicates the table was not loaded.
  • OUTPUT AREA INFORMATION
    This set of columns displays the area name, total tracks, used tracks, total blocks, used blocks, percent full, average slack, blocks expanded, blocks compressed, and total records for the area loaded.
    The used tracks, used blocks, and percent full reflect high-water marks. If slack space allows for records to be added, or if the backup was physical with record IDs then additional space may exist in this area for record additions. CXX reporting reflects embedded free space. The blocks expanded and blocks compressed require additional CPU time to build and maintain and are requested using the STATS parameter for the load. If STATS are not requested, N/A is printed in these columns.
Sample Report (Full Load with Partitioning)
Following is an example in which the AREA= keyword has not been specified, making this an example of a full database load. It is also an example of a full database load from a database with no partitioned tables in it (DBID 789 in the example) to a database with partitioned tables in it (DBID 997 in the example).
Assume that the INIT of the index, that must precede a full database LOAD, has already been done and was reported on pages one and two (the example therefore begins on page three).
CONTROL CARD(S) .........1.........2.........3.........4.........5.........6.........7.........8 LOAD DBID=997,DDNAME=BACKUP,FORMAT=BACKUP, SORT=100,LOADID=NO FUNCTION=LOAD DBID=00997 DDNAME=BACKUP FORMAT=BACKUP LOADID=NO SORT=000000100
This page of the report shows the following:
  • The command exactly as entered.
  • An analysis of keywords encountered and expected. Any errors found are flagged with a note in the left margin.
  • Any messages related to syntax processing.
BACKUP FILE INFORMATION JOBNAME RUN UNIT DATE TIME CXXNAME DBID SEQ RECID AREA JOB001 31,048 mm/dd/ccyy hh.mm.ss PRODCXX 789 NAT NO INPUT FILE INFORMATION OUTPUT TABLE INFORMATION AREA TABLE ID RECORDS AREA TABLE ID RECORDS NOTES AK1 K11-K01 110 0 AK2 K12-K01 111 0 AK3 K13-K01 112 0 A01 C01 101 99 A11 C11-C01 102 9 A12 C12-C01 103 0 A13 C13-C01 104 90 A01 C02 102 99 A21 C21-C02 106 10 A22 C22-C02 107 10 A23 C23-C02 108 79 A01 F01 103 99 TABLE NOT LOADED A01 F02 104 99 TABLE NOT LOADED A01 F03 105 0 TABLE NOT LOADED A01 RNA 106 0 TABLE NOT LOADED A01 RNB 107 0 TABLE NOT LOADED OUTPUT AREA INFORMATION TOTAL USED TOTAL USED PCNT AVG BLOCKS BLOCKS TOTAL AREA TRACKS TRACKS BLOCKS BLOCKS FULL SLACK EXPANDED COMPRESSED RECORDS AK1 8 1 96 2 2 4,094 N/A N/A 0 AK2 8 1 96 2 2 4,094 N/A N/A 0 AK3 8 1 96 2 2 4,094 N/A N/A 0 A11 5 1 60 2 3 4,094 N/A N/A 9 A12 5 1 60 2 3 4,094 N/A N/A 0 A13 5 1 60 5 8 62 N/A N/A 90 A21 5 1 60 3 5 3,454 N/A N/A 10 A22 5 1 60 3 5 3,445 N/A N/A 10 A23 5 1 60 4 6 2 N/A N/A 79
This page of the report shows the following:
  • BACKUP FILE INFORMATION
    For a description of the BACKUP FILE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
  • INPUT FILE INFORMATION
    For a description of the INPUT FILE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
  • OUTPUT TABLE INFORMATION
    For a description of the OUTPUT TABLE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
    This sample OUTPUT TABLE INFORMATION shows partitioning.
  • OUTPUT AREA INFORMATION
    For a description of the OUTPUT AREA INFORMATION, see the explanation following Sample Report: LOAD Data Area.
Sample Report (Area Load with Partitioning)
Following is an example of an area level load of a database with no partitioned tables in it (DBID 789 in the sample) into a database that has partitioned tables in it (DBID 997 in the sample).
AREA=A11 was specified, and the previous example (showing a full load of database 997) lists area A11 as containing only 9 records. This example therefore shows 9 records (rows) having been loaded and 90 skipped (LOADPTN=SKIP was chosen).
CONTROL CARD(S) .........1.........2.........3.........4.........5.........6.........7.........8 LOAD DBID=997,DDNAME=BACKUP,FORMAT=BACKUP, SORT=100,LOADID=NO,LOADPTN=SKIP,AREA=A11 FUNCTION=LOAD AREA=A11 DBID=00997 DDNAME=BACKUP FORMAT=BACKUP LOADID=NO LOADPTN=SKIP SORT=000000100
This page of the report shows the following:
  • The command exactly as entered.
  • An analysis of keywords encountered and expected. Any errors found are flagged with a note in the left margin.
  • Any messages related to syntax processing.
BACKUP FILE INFORMATION JOBNAME RUN UNIT DATE TIME CXXNAME DBID SEQ RECID AREA JOB002 31,048 mm/dd/ccyy hh.mm.ss PRODCXX 789 NAT NO INPUT FILE INFORMATION OUTPUT TABLE INFORMATION AREA TABLE ID RECORDS AREA TABLE ID RECORDS NOTES A01 C01 101 99 A11 C11-C01 102 9 SKIPPED A01 C02 102 99 TABLE NOT LOADED A01 F01 103 99 TABLE NOT LOADED A01 F02 104 99 TABLE NOT LOADED A01 F03 105 0 TABLE NOT LOADED A01 RNA 106 0 TABLE NOT LOADED A01 RNB 107 0 TABLE NOT LOADED OUTPUT AREA INFORMATION TOTAL USED TOTAL USED PCNT AVG BLOCKS BLOCKS TOTAL AREA TRACKS TRACKS BLOCKS BLOCKS FULL SLACK EXPANDED COMPRESSED RECORDS A11 5 1 60 2 3 4,094 N/A N/A 9 90 RECDS SKIPPED
This page of the report shows the following:
  • BACKUP FILE INFORMATION
    For a description of the BACKUP FILE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
  • INPUT FILE INFORMATION
    For a description of the INPUT FILE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
  • OUTPUT TABLE INFORMATION
    For a description of the OUTPUT TABLE INFORMATION, see the explanation following Sample Report: LOAD Data Area.
    This sample OUTPUT TABLE INFORMATION shows partitioning.
    The following information is provided under NOTES on the load report when tables are partitioned:
    • SKIPPED
      Indicates record(s) from this table are to be skipped (not loaded) because they do not meet any of the range criteria for any tables in this partition.
    • TABLE NOT LOADED
      Indicates the table was not loaded.
  • OUTPUT AREA INFORMATION
    For a description of the OUTPUT AREA INFORMATION, see the explanation following Sample Report: LOAD Data Area.
SORTDFLT=YES Report Section for LOAD
If SORDTDFLT= YES, an additional section to the LOAD report is added after the optional BACKUP INFORMATION section, if present, and before the INPUT FILE INFORMATION section. The heading of the new section is SORTDFLT INFORMATION. After the heading, one line is printed for each table to be loaded.
The line after the SORTDFLT INFORMATION heading contains the following:
  • Table name and ID
  • Record count from the BACKUP control record for the table - The number is set as 0 if there is no input, extract input, or backup taken prior to Version 12.0. For a Version 12.0 backup, it is the count in the CXX at the time of the backup and might or might not be accurate.
    This report section occurs at the time the first data row is read from the input. Only the control information available at this time is reported. The use of concatenated input with additional control information is subject to the INPUT FILE INFORMATION section but not the SORTDFLT INFORMATION section.
  • Record count from the current CXX
  • Count of key definitions for the table
  • Estimated count of keys to sort using the backup count if the count is not zero, else the Directory count.
The next line starting with *DSOP is the count of index entries possible based on the data space options for the areas being loaded. If the estimated count of keys from the record input is all zeros then the *DSOP value is not added into the total and the override does not occur.
Following the *DSOP line is TOTAL and provides the sum of the key estimates from the SORTDFLT INFORMATION. It also provides information about what is overriding the SORT= keyword.
If the keyword FORMAT= is set to NONE, the sort value is set to one. If the keyword FORMAT= is not set to NONE, in the case where the record counts are all zero,
CA Datacom®/DB
has no information to use for estimating the value of keys to be sorted. In this case, the SORT= value is not overridden. Estimate the values of the keyword SORT= with as much accuracy as possible.
The values are necessary for the sort to estimate the workspace needed and the technique to be used.
If the record counts are significantly incorrect but not zero, the sort uses the estimates as they exist. If the LOAD fails because of low sort count issues, change the JCL to provide a more accurate SORT= value then rerun the LOAD without using the SORTDFLT= keyword.
Example
For this example, database 2 was used. The first statement is a RETIX with KEYNAME=*SETR which recounts the records in the area; it was used only to ensure the counts were accurate in the example and is not intended for normal use.
RETIX AREA=DD1,DBID=2,KEYNAME=*SETR COMM OPTION=CLOSE,DBID=2 REPORT AREA=CXX,DBID=2,TYPE=A BACKUP DBID=2,SEQ=NAT,DDNAME=Y INIT DBID=2,AREA=IXX LOAD DBID=2,FORMAT=BACKUP,DDNAME=Y,SORT=99999,SORTDFLT=YES, OPTION1='(I)'
The resulting output is as follows:
BACKUP FILE INFORMATION JOBNAME RUN UNIT DATE TIME CXXNAME DBID SEQ RECID AREA DBDVL 2,812 8/30/2009 09.52.00 DBDVM0 2 NAT NO SORTDFLT INFORMATION TABLE ID BACKUP DIRECTORY KEYS ESTIMATE AGR 17 333 333 8 2,664 ALS 9 1,857 1,857 3 5,571 ARA 2 48 48 3 144 ATZ 24 7 7 2 14 BAS 1 23 23 5 115 DVW 40 70 70 2 140 ELM 7 580 580 5 2,900 FCN 29 0 0 3 0 FIL 3 86 86 2 172 FLD 5 14,557 14,557 10 145,570 HSD 123 196 196 1 196 JOB 27 0 0 2 0 KEY 6 702 702 12 8,424 KWC 8 30 30 9 270 LIB 56 0 0 2 0 MEM 12 0 0 2 0 MOD 23 0 0 2 0 NOD 13 0 0 3 0 PCV 20 0 0 2 0 PER 25 2 2 2 4 PGM 22 0 0 2 0 PLN 15 0 0 3 0 PNL 14 0 0 2 0 PRC 4 0 0 3 0 PRT 18 0 0 2 0 REL 11 2,634 2,634 7 18,438 RPT 26 0 0 2 0 STM 16 0 0 3 0 STP 28 0 0 2 0 SYS 21 12 12 2 24 TRG 19 0 0 3 0 TXT 10 100 100 2 200 *DSOP 38 TOTAL (SORT ESTIMATE OVERRIDE) 184,884 SORT=00000184884 INPUT FILE INFORMATION OUTPUT TABLE INFORMATION AREA TABLE ID RECORDS AREA TABLE ID RECORDS NOTES DD1 AGR 17 333 DD1 AGR 17 333 DD1 ALS 9 1,857 DD1 ALS 9 1,857 DD1 ARA 2 48 DD1 ARA 2 48 DD1 ATZ 24 7 DD1 ATZ 24 7 DD1 BAS 1 23 DD1 BAS 1 23 DD1 DVW 40 70 DD1 DVW 40 70 DD1 ELM 7 580 DD1 ELM 7 580 DD1 FCN 29 0 DD1 FCN 29 0 DD1 FIL 3 86 DD1 FIL 3 86 DD1 FLD 5 14,557 DD1 FLD 5 14,557 DD1 HSD 123 196 DD1 HSD 123 196 DD1 JOB 27 0 DD1 JOB 27 0 DD1 KEY 6 702 DD1 KEY 6 702 DD1 KWC 8 30 DD1 KWC 8 30 DD1 LIB 56 0 DD1 LIB 56 0 DD1 MEM 12 0 DD1 MEM 12 0 DD1 MOD 23 0 DD1 MOD 23 0 DD1 NOD 13 0 DD1 NOD 13 0 DD1 PCV 20 0 DD1 PCV 20 0 DD1 PER 25 2 DD1 PER 25 2 DD1 PGM 22 0 DD1 PGM 22 0 DD1 PLN 15 0 DD1 PLN 15 0 DD1 PNL 14 0 DD1 PNL 14 0 DD1 PRC 4 0 DD1 PRC 4 0 DD1 PRT 18 0 DD1 PRT 18 0 DD1 REL 11 2,634 DD1 REL 11 2,634 DD1 RPT 26 0 DD1 RPT 26 0 DD1 STM 16 0 DD1 STM 16 0 DD1 STP 28 0 DD1 STP 28 0 DD1 SYS 21 12 DD1 SYS 21 12 DD1 TRG 19 0 DD1 TRG 19 0 DD1 TXT 10 100 DD1 TXT 10 100 OUTPUT AREA INFORMATION TOTAL USED TOTAL USED PCNT AVG BLOCKS BLOCKS TOTAL AREA TRACKS TRACKS BLOCKS BLOCKS FULL SLACK EXPANDED COMPRESSED RECORDS DD1 180 103 2,160 1,228 56 127 N/A N/A 21,237
Information from SORT:
CASO000I SORT FILSZ=E00184884,FIELDS=(1,186,BI,A),DYNALLOC=(SYSDA,03) CASO061I RCD IN 00182359,OUT 00000000
In this example, the count of keys sorted is less than the estimate because
CA Datacom® Datadictionary™
uses the rarely used NIL key feature to not be part of the index. NIL keys are defined to have a value of either all blanks (x'40') or all binary zeros (x'00').