Considerations for loading XML data natively
LOADPLUS loads XML data either natively or by invoking DSNUTILB, depending on the type of load that you are running and the object that you are loading.
The following considerations apply when loading XML data natively.
Requirements when using referenced files
When your input data set contains a reference to the file that contains your XML data, the following requirements apply:
- If your referenced file is a partitioned data set (PDS) or extended partitioned data set (PDSE), you must include a member name in the name that is provided in the input file.
- If your referenced file is a hierarchical file system (HFS) file, you must preallocate and mount the file system before running the load job.
- The input file must specify the full path name of the file, as in the following example:
Copy data set requirements
If you specify COPY YES, you must enable dynamic allocation for at least the primary local XML copy data set (DDTYPE LOCPXCPY). In general, LOADPLUS ignores any XML copy data set allocation in your JCL.
LOADPLUS allocates your XML copy data sets by using the following naming convention. If you include a DD statement in your JCL that uses the nonnumeric portion of this naming convention as the ddname (or prefix), LOADPLUS terminates.
X[L|R][P|B]nnnnn
These variables indicate the following information:
- [L|R] is either L for local copy or R for remote copy.
- [P|B] is either P for primary copy or B for backup copy.
- nnnnn is a number that LOADPLUS generates for that particular copy data set.
For example, XLP00001 indicates a local primary copy.
Incompatible options
The following table describes restrictions that apply to LOADPLUS options when loading XML data.
Additionally, LOADPLUS terminates in either of the following cases:
- You attempt to load a base table that contains an XML column and you specify LOAD RESUME YES PART n REPLACE.
- You specify an XML column on any predicate of a WHEN statement.
The following table describes the options that are incompatible with an XML load:
Option | LOADPLUS response |
---|---|
DEFAULTIF | Terminates if specified on an XML column |
FORMAT BMC FORMAT BMCUNLOAD FORMAT UNLOAD FORMAT CSV | Terminates |
INDEX UPDATE | Terminates |
INLINE YES | Changes the option to INLINE NO |
PRELOAD ANALYZE PRELOAD PAUSE | Terminates |
SKIPIX | Ignores this option for the following types of indexes:
|
VALUE | Terminates if specified on an XML column |
Additional considerations
The following additional considerations apply when loading XML data:
- If the XML table space and index spaces are defined with DEFINE NO, LOADPLUS materializes these data sets only if the XML column in the base table is participating in the load.
- If you specify LOAD RESUME YES TABLE tableName REPLACE, LOADPLUS loads the base table as usual. The XML table space for that table is loaded as if you specified LOAD REPLACE.
When the following conditions exist, LOADPLUS generates XML copies at the partition level regardless of any other options, such as COPYLVL, that you specify:
- You specify LOAD RESUME YES (without PART REPLACE) COPY YES.
- Your XML table space is partition-by-growth.
LOADPLUS generates partition-level copies for only the partitions that you are loading.
- Because the document ID (DOCID) column of the base table is an identity column, the considerations described in Considerations-when-loading-identity-columns apply.
If the XML table space is a partition-by-growth table space, you might need to increase the size of your BMCSYNC table. Estimate this allocation based on the following factors:
- Number of utilities that you are executing concurrently
- Number of XML columns that you are loading or unloading
- Value of MAXPARTITIONS (a minimum of 256 partitions in this case)
- Number of files that you are allocating dynamically
For XML table spaces that are partition-by-growth table spaces, the considerations described in Considerations-when-loading-partition-by-growth-table-spaces apply.