HiRDB Datareplicator Version 8 Description, User's Guide and Operator's Guide
This subsection explains how to design repetition columns.
Datareplicator does not require any special definitions for extraction of repetition columns. However, the following limitations apply:
When you import repetition column data that has been updated by the UPDATE statement's SET clause and the following conditions are true, an SQL error (SQLCODE = -129) occurs at the target Datareplicator, which disables import processing:
Because the number of mapping keys is always at least one, the maximum number of update items in a repetition column in the SET clause that can be imported is 29,999. To update a large amount of element data with a single SQL statement, such as when updating all elements in a repetition column in the source system, we recommend that you update column-by-column instead of by specifying an update item for each element.
To specify a repetition column in the import definition, use the load statement to define that the table that contains the repetition column is to be subject to import processing, in the same manner as with the conventional method. You can specify only the NULL literal for a repetition column in the update information field definition (const specified in the format statement's name clause). If you specify any other value, Datareplicator imports the specified literal as is without regarding it as an error (this results in a data compatibility error at the target HiRDB).
If you specify a table that contains a repetition column with the load statement in the import definition, timestamp cannot be specified to create a time-ordered table. If you do specify timestamp for a table containing a repetition column, Datareplicator regards it as a definition analysis error and terminates import processing with the corresponding data linkage identifier (dsid).
When you specify a table that contains a repetition column with the load statement in the import definition, you can still create a merge table by specifying sqlconvopt1 or sqlconvopt2. However, to change UPDATE to INSERT in an element specification, the null value will be provided for any absent element data (see (3) in 3.3.11 Creating a merge table).
If the source HiRDB uses a different character encoding set than the target HiRDB, Datareplicator performs character encoding conversion on each element data item in a repetition column. For details about character encoding conversion, see 4.3.5 Designing for character code sets.
You can use an import information editing UOC routine and a column data editing UOC routine to process repetition column data. However, the column data editing UOC routine passes each element data item individually (each call to the column data editing UOC function passes one element data item to this UOC function). This means that you cannot use a column data editing UOC routine to increase or decrease the number of elements.
If you execute UPDATE SET or DELETE specifying an element number with no data for a repetition column, HiRDB ignores update processing on any nonexistent repetition column element (in which case 0 is set in SQLCODE and W in SQLWARN7).
With normal data linkage, the numbers of elements in a repetition column always match between the source and target. However, if a mismatch occurs due to importing of a merge table or updating of the target table conducted by HiRDB, Datareplicator executes processing according to the skip_mvcelmwarn and sqlerr_skip_info operand specifications in the import environment definition.
| skip_mvcelmwarn | sqlerr_skip_info | ||||
|---|---|---|---|---|---|
| output | msgoutput | sqloutput | nooutput | ||
| true | Processing | Normal (resume import processing) | |||
| Output message | Warning | Warning | None | None | |
| Unimported output | Output | None | Output | None | |
| false | Processing | Error (roll back the transaction and cancel import processing) | |||
| Output message | Error | ||||
| Unimported output | Output | ||||
All rights reserved. Copyright (C) 2007, 2013, Hitachi, Ltd.