ibm-information-center/dist/eclipse/plugins/i5OS.ic.cl_5.4.0.1/adddprsub.htm

1228 lines
48 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 (ADDDPRSUB)</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="ADDDPRSUB.Top_Of_Page"></a>
<h2>Add DPR Subscription (ADDDPRSUB)</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="#ADDDPRSUB.PARAMETERS.TABLE">Parameters</a><br>
<a href="#ADDDPRSUB.COMMAND.EXAMPLES">Examples</a><br>
<a href="#ADDDPRSUB.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="ADDDPRSUB"></a>
<p>The Add DPR Subscription (ADDDPRSUB) command creates an empty subscription set. If a source and target table are specified it will also add the specified member to the set. The source table should have been registered with the Add DPR Registration (ADDDPRREG) command.
</p>
<p>The ADDDPRSUB 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 ADDDPRSUB 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 ADDDPRSUB</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>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>ASN3251</b></dt>
<dd>Subscription already exists for Apply Qualifier Set Name .
</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>ASN3259</b></dt>
<dd>Not authorized to Subscription Statement 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>ASN3265</b></dt>
<dd>Subscription set created for Apply Qualifier Set Name
</dd>
<dt><b>ASN3267</b></dt>
<dd>All members of set not from the same journal.
</dd>
<dt><b>ASN3274</b></dt>
<dd>Relative record numbers are not being captured.
</dd>
<dt><b>ASN3275</b></dt>
<dd>Record number column IBMQSQ_RRN is not available.
</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>ASN3288</b></dt>
<dd>SRCTBL and TGTTBL must both be *NONE.
</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>ASN4514</b></dt>
<dd>Subscription statements 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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="ADDDPRSUB.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="#ADDDPRSUB.APYQUAL"><b>APYQUAL</b></a></td>
<td valign="top">Apply qualifier</td>
<td valign="top"><i>Name</i></td>
<td valign="top">Required, Positional 1</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.SETNAME"><b>SETNAME</b></a></td>
<td valign="top">Set name</td>
<td valign="top"><i>Name</i></td>
<td valign="top">Required, Positional 2</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#ADDDPRSUB.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">Optional</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Target table</td>
<td valign="top"><i>Name</i>, <b><u>*NONE</u></b></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="#ADDDPRSUB.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">Optional, Positional 4</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Source table</td>
<td valign="top"><i>Name</i>, <b><u>*NONE</u></b></td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i></td>
</tr><tr>
<td valign="top"><a href="#ADDDPRSUB.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, Positional 3</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.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="#ADDDPRSUB.CAPCTLLIB"><b>CAPCTLLIB</b></a></td>
<td valign="top">Capture control library</td>
<td valign="top"><i>Name</i>, <b><u>ASN</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.TGTCCLIB"><b>TGTCCLIB</b></a></td>
<td valign="top">Target capture control library</td>
<td valign="top"><i>Name</i>, <b><u>*CAPCTLLIB</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.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="#ADDDPRSUB.TIMING"><b>TIMING</b></a></td>
<td valign="top">Refresh timing</td>
<td valign="top"><b><u>*INTERVAL</u></b>, *EVENT, *BOTH</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.EVENT"><b>EVENT</b></a></td>
<td valign="top">Event name</td>
<td valign="top"><i>Name</i>, <b><u>*NONE</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#ADDDPRSUB.INTERVAL"><b>INTERVAL</b></a></td>
<td valign="top">Interval between iterations</td>
<td valign="top">Values (up to 5 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Number</td>
<td valign="top">
1-60, <b><u>1</u></b></td>
</tr>
<tr>
<td valign="top">Element 2: Interval</td>
<td valign="top">
*WEEK, <b><u>*DAY</u></b>, *HOUR, *MIN</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.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="#ADDDPRSUB.ACTIVATE"><b>ACTIVATE</b></a></td>
<td valign="top">Activate subscription</td>
<td valign="top"><b><u>*YES</u></b>, *NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.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="#ADDDPRSUB.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="#ADDDPRSUB.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="#ADDDPRSUB.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="#ADDDPRSUB.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="#ADDDPRSUB.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="#ADDDPRSUB.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" rowspan="4"><a href="#ADDDPRSUB.SQLBEFORE"><b>SQLBEFORE</b></a></td>
<td valign="top">SQL to run before</td>
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values (up to 3 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="4">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: SQL statement</td>
<td valign="top">
<i>Character value</i></td>
</tr>
<tr>
<td valign="top">Element 2: Server to run on</td>
<td valign="top">
<i>Name</i>, *SRCSVR, <b><u>*TGTSVR</u></b></td>
</tr>
<tr>
<td valign="top">Element 3: Allowed SQL states</td>
<td valign="top">
Single values: *NONE<br>Other values (up to 10 repetitions): 000000-0FFFFF</td>
</tr>
<tr>
<td valign="top" rowspan="4"><a href="#ADDDPRSUB.SQLAFTER"><b>SQLAFTER</b></a></td>
<td valign="top">SQL to run after</td>
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values (up to 3 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="4">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: SQL statement</td>
<td valign="top">
<i>Character value</i></td>
</tr>
<tr>
<td valign="top">Element 2: Server to run on</td>
<td valign="top">
<i>Name</i>, *SRCSVR, <b><u>*TGTSVR</u></b></td>
</tr>
<tr>
<td valign="top">Element 3: Allowed SQL states</td>
<td valign="top">
Single values: *NONE<br>Other values (up to 10 repetitions): 000000-0FFFFF</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#ADDDPRSUB.MAXSYNCH"><b>MAXSYNCH</b></a></td>
<td valign="top">Maximum synchronization time</td>
<td valign="top">Values (up to 5 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Number</td>
<td valign="top">
0-60, <b><u>0</u></b></td>
</tr>
<tr>
<td valign="top">Element 2: Interval</td>
<td valign="top">
*WEEK, *DAY, *HOUR, <b><u>*MIN</u></b></td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.CMTCNT"><b>CMTCNT</b></a></td>
<td valign="top">Commit count</td>
<td valign="top"><i>Integer</i>, <b><u>*DEFAULT</u></b>, *NULL</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#ADDDPRSUB.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="#ADDDPRSUB.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>
<tr>
<td valign="top"><a href="#ADDDPRSUB.FEDSVR"><b>FEDSVR</b></a></td>
<td valign="top">Federated server</td>
<td valign="top"><i>Character value</i>, <b><u>*NONE</u></b></td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="ADDDPRSUB.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.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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 already exists for the given Apply Qualifier in the ADDDPRSUB command. 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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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><u>*NONE</u></b></dt>
<dd>Creates an empty subscription set. This is a subscription set that does not contain any members. If this value is used, the SRCTBL parameter must also be *NONE. The Add DPR Subscription Member (ADDDPRSUBM) command can be used to added members to the empty set.
</dd>
<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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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><u>*NONE</u></b></dt>
<dd>Creates an empty subscription set. This is a subscription set that does not contain any members. If this value is used, the TGTTBL parameter must also be *NONE. The Add DPR Subscription Member (ADDDPRSUBM) command can be used to added members to the empty set.
</dd>
<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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.CAPCTLLIB"></a>
<h3>Capture control library (capctllib)</h3>
<p>Specifies the library where the Capture control tables are located. This is the library that contains the IBMSNAP_REGISTER table that has a registration for the source table.
</p>
<dl>
<dt><b><u>ASN</u></b></dt>
<dd>Specifies the default library of ASN containing the Capture control tables.
</dd>
<dt><b>library-name </b></dt>
<dd>Name of the library containing the Capture control tables.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.TGTCCLIB"></a>
<h3>Target capture control library (TGTCCLIB)</h3>
<p>Specifies the target Capture control library where the Capture control tables are located. This is the library that contains the IBMSNAP_REGISTER table where target table will be registered during auto-registration.
</p>
<p>If auto-registration is not used, the value specified by this parameter is still entered into the IBMSNAP_SUBS_SET table. So, when the target table is manually registered, the value given here must be used on the CAPCTLLIB parameter of the Add DPR Registration (ADDDPRREG) command.
</p>
<dl>
<dt><b><u>*CAPCTLLIB</u></b></dt>
<dd>Specifies the target capture control library will be the same as the library specified on the CAPCTLLIB parameter.
</dd>
<dt><b>library-name </b></dt>
<dd>Name of the library containing the Capture control tables.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.TIMING"></a>
<h3>Refresh timing (TIMING)</h3>
<p>Describes the type of timing Apply should use to service the set.
</p>
<dl>
<dt><b><u>*INTERVAL</u></b></dt>
<dd>Apply will service the set at a specific interval. For example, once a day.
</dd>
<dt><b>*EVENT</b></dt>
<dd>Apply will service the set when a specific named event happens.
</dd>
<dt><b>*BOTH</b></dt>
<dd>Apply will service the set either at a specific interval or when a named event happens.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.EVENT"></a>
<h3>Event name (EVENT)</h3>
<p>A unique character string used to represent an event. This character string should match an event that is described in the IBMSNAP_SUBS_EVENT table.
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>No event is used for timing.
</dd>
<dt><b>event-name</b></dt>
<dd>Unique character string representing an event.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.INTERVAL"></a>
<h3>Interval between iterations (INTERVAL)</h3>
<p>Specifies the time interval between refreshes of the target table in weeks, days, hours, and minutes. This is a two-part value. The first part, <i>number</i>, specifies the time interval from start time to start time; the second value is one of the following:
</p>
<dl>
<dt><b>*MIN</b></dt>
<dd>The time interval is specified in minutes.
</dd>
<dt><b>*HOUR</b></dt>
<dd>The time interval is specified in hours.
</dd>
<dt><b>*DAY</b></dt>
<dd>The time interval is specified in days.
</dd>
<dt><b>*WEEK</b></dt>
<dd>The time interval is specified in weeks.
</dd>
</dl>
<p>You can specify combinations of the above values. For example, ((2 *WEEK) (3 *DAY) (35 *MIN)) specifies a time interval of 2 weeks, 3 days, and 35 minutes. If you specify multiple instances of the same value, the last occurrence is used.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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 ADDDPRSUB 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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.ACTIVATE"></a>
<h3>Activate subscription (ACTIVATE)</h3>
<p>Determines if the subscription record is active. The copy is not updated from the source value unless the value of this parameter is *YES.
</p>
<dl>
<dt><b><u>*YES</u></b></dt>
<dd>The subscription is active.
</dd>
<dt><b>*NO</b></dt>
<dd>The subscription is not active. The copy is not updated until the value of this field is *YES.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.SQLBEFORE"></a>
<h3>SQL to run before (SQLBEFORE)</h3>
<p>Specifies SQL statements that run before the Apply process refreshes the target table.
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>No SQL statement is specified.
</dd>
<dt><b><i>SQL-statements</i></b></dt>
<dd>You can run up to 3 SQL statements before the Apply process refreshes the target table. This parameter consists of three elements.
<p><b>Element 1</b>: SQL statement
</p>
<dl>
<dt><b><i>SQL-statement</i></b></dt>
<dd>The SQL statement that you want to run. You should ensure that the SQL syntax used is correct on the platform on which you will be running this statement. DataPropagator does not check for proper syntax when running this statement. In addition, you must use the SQL naming convention. SQL table references must be in the form <u> LIBRARY.TABLE</u> instead of the system naming convention (<u> LIBRARY/TABLE</u> ).
</dd>
</dl>
<p><b>Element 2</b>: Server to run on
</p>
<dl>
<dt><b><u>*SRCSVR</u></b></dt>
<dd>The SQL statement is run at the source server where the source table is located.
</dd>
<dt><b>*TGTSVR</b></dt>
<dd>The SQL statement is run at the target server where the target table is located.
</dd>
</dl>
<p><b>Element 3</b>: Allowed SQL states
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>No SQL state values other than 00000 are to be considered successful.
</dd>
<dt><b><i>SQL-states</i></b></dt>
<dd>A list of between 1 and 10 SQL states. This is a 5 digit hexadecimal number ranging from 00000 to FFFFF.
<p>If the SQL statement completes with an SQLSTATE value of 00000 or any of the values you list on this parameter, it will be considered successful, and the Apply process will continue processing the subscription. Some SQL state values that might be useful are listed below:
</p>
<ul>
<li>02000. Row not found for update or delete.
</li>
<li>01567. The table was created but not journaled.
</li>
<li>01504. Update or delete does not include a WHERE clause.
</li>
<li>42710. Table already exists.
</li>
<li>42704. Table not found.
</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.SQLAFTER"></a>
<h3>SQL to run after (SQLAFTER)</h3>
<p>Specifies SQL statements that run after the Apply process refreshes the target table.
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>No SQL statement is specified.
</dd>
<dt><b><i>SQL-statements</i></b></dt>
<dd>You can run up to 3 SQL statements after the Apply process refreshes the target table. This parameter consists of three elements.
<p><b>Element 1</b>: SQL statement
</p>
<dl>
<dt><b><i>SQL-statement</i></b></dt>
<dd>The SQL statement that you want to run. You should ensure that the SQL syntax used is correct on the platform on which you will be running this statement. DataPropagator does not check for proper syntax when running this statement. In addition, you must use the SQL naming convention. SQL table references must be in the form <u> LIBRARY.TABLE</u> instead of the system naming convention (<u> LIBRARY/TABLE</u> ).
</dd>
</dl>
<p><b>Element 2</b>: Server to run on
</p>
<dl>
<dt><b>*TGTSVR</b></dt>
<dd>The SQL statement is run at the target server where the target table is located. For SQL After, this is the only server the SQL statements can be run on.
</dd>
</dl>
<p><b>Element 3</b>: Allowed SQL states
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>No SQL state values other than 00000 are to be considered successful.
</dd>
<dt><b><i>SQL-states</i></b></dt>
<dd>A list of between 1 and 10 SQL states. This is a 5 digit hexadecimal number ranging from 00000 to FFFFF.
<p>If the SQL statement completes with an SQLSTATE value of 00000 or any of the values you list on this parameter, it will be considered successful, and the Apply process will continue processing the subscription. Some SQL state values that might be useful are listed below:
</p>
<ul>
<li>02000. Row not found for update or delete.
</li>
<li>01567. The table was created but not journaled.
</li>
<li>01504. Update or delete does not include a WHERE clause.
</li>
<li>42710. Table already exists.
</li>
<li>42704. Table not found.
</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.MAXSYNCH"></a>
<h3>Maximum synchronization time (MAXSYNCH)</h3>
<p>Specifies the maximum synch minutes which is a time-threshold limit to regulate the amount of change data to fetch and apply during a subscription cycle.
</p>
<p>This is a two-part value. The first part, <i>number</i>, specifies the time interval; the second value is one of the following:
</p>
<dl>
<dt><b>*MIN</b></dt>
<dd>The time interval is specified in minutes.
</dd>
<dt><b>*HOUR</b></dt>
<dd>The time interval is specified in hours.
</dd>
<dt><b>*DAY</b></dt>
<dd>The time interval is specified in days.
</dd>
<dt><b>*WEEK</b></dt>
<dd>The time interval is specified in weeks.
</dd>
</dl>
<p>You can specify combinations of the above values. For example, ((3 *DAY) (35 *MIN)) specifies a time interval of 3 days, and 35 minutes. If you specify multiple instances of the same value, the last occurrence is used.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.CMTCNT"></a>
<h3>Commit count (CMTCNT)</h3>
<p>Specifies the commitment count which is the number of transactions Apply will process before doing a commit.
</p>
<dl>
<dt><b><u>*DEFAULT</u></b></dt>
<dd>The command will decide the value to use. If the TGTTYPE is *REPLICA, then the CMTCNT will be set to zero (0). Otherwise, it will be set to NULL.
</dd>
<dt><b>*NULL</b></dt>
<dd>Indicates the set will be read only with no referential integrity. A single COMMIT will be done after all data for the subscription set is processed.
</dd>
<dt><b>num-transactions</b></dt>
<dd>Valid only if the TGTTYPE is *REPLICA. Specifies the number of transactions to apply before Apply issues a COMMIT. Note: a value of 1 is the same as a value of 0.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="ADDDPRSUB.FEDSVR"></a>
<h3>Federated server (FEDSVR)</h3>
<p>Specifies the name of the DataJoiner remote server that is the source for this subscription.
</p>
<dl>
<dt><b><u>*NONE</u></b></dt>
<dd>The source server is not a DataJoiner remote server
</dd>
<dt><b>server-name</b></dt>
<dd>Name of the DataJoiner remote server
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="ADDDPRSUB.COMMAND.EXAMPLES">Examples</a></h3>None
</div>
<table width="100%">
<tr><td align="right"><a href="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="ADDDPRSUB.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>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>ASN3251</b></dt>
<dd>Subscription already exists for Apply Qualifier Set Name .
</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>ASN3259</b></dt>
<dd>Not authorized to Subscription Statement 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>ASN3265</b></dt>
<dd>Subscription set created for Apply Qualifier Set Name
</dd>
<dt><b>ASN3267</b></dt>
<dd>All members of set not from the same journal.
</dd>
<dt><b>ASN3274</b></dt>
<dd>Relative record numbers are not being captured.
</dd>
<dt><b>ASN3275</b></dt>
<dd>Record number column IBMQSQ_RRN is not available.
</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>ASN3288</b></dt>
<dd>SRCTBL and TGTTBL must both be *NONE.
</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>ASN4514</b></dt>
<dd>Subscription statements 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="#ADDDPRSUB.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>