SYSDISC data set in LOADPLUS


The SYSDISC data set contains discarded input records. LOADPLUS requires a SYSDISC data set if you want to save discarded records.

Records in the SYSDISC data set are those that are discarded when LOADPLUS cannot load the record for any of the following reasons:

  • An input value position is past the end of the input record.
  • An input value is not entirely contained in the input record.
  • A data conversion error (including a FIELDPROC error) occurs.
  • A value generated for an identity column is out of range.
  • A verification record does not match the table that is being loaded (for FORMAT BMCUNLOAD).
  • LOADPLUS encounters an error byte during data translation.
  • LOADPLUS encounters a substitution character during data translation, but you specified NOSUBS.
  • An expansion error occurs during data translation.
  • A VALIDPROC violation occurs.
  • A record does not match any WHEN specification or table OBID.
  • A record does not match any partition that is being loaded.
  • A DB2 check constraint violation occurs.
  • A DB2 referential constraint violation occurs.
  • An informational referential constraint violation occurred (and you specified INFORI YES).
  • A unique key violation occurs in the PRELOAD or COMBINED phase.
  • An SQLCODE -330, -530, or -803 occurred during an SQLAPPLY load.
  • A problem occurs with a referenced file used to load LOB or XML data.
  • A problem occurs with an XML document.
  • A conversion error occurs on a key that is derived from an expression.

LOADPLUS does not write discarded records to SYSDISC in the cases described in the following table:

Condition

Type of discarded records not written to SYSDISC

Input data set is a pipe

Records that meet any of the listed discard criteria

UNIQUECHECK NO specified for a two-phase load job

Duplicate records

UNIQUECHECK CLUSTER specified for a two-phase load job

Duplicates in non-data-sorting indexes

LOADPLUS evaluates the same input file for multiple INTO statements

Input records that are valid for at least one INTO statement, but not all INTO statements

Important

The number of discarded records in your SYSDISC data set might not match the number of discards that LOADPLUS reports because LOADPLUS issues a separate discard message for each violation. For example, if two input records are duplicates and they both violate a check constraint, LOADPLUS reports four discard violations, but the SYSDISC data set contains only two discarded input records.

LOADPLUS writes to this data set in the PRELOAD phase of a two-phase load or the COMBINED phase of a single-phase or SQLAPPLY load. To override the default ddname, use the DISCARDDN command option.

You can correct this discarded data and use it as input to a subsequent load job specifying RESUME YES.

Important

If you specified FORMAT BMCUNLOAD on the original load job, you must modify the discard file before you can use it as input to a subsequent load job. For instructions, contact BMC Customer Support.

LOADPLUS frees the SYSDISC data set at the end of the PRELOAD phase or the COMBINED phase. If you specify SYSDISC YES with the DELETEFILES option and no records were written to the SYSDISC file during the load process, LOADPLUS automatically deletes the SYSDISC file. LOADPLUS does not delete this data set if it contains discarded records. You must manually delete the SYSDISC data set in this case.

Important

For a DSNUTILB load, SYSDISC YES with the DELETEFILES option is ignored.

Methods for allocating SYSDISC data sets

You can use one of the following methods to allocate your SYSDISC data sets and determine the appropriate size for those data sets:

  • Have LOADPLUS dynamically allocate your SYSDISC data sets by using the DDTYPE command or installation option.

    This method is required for a DSNUTILB load. For more information about dynamic allocation, see Dynamic-data-set-allocation and Dynamic-allocation-options.

  • Specify ANALYZE PAUSE or ANALYZE ONLY to have LOADPLUS provide an estimate of the space that is needed for your SYSDISC data sets.

    For more information about these options, see ANALYZE-option-for-estimating-data-set-allocation-in-LOADPLUS.

  • Calculate the space allocation based on your knowledge of the table space that you are loading and the information in this section.

Additional considerations

Note the following additional information about allocating SYSDISC data sets:

  • Because LOADPLUS closes the SYSDISC data set at the end of the PRELOAD phase or the COMBINED phase, you should not specify FREE=CLOSE for SYSDISC data sets.
  • To prevent your SYSDISC data sets from containing incompatible records from different load jobs, we recommend that you do not allocate your SYSDISC data sets with DISP=MOD.
  • Do not use SMS extended sequential data sets as SYSDISC data sets for multiple load jobs running in a worklist environment. When LOADPLUS first uses a data set, it defines the data set’s DCB attributes. With an SMS extended sequential data set, once these attributes are defined they cannot be changed. If this data set is reused, as with multiple load jobs in a worklist environment, it can require different DCB attribute values, such as different block sizes or record length. LOADPLUS attempts to redefine these attributes if necessary. However, because MVS does not allow changes to these attributes after the file has been opened, LOADPLUS fails.
  • If you expect few or no errors, allocate a small amount of primary space and a large amount of secondary space.
  • When loading from an input data set that is in spanned-record format, LOADPLUS writes any discarded records to a discard data set that is in spanned-record format. If you have allocated a discard data set in your JCL, LOADPLUS overwrites the allocation parameters to RECFM=VBS, LRECL=32768.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*