811 lines
32 KiB
HTML
811 lines
32 KiB
HTML
|
|
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Add DPR Subscription Member (ADDDPRSUBM)</title>
|
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<a name="ADDDPRSUBM.Top_Of_Page"></a>
|
|
<h2>Add DPR Subscription Member (ADDDPRSUBM)</h2>
|
|
<table width="100%">
|
|
<tr>
|
|
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
|
|
<b>Threadsafe: </b>No
|
|
</td>
|
|
<td valign="top" align="right">
|
|
<a href="#ADDDPRSUBM.PARAMETERS.TABLE">Parameters</a><br>
|
|
<a href="#ADDDPRSUBM.COMMAND.EXAMPLES">Examples</a><br>
|
|
<a href="#ADDDPRSUBM.ERROR.MESSAGES">Error messages</a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div> <a name="ADDDPRSUBM"></a>
|
|
<p>The Add DPR Subscription Member(ADDDPRSUBM) command adds a member to an existing subscription set, The source table has been registered with the Add DPR Registration (ADDDPRREG) command. The ADDDPRSUBM command reads the column definitions of the registered source table and uses them to create the target table automatically if the CRTTGTTBL parameter is specified as *YES. If the CRTTGTTBL parameter is specified as *NO, then an existing table will be used.
|
|
</p>
|
|
<p>If the library specified on the TGTTBL parameter does not have a journal or journal receiver, they are created. The journal is called QSQJRN. The journal receiver is called QSQJRN<u> nnnn</u> , where <u> nnnn</u> is 0001 if no other journal receivers exist, and is incremented by 1 until an available name is found.
|
|
</p>
|
|
<p>If the target table is created during the subscription, the target table is journaled to the QSQJRN journal. Otherwise, you must set up journaling for the target table separately.
|
|
</p>
|
|
<p>If the value of the ADDREG parameter is *YES, the ADDDPRSUBM command also automatically registers the target table on the target server as a potential source table for another subscription. This is called <u> auto-registration</u> .
|
|
</p>
|
|
<p>This command supports the iSeries environment only, and not the other databases that support DataPropagator.
|
|
</p>
|
|
<ul>
|
|
<li>Note: Do not precede an entry with an asterisk unless that entry is shown on the display itself or in the help information with an asterisk.
|
|
</li>
|
|
</ul>
|
|
<h3>Error Messages for ADDDPRSUBM</h3>
|
|
<p><b><u>*ESCAPE Messages</u></b>
|
|
</p>
|
|
<dl>
|
|
<dt><b>ASN1038</b></dt>
|
|
<dd>No column names or expressions supplied.
|
|
</dd>
|
|
<dt><b>ASN2051</b></dt>
|
|
<dd>Not authorized to Registration Extension table.
|
|
</dd>
|
|
<dt><b>ASN2501</b></dt>
|
|
<dd>Not authorized to register table.
|
|
</dd>
|
|
<dt><b>ASN303A</b></dt>
|
|
<dd>Row selection expression not valid.
|
|
</dd>
|
|
<dt><b>ASN3036</b></dt>
|
|
<dd>Column not found.
|
|
</dd>
|
|
<dt><b>ASN3037</b></dt>
|
|
<dd>Column already exists.
|
|
</dd>
|
|
<dt><b>ASN3039</b></dt>
|
|
<dd>Column already exists.
|
|
</dd>
|
|
<dt><b>ASN3041</b></dt>
|
|
<dd>Column functions are not allowed.
|
|
</dd>
|
|
<dt><b>ASN3042</b></dt>
|
|
<dd>Columns cannot be renamed.
|
|
</dd>
|
|
<dt><b>ASN3047</b></dt>
|
|
<dd>Internal error in module .
|
|
</dd>
|
|
<dt><b>ASN3068</b></dt>
|
|
<dd>Key columns required for target type .
|
|
</dd>
|
|
<dt><b>ASN3072</b></dt>
|
|
<dd>Relative record numbers are not being captured.
|
|
</dd>
|
|
<dt><b>ASN3073</b></dt>
|
|
<dd>Record number column IBMQSQ_RRN is not available.
|
|
</dd>
|
|
<dt><b>ASN3074</b></dt>
|
|
<dd>KEYCOL(IBMQSQ_RRN) not valid with target type .
|
|
</dd>
|
|
<dt><b>ASN3078</b></dt>
|
|
<dd>The target file does not match the subscription.
|
|
</dd>
|
|
<dt><b>ASN3079</b></dt>
|
|
<dd>The target file does not contain the correct columns.
|
|
</dd>
|
|
<dt><b>ASN3115</b></dt>
|
|
<dd>Relational database is not DB2/400 V4R2 or greater.
|
|
</dd>
|
|
<dt><b>ASN3210</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *POINTINTIME.
|
|
</dd>
|
|
<dt><b>ASN3218</b></dt>
|
|
<dd>A value of *RRN is not allowed on the KEYCOL parameter for this target type.
|
|
</dd>
|
|
<dt><b>ASN3220</b></dt>
|
|
<dd>A value of *NONE on the KEYCOL parameter is not allowed with this target type.
|
|
</dd>
|
|
<dt><b>ASN3231</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3232</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *USERCOPY.
|
|
</dd>
|
|
<dt><b>ASN3233</b></dt>
|
|
<dd>COLUMN must be *ALL when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3235</b></dt>
|
|
<dd>CALCCOL must be *NONE when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3241</b></dt>
|
|
<dd>Target table is registered as the wrong type.
|
|
</dd>
|
|
<dt><b>ASN3253</b></dt>
|
|
<dd>Registration not found for table .
|
|
</dd>
|
|
<dt><b>ASN3254</b></dt>
|
|
<dd>Registration already exists for table .
|
|
</dd>
|
|
<dt><b>ASN3256</b></dt>
|
|
<dd>Not authorized to Subscription Set table.
|
|
</dd>
|
|
<dt><b>ASN3257</b></dt>
|
|
<dd>Not authorized to Subscription Member table.
|
|
</dd>
|
|
<dt><b>ASN3258</b></dt>
|
|
<dd>Not authorized to Subscription Columns table.
|
|
</dd>
|
|
<dt><b>ASN3262</b></dt>
|
|
<dd>Source and target not valid.
|
|
</dd>
|
|
<dt><b>ASN3263</b></dt>
|
|
<dd>Not authorized to Prune Control table.
|
|
</dd>
|
|
<dt><b>ASN3266</b></dt>
|
|
<dd>Subscription does not exist for Apply Qualifier Set Name .
|
|
</dd>
|
|
<dt><b>ASN3267</b></dt>
|
|
<dd>All members of set not from the same journal.
|
|
</dd>
|
|
<dt><b>ASN3268</b></dt>
|
|
<dd>Subscription member created for Apply Qualifier Set Name
|
|
</dd>
|
|
<dt><b>ASN3269</b></dt>
|
|
<dd>Member already exists.
|
|
</dd>
|
|
<dt><b>ASN3277</b></dt>
|
|
<dd>Source table in contains the column.
|
|
</dd>
|
|
<dt><b>ASN3278</b></dt>
|
|
<dd>TGTCCOL must be *COLUMN when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3283</b></dt>
|
|
<dd>Source table cannot be a view when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3290</b></dt>
|
|
<dd>Commit Count less than zero.
|
|
</dd>
|
|
<dt><b>ASN3291</b></dt>
|
|
<dd>Registration Extension table not found.
|
|
</dd>
|
|
<dt><b>ASN3292</b></dt>
|
|
<dd>Register table not found.
|
|
</dd>
|
|
<dt><b>ASN3293</b></dt>
|
|
<dd>Pruning control table not found.
|
|
</dd>
|
|
<dt><b>ASN4512</b></dt>
|
|
<dd>Set subscription table not found.
|
|
</dd>
|
|
<dt><b>ASN4518</b></dt>
|
|
<dd>Subscription member table not found.
|
|
</dd>
|
|
<dt><b>ASN4520</b></dt>
|
|
<dd>Subscription columns table not found.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
|
|
<div>
|
|
<h3><a name="ADDDPRSUBM.PARAMETERS.TABLE">Parameters</a></h3>
|
|
<table border="1" cellpadding="4" cellspacing="0">
|
|
<!-- col1="10" col2="15" col3="30" col4="10" -->
|
|
<tr>
|
|
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
|
|
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
|
|
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
|
|
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.APYQUAL"><b>APYQUAL</b></a></td>
|
|
<td valign="top">Apply qualifier</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
<td valign="top">Required, Positional 3</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.SETNAME"><b>SETNAME</b></a></td>
|
|
<td valign="top">Set name</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
<td valign="top">Required, Positional 4</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" rowspan="3"><a href="#ADDDPRSUBM.TGTTBL"><b>TGTTBL</b></a></td>
|
|
<td valign="top">Target table</td>
|
|
<td valign="top"><i>Qualified object name</i></td>
|
|
<td valign="top" rowspan="3">Required, Positional 2</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Qualifier 1: Target table</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top">Qualifier 2: Library</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top" rowspan="3"><a href="#ADDDPRSUBM.SRCTBL"><b>SRCTBL</b></a></td>
|
|
<td valign="top">Source table</td>
|
|
<td valign="top"><i>Qualified object name</i></td>
|
|
<td valign="top" rowspan="3">Required, Positional 1</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Qualifier 1: Source table</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top">Qualifier 2: Library</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.CTLSVR"><b>CTLSVR</b></a></td>
|
|
<td valign="top">Control server</td>
|
|
<td valign="top"><i>Name</i>, <b><u>*LOCAL</u></b></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.SRCSVR"><b>SRCSVR</b></a></td>
|
|
<td valign="top">Source server</td>
|
|
<td valign="top"><i>Name</i>, <b><u>*LOCAL</u></b></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.TGTTYPE"><b>TGTTYPE</b></a></td>
|
|
<td valign="top">Target type</td>
|
|
<td valign="top"><b><u>*USERCOPY</u></b>, *REPLICA, *POINTINTIME, *BASEAGR, *CHANGEAGR, *CCD</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.KEYCOL"><b>KEYCOL</b></a></td>
|
|
<td valign="top">Key columns</td>
|
|
<td valign="top">Single values: <b><u>*SRCTBL</u></b>, *RRN, *NONE<br>Other values (up to 120 repetitions): <i>Character value</i></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.CRTTGTTBL"><b>CRTTGTTBL</b></a></td>
|
|
<td valign="top">Create target table</td>
|
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.CHKFMT"><b>CHKFMT</b></a></td>
|
|
<td valign="top">Check target table format</td>
|
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.COLUMN"><b>COLUMN</b></a></td>
|
|
<td valign="top">Source columns</td>
|
|
<td valign="top">Single values: <b><u>*ALL</u></b>, *NONE<br>Other values (up to 300 repetitions): <i>Character value</i></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.UNIQUE"><b>UNIQUE</b></a></td>
|
|
<td valign="top">Unique key</td>
|
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" rowspan="3"><a href="#ADDDPRSUBM.TGTCOL"><b>TGTCOL</b></a></td>
|
|
<td valign="top">Target columns</td>
|
|
<td valign="top">Single values: <b><u>*COLUMN</u></b><br>Other values (up to 300 repetitions): <i>Element list</i></td>
|
|
<td valign="top" rowspan="3">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 1: Column</td>
|
|
<td valign="top">
|
|
<i>Character value</i></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 2: New column</td>
|
|
<td valign="top">
|
|
<i>Character value</i></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" rowspan="3"><a href="#ADDDPRSUBM.CALCCOL"><b>CALCCOL</b></a></td>
|
|
<td valign="top">Calculated columns</td>
|
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values (up to 100 repetitions): <i>Element list</i></td>
|
|
<td valign="top" rowspan="3">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 1: Column</td>
|
|
<td valign="top">
|
|
<i>Character value</i></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 2: Expression</td>
|
|
<td valign="top">
|
|
<i>Character value</i></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.ROWSLT"><b>ROWSLT</b></a></td>
|
|
<td valign="top">Row selection expression</td>
|
|
<td valign="top"><i>Character value</i>, <b><u>*ALL</u></b></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.TGTKEYCHG"><b>TGTKEYCHG</b></a></td>
|
|
<td valign="top">Target key change</td>
|
|
<td valign="top"><i>Character value</i>, <b><u>*NO</u></b>, *YES</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#ADDDPRSUBM.ADDREG"><b>ADDREG</b></a></td>
|
|
<td valign="top">Add DPR registration</td>
|
|
<td valign="top">*YES, <b><u>*NO</u></b></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
</div>
|
|
<div> <a name="ADDDPRSUBM.APYQUAL"></a>
|
|
<h3>Apply qualifier (APYQUAL)</h3>
|
|
<p>Specifies the apply qualifier. The apply qualifier is the name which is used to group the subscriptions that are to be run by the same Apply instance. You can specify a maximum of 18 characters for the apply qualifier name. This name follows the same naming conventions as an RDB name. This name must already exist in the IBMSNAP_SUBS_SET table.
|
|
</p>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.SETNAME"></a>
|
|
<h3>Set name (SETNAME)</h3>
|
|
<p>Specifies the Set Name which identifies a group of target tables (subscription set members) that are processed by the Apply program as a group. This must be unique under the Apply Qualifier. An error results if the set name does not already exist in the IBMSNAP_SUBS_SET table. The Apply program handles the target tables in a set as a group. When one target table fails for any reason, the entire set fails.
|
|
</p>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.TGTTBL"></a>
|
|
<h3>Target table (TGTTBL)</h3>
|
|
<p>Identifies the name of the target table. The target table is automatically created if a value of *YES is specified on the CRTTGTTBL parameter and the target table does not already exist.
|
|
</p>
|
|
<dl>
|
|
<dt><b><i>library/target-table-name</i></b></dt>
|
|
<dd>The qualified name of the target table.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.SRCTBL"></a>
|
|
<h3>Source table (SRCTBL)</h3>
|
|
<p>Identifies the source table from which you want to copy. This is a required parameter.
|
|
</p>
|
|
<p>The source table refers to a table that you registered on the system identified by the SRCSVR keyword, although it does not have to physically reside on that system.
|
|
</p>
|
|
<dl>
|
|
<dt><b><i>library/source-table-name</i></b></dt>
|
|
<dd>The qualified name of the source table to be copied.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.CTLSVR"></a>
|
|
<h3>Control server (CTLSVR)</h3>
|
|
<p>The relational database name where the Apply control tables exist. This is the relational database name for the control server.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*LOCAL</u></b></dt>
|
|
<dd>The Apply control tables are located on the local relational database.
|
|
</dd>
|
|
<dt><b><i>rdb-name</i></b></dt>
|
|
<dd>The relational database name where the Apply control tables reside. You can use the Work with RDB Directory Entries (WRKRDBDIRE) command on the data server to find this name. If the Apply control tables are on the system where the ADDDPRSUB command is being executed, <i>rdb-name</i> is the relational database name that has a remote location of *LOCAL associated with it.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.SRCSVR"></a>
|
|
<h3>Source server (SRCSVR)</h3>
|
|
<p>The relational database name where the source table is registered. The source table may or may not physically reside on that system. This is the relational database name for the source server.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*LOCAL</u></b></dt>
|
|
<dd>The source table registration is located on the local relational database.
|
|
</dd>
|
|
<dt><b><i>rdb-name</i></b></dt>
|
|
<dd>The relational database name where the source table is registered. You can use the Work with RDB Directory Entries (WRKRDBDIRE) command on the data server to find this name. If the source server and the target server are the same, <i>rdb-name</i> is the relational database name that has a remote location of *LOCAL associated with it. Otherwise, <i>rdb-name</i> is the relational database name that has a remote location of *LOCAL associated with it on the source server.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.TGTTYPE"></a>
|
|
<h3>Target type (TGTTYPE)</h3>
|
|
<p>Specifies the type of copy used to refresh the target table. These are DataPropagator terms that describe the contents of the target table. After a target table is created as one of these types, you can use this parameter value on the SRCTBL parameter of the Add DPR Registration (ADDDPRREG) command to register this target table as a source table.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*USERCOPY</u></b></dt>
|
|
<dd>The target table is a user copy. A user copy is a target table whose content matches all or part of a source table at a given time. A user copy is handled like a point-in-time copy, but it does not contain any of the DataPropagator overhead columns that are present in the point-in-time target table.
|
|
<p>This value is not valid when a value of *RRN is specified on the KEYCOL parameter.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*POINTINTIME</b></dt>
|
|
<dd>The target table is a point-in-time copy. A point-in-time copy is a target table whose content matches all or part of a source table at a given point in time.
|
|
<p>When the target table is a point-in-time copy, you should also specify the unique key fields on the KEYCOL parameter and specify a value of *YES on the UNIQUE parameter.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*REPLICA</b></dt>
|
|
<dd>The target table is a replica. The target table contains only the columns from the source table. Columns that start with the DataPropagator column identifiers, IBMSNAP or IBMQSQ, are not in the table.
|
|
<p>This target table is used only for update anywhere. The target table receives changes from the source table and changes to the target table are propagated back to the source table.
|
|
</p>
|
|
<p>This table is automatically registered as a source table. Also, extra rows are entered into the subscription control tables so that data from the target table can be propagated back to the source table.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*CCD</b></dt>
|
|
<dd>The target table is a consistent copy. A consistent copy is a target table that reflects a transaction-consistent state of the source table.
|
|
</dd>
|
|
<dt><b>*BASEAGR</b></dt>
|
|
<dd>The target table is a base aggregate. A base aggregate is a target table that contains data aggregated from a source table or point-in-time table.
|
|
</dd>
|
|
<dt><b>*CHANGEAGR</b></dt>
|
|
<dd>The target table is a change aggregate. A change aggregate is a target table that contains data aggregations based on changes recorded for a source table.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.KEYCOL"></a>
|
|
<h3>Key columns (KEYCOL)</h3>
|
|
<p>Defines the list of columns that describe the key of the target table. The column names must be unqualified. For point-in-time, replica, and user copy target tables (as specified on the TGTTYPE parameter), you must specify the unique key fields.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*SRCTBL</u></b></dt>
|
|
<dd>The key columns in the target table are the same as those in the source table. The ADDDPRSUBM command uses the key specified in the source table if the source table is keyed. The following key columns are used:
|
|
<ul>
|
|
<li>Key columns that are defined through DDS when the table is created with the Create Physical File (CRTPF) command
|
|
</li>
|
|
<li>Primary and unique keys that are defined with CREATE TABLE and ALTER TABLE SQL statements
|
|
</li>
|
|
<li>Unique keys that are defined with CREATE INDEX SQL statements
|
|
</li>
|
|
</ul>
|
|
<p>If a column is used as a key more than once with different ordering, the target table key is defined with an ascending order.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*RRN</b></dt>
|
|
<dd>The key column in the target table is the IBMQSQ_RRN column. The target table is created with an IBMQSQ_RRN column and this column is used as the key. When the Apply component runs, if the source table is a user table and the target table is a point-in-time or consistent copy, the IBMQSQ_RRN column in the target table will be updated with the relative record number of the associated record in the source table. Otherwise, the IBMQSQ_RRN column in the target table will be updated with the value of the IBMQSQ_RRN column in the source table.
|
|
</dd>
|
|
<dt><b>*NONE</b></dt>
|
|
<dd>The target table does not contain a primary key. This value is not allowed if the target table is a point-in-time, replica, or user copy subscription.
|
|
</dd>
|
|
<dt><b><i>column-name</i></b></dt>
|
|
<dd>A list of up to 120 column names.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.CRTTGTTBL"></a>
|
|
<h3>Create target table (CRTTGTTBL)</h3>
|
|
<p>Specifies whether the target table is to be created.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*YES</u></b></dt>
|
|
<dd>Create the target table if it does not exist. If the table exists already, it is used as the target table and its format is checked if the value of the CHKFMT parameter is *YES. The target table can be a view. No indexes will be created if the target table is a view. An additional index will not be created if the target table exists and an index already exists that matches the values specified with the KEYCOL and UNIQUE parameters. If the target table exists and indexes are created, the command will fail if the target table contains records that violate these indexes.
|
|
</dd>
|
|
<dt><b>*NO</b></dt>
|
|
<dd>Do not create the target table. The table does not need to exist. If it does not exist, you must create the table in the correct format before starting the Apply component.
|
|
<p>If the table exists and CHKFMT(*YES) is specified, the ADDDPRSUB command ensures that the format of the existing table matches the subscription. If CHKFMT(*NO) is specified, you must ensure that the format of the existing table matches the subscription.
|
|
</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.CHKFMT"></a>
|
|
<h3>Check target table format (CHKFMT)</h3>
|
|
<p>Specifies whether checking should be done to ensure that the columns defined for this subscription match the columns in the target table. This parameter is ignored if the value of the CRTTGTTBL parameter is *YES or if the value of the CRTTGTTBL parameter is *NO and the target table does not exist.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*YES</u></b></dt>
|
|
<dd>Checking is done to ensure that the columns defined for this subscription match the columns in the target table. The command fails if a mismatch is detected.
|
|
</dd>
|
|
<dt><b>*NO</b></dt>
|
|
<dd>Differences between the subscription and the existing target table are ignored. You must ensure that the target table is compatible with the subscription.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.COLUMN"></a>
|
|
<h3>Source columns (COLUMN)</h3>
|
|
<p>Defines the list of columns to be included in the target table. The column names must be unqualified. Choose the column names from the list of column names that were specified on the CAPCOL parameter of the registered source table.
|
|
</p>
|
|
<p>If *BOTH was specified on the IMAGE parameter of the registered source table, you can specify before column names. The before image column names are the same as the original column names, but they are prefixed with the character specified on the PREFIX parameter of the ADDDPRREG command that created the registration on the source table.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*ALL</u></b></dt>
|
|
<dd>All columns specified on the CAPCOL parameter of the Add DPR Registration (ADDDPRREG) command for the registered source table are included.
|
|
</dd>
|
|
<dt><b>*NONE</b></dt>
|
|
<dd>No columns are included. This value is required when expressions on the CALCCOL parameter contain summary functions (for example, SUM or AVG). Base aggregate and change aggregate subscriptions frequently require this parameter to be *NONE for this reason.
|
|
</dd>
|
|
<dt><b><i>column-name</i></b></dt>
|
|
<dd>A list of up to 300 column names.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.UNIQUE"></a>
|
|
<h3>Unique key (UNIQUE)</h3>
|
|
<p>Specifies whether the target table has unique keys as specified on the KEYCOL parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*YES</u></b></dt>
|
|
<dd>The target table supports one net change per key; that is, no matter how many changes are made to the key, only one row exists in the target table for that key. Point-in-time, replica, user copy, and condensed consistent tables should have unique keys.
|
|
</dd>
|
|
<dt><b>*NO</b></dt>
|
|
<dd>The target table supports multiple changes per key. The changes are appended to the target table. You should specify this value for consistent tables that are not condensed.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.TGTCOL"></a>
|
|
<h3>Target columns (TGTCOL)</h3>
|
|
<p>Defines new names for the columns to be updated in the target table. These names override the column names in the source table. The column names must be unqualified. You can use this parameter to give more meaningful names to the target table columns.
|
|
</p>
|
|
<p>If you specified a value of *NONE for the COLUMN parameter, then you should not use this parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*COLUMN</u></b></dt>
|
|
<dd>The target columns are the same as those specified on the COLUMN parameter.
|
|
</dd>
|
|
<dt><b><i>column-name</i></b></dt>
|
|
<dd>A list of up to 300 column names.
|
|
</dd>
|
|
<dt><b><i>new-name</i></b></dt>
|
|
<dd>A list of up to 300 new column names.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.CALCCOL"></a>
|
|
<h3>Calculated columns (CALCCOL)</h3>
|
|
<p>Defines the list of user-defined or calculated columns in the target table. The column names must be unqualified. An SQL expression can be specified. A column name is required for each expression. A value of *NONE must be specified on the COLUMN parameter if you want to use an SQL column function on this parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*NONE</u></b></dt>
|
|
<dd>No calculated columns are specified.
|
|
</dd>
|
|
<dt><b><i>column-name</i></b></dt>
|
|
<dd>A list of up to 100 column names.
|
|
</dd>
|
|
<dt><b><i>expression</i></b></dt>
|
|
<dd>A list of up to 100 SQL column expressions.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.ROWSLT"></a>
|
|
<h3>Row selection expression (ROWSLT)</h3>
|
|
<p>Defines the predicates to be placed in an SQL WHERE clause to select the rows to be maintained in the target table.
|
|
</p>
|
|
<p>
|
|
<b>Note: </b>The WHERE clause on this parameter has no relation to any WHERE clauses specified on the SQLBEFORE and SQLAFTER parameters.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*ALL</u></b></dt>
|
|
<dd>All rows in the source table are selected.
|
|
</dd>
|
|
<dt><b><i>WHERE-clause</i></b></dt>
|
|
<dd>An SQL WHERE clause. The WHERE keyword is implied on this parameter, so it should not be specified. You should make sure the WHERE clause is valid on the data server platform on which you are running this clause.
|
|
<p>You must use the SQL naming convention instead of the system naming convention. SQL table references must be in the form <u> LIBRARY.table</u> instead of the system naming convention (<u> LIBRARY/table</u> ).
|
|
</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.TGTKEYCHG"></a>
|
|
<h3>Target key change (TGTKEYCHG)</h3>
|
|
<p>Specifies the target key change. This is a flag indicating how the Apply program handles updates when the columns for the primary key of a target table are changed in the source table.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*NO</u></b></dt>
|
|
<dd>Updates to the source table are handled as updates to the target table.
|
|
</dd>
|
|
<dt><b>*YES</b></dt>
|
|
<dd>The Apply program updates the target table based on the before images of the primary key column. When the source table was registered, the USEDELINS parameter should have been set to *NO. Also, the source table needs to have been registered with IMAGE(*BOTH).
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="ADDDPRSUBM.ADDREG"></a>
|
|
<h3>Add DPR registration (ADDREG)</h3>
|
|
<p>Specifies whether or not the target table is to be registered as a source table for DataPropagator. This parameter is ignored when the TGTTYPE is *REPLICA because the target table is automatically registered as a source table.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*NO</u></b></dt>
|
|
<dd>The target table is not registered.
|
|
<p>If the TGTTYPE is *REPLICA, this value is ignored and the target is registered as a source table.
|
|
</p>
|
|
<p>If the target table is already registered, no checking is done to ensure that the target table and the source table are not the same table.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*YES</b></dt>
|
|
<dd>The target table is registered as a source table. The command fails if the target table is already registered.
|
|
<p>If the table does not exist and the value of the CRTTGTTBL parameter is *NO, the target table is not registered. In addition, the target table is not registered if the value of the TGTTYPE parameter is *USERCOPY.
|
|
</p>
|
|
<p>If the target table exists, has a target type other than *USERCOPY, and is already registered, the command checks to ensure the source type of the registration is the same as the target type of the subscription.
|
|
</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
<div>
|
|
<h3><a name="ADDDPRSUBM.COMMAND.EXAMPLES">Examples</a></h3>None
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
<div><h3><a name="ADDDPRSUBM.ERROR.MESSAGES">Error messages</a> </h3>
|
|
<p><b><u>*ESCAPE Messages</u></b>
|
|
</p>
|
|
<dl>
|
|
<dt><b>ASN1038</b></dt>
|
|
<dd>No column names or expressions supplied.
|
|
</dd>
|
|
<dt><b>ASN2051</b></dt>
|
|
<dd>Not authorized to Registration Extension table.
|
|
</dd>
|
|
<dt><b>ASN2501</b></dt>
|
|
<dd>Not authorized to register table.
|
|
</dd>
|
|
<dt><b>ASN303A</b></dt>
|
|
<dd>Row selection expression not valid.
|
|
</dd>
|
|
<dt><b>ASN3036</b></dt>
|
|
<dd>Column not found.
|
|
</dd>
|
|
<dt><b>ASN3037</b></dt>
|
|
<dd>Column already exists.
|
|
</dd>
|
|
<dt><b>ASN3039</b></dt>
|
|
<dd>Column already exists.
|
|
</dd>
|
|
<dt><b>ASN3041</b></dt>
|
|
<dd>Column functions are not allowed.
|
|
</dd>
|
|
<dt><b>ASN3042</b></dt>
|
|
<dd>Columns cannot be renamed.
|
|
</dd>
|
|
<dt><b>ASN3047</b></dt>
|
|
<dd>Internal error in module .
|
|
</dd>
|
|
<dt><b>ASN3068</b></dt>
|
|
<dd>Key columns required for target type .
|
|
</dd>
|
|
<dt><b>ASN3072</b></dt>
|
|
<dd>Relative record numbers are not being captured.
|
|
</dd>
|
|
<dt><b>ASN3073</b></dt>
|
|
<dd>Record number column IBMQSQ_RRN is not available.
|
|
</dd>
|
|
<dt><b>ASN3074</b></dt>
|
|
<dd>KEYCOL(IBMQSQ_RRN) not valid with target type .
|
|
</dd>
|
|
<dt><b>ASN3078</b></dt>
|
|
<dd>The target file does not match the subscription.
|
|
</dd>
|
|
<dt><b>ASN3079</b></dt>
|
|
<dd>The target file does not contain the correct columns.
|
|
</dd>
|
|
<dt><b>ASN3115</b></dt>
|
|
<dd>Relational database is not DB2/400 V4R2 or greater.
|
|
</dd>
|
|
<dt><b>ASN3210</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *POINTINTIME.
|
|
</dd>
|
|
<dt><b>ASN3218</b></dt>
|
|
<dd>A value of *RRN is not allowed on the KEYCOL parameter for this target type.
|
|
</dd>
|
|
<dt><b>ASN3220</b></dt>
|
|
<dd>A value of *NONE on the KEYCOL parameter is not allowed with this target type.
|
|
</dd>
|
|
<dt><b>ASN3231</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3232</b></dt>
|
|
<dd>UNIQUE must be *YES when TGTTYPE is *USERCOPY.
|
|
</dd>
|
|
<dt><b>ASN3233</b></dt>
|
|
<dd>COLUMN must be *ALL when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3235</b></dt>
|
|
<dd>CALCCOL must be *NONE when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3241</b></dt>
|
|
<dd>Target table is registered as the wrong type.
|
|
</dd>
|
|
<dt><b>ASN3253</b></dt>
|
|
<dd>Registration not found for table .
|
|
</dd>
|
|
<dt><b>ASN3254</b></dt>
|
|
<dd>Registration already exists for table .
|
|
</dd>
|
|
<dt><b>ASN3256</b></dt>
|
|
<dd>Not authorized to Subscription Set table.
|
|
</dd>
|
|
<dt><b>ASN3257</b></dt>
|
|
<dd>Not authorized to Subscription Member table.
|
|
</dd>
|
|
<dt><b>ASN3258</b></dt>
|
|
<dd>Not authorized to Subscription Columns table.
|
|
</dd>
|
|
<dt><b>ASN3262</b></dt>
|
|
<dd>Source and target not valid.
|
|
</dd>
|
|
<dt><b>ASN3263</b></dt>
|
|
<dd>Not authorized to Prune Control table.
|
|
</dd>
|
|
<dt><b>ASN3266</b></dt>
|
|
<dd>Subscription does not exist for Apply Qualifier Set Name .
|
|
</dd>
|
|
<dt><b>ASN3267</b></dt>
|
|
<dd>All members of set not from the same journal.
|
|
</dd>
|
|
<dt><b>ASN3268</b></dt>
|
|
<dd>Subscription member created for Apply Qualifier Set Name
|
|
</dd>
|
|
<dt><b>ASN3269</b></dt>
|
|
<dd>Member already exists.
|
|
</dd>
|
|
<dt><b>ASN3277</b></dt>
|
|
<dd>Source table in contains the column.
|
|
</dd>
|
|
<dt><b>ASN3278</b></dt>
|
|
<dd>TGTCCOL must be *COLUMN when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3283</b></dt>
|
|
<dd>Source table cannot be a view when TGTTYPE is *REPLICA.
|
|
</dd>
|
|
<dt><b>ASN3290</b></dt>
|
|
<dd>Commit Count less than zero.
|
|
</dd>
|
|
<dt><b>ASN3291</b></dt>
|
|
<dd>Registration Extension table not found.
|
|
</dd>
|
|
<dt><b>ASN3292</b></dt>
|
|
<dd>Register table not found.
|
|
</dd>
|
|
<dt><b>ASN3293</b></dt>
|
|
<dd>Pruning control table not found.
|
|
</dd>
|
|
<dt><b>ASN4512</b></dt>
|
|
<dd>Set subscription table not found.
|
|
</dd>
|
|
<dt><b>ASN4518</b></dt>
|
|
<dd>Subscription member table not found.
|
|
</dd>
|
|
<dt><b>ASN4520</b></dt>
|
|
<dd>Subscription columns table not found.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#ADDDPRSUBM.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
</body>
|
|
</html>
|