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 on 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 |
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.
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.
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, BMC recommends 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 a different block size 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.
Related topics