ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzakj_5.4.0.1/rzakjnotify.htm

137 lines
8.7 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Commit notify object" />
<meta name="abstract" content="A notify object is a message queue, data area, or database file that contains information identifying the last successful transaction completed for a particular commitment definition if that commitment definition did not end normally." />
<meta name="description" content="A notify object is a message queue, data area, or database file that contains information identifying the last successful transaction completed for a particular commitment definition if that commitment definition did not end normally." />
<meta name="DC.Relation" scheme="URI" content="rzakjstartcommit.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakjcommitbatch.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakjusenotify.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzakjnotify" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Commit notify object</title>
</head>
<body id="rzakjnotify"><a name="rzakjnotify"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Commit notify object</h1>
<div><p>A <dfn class="term">notify object</dfn> is a message queue, data area, or
database file that contains information identifying the last successful transaction
completed for a particular commitment definition if that commitment definition
did not end normally.</p>
<p>The information used to identify the last successful transaction for a
commitment definition is given by the <dfn class="term">commit identification</dfn> that
associates a commit operation with a specific set of committable resource
changes.</p>
<p>The commit identification of the last successful transaction for a commitment
definition is placed in the notify object only if the commitment definition
does not end normally. This information can be used to help determine where
processing for an application ended so that the application can be started
again.</p>
<p>For independent disk pools, the notify object must reside on the same independent
disk pool or independent disk pool group as the commitment definition. If
you move the commitment definition to another independent disk pool or independent
disk pool group, the notify object must also reside on that other independent
disk pool or independent disk pool group. The notify object on the other independent
disk pool or independent disk pool group is updated if the commitment definition
ends abnormally. If the notify object is not found on the other independent
disk pool or independent disk pool group, the update fails with message CPF8358.</p>
<p>If journaled resources participate in the current transaction and a commit
operation is performed with a commit identification, the commit identification
is placed in the commit journal entry (journal code and entry type of C CM)
that identifies that particular transaction as being committed. A commit journal
entry containing the commit identification is sent to each journal associated
with resources that participated in the transaction.</p>
<p>The following table shows how you specify the commit identification and
its maximum size. If the commit identification exceeds its maximum size, it
is truncated when it is written to the notify object.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e41">Language</th>
<th valign="top" id="d0e43">Operation</th>
<th valign="top" id="d0e45">Maximum characters in commit identification</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e41 ">CL</td>
<td valign="top" headers="d0e43 ">COMMIT command</td>
<td valign="top" headers="d0e45 ">3000 <sup>1</sup></td>
</tr>
<tr><td valign="top" headers="d0e41 ">ILE RPG*</td>
<td valign="top" headers="d0e43 ">COMIT operation code</td>
<td valign="top" headers="d0e45 ">4000 <sup>1</sup></td>
</tr>
<tr><td valign="top" headers="d0e41 ">PLI.</td>
<td valign="top" headers="d0e43 ">PLICOMMIT subroutine</td>
<td valign="top" headers="d0e45 ">4000 <sup>1</sup></td>
</tr>
<tr><td valign="top" headers="d0e41 ">ILE C*</td>
<td valign="top" headers="d0e43 ">_Rcommit function</td>
<td valign="top" headers="d0e45 ">4000 <sup>1</sup></td>
</tr>
<tr><td valign="top" headers="d0e41 ">ILE COBOL*</td>
<td valign="top" headers="d0e43 ">COMMIT verb</td>
<td valign="top" headers="d0e45 ">Not supported</td>
</tr>
<tr><td valign="top" headers="d0e41 ">SQL</td>
<td valign="top" headers="d0e43 ">COMMIT statement</td>
<td valign="top" headers="d0e45 ">Not supported</td>
</tr>
<tr><td colspan="3" valign="top" headers="d0e41 d0e43 d0e45 "><div class="note"><span class="notetitle">Note:</span> <sup>1</sup>If the notify object
is a data area, the maximum size is 2000 characters.</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>When a notify object is updated with the commit identification, it is updated
as follows:</p>
<dl><dt class="dlterm">Database file</dt>
<dd>If a database file is used as the notify object, the commit identification
is added to the end of the file. Any existing records will be left in the
file. Because several users or jobs can be changing records at the same time,
each commit identification in the file contains unique information to associate
the data with the job and commitment definition that failed. The file that
serves can be journaled</dd>
<dt class="dlterm">Data area</dt>
<dd>If a data area is used as the notify object, the entire content of the
data area is replaced when the commit identification is placed in the data
area. If more than one user or job is using the same program, only the commit
identification from the last commitment definition that did not end normally
will be in the data area. Consequently, a single data area notify object might
not produce the correct information for starting the application programs
again. To solve this problem, use a separate data area for each commitment
definition for each workstation user or job.</dd>
<dt class="dlterm">Message queue</dt>
<dd>If a message queue is used as a notify object, message CPI8399 is sent
to the message queue. The commit identification is placed in the second-level
text for message CPI8399. As with using a database file for the notify object,
the contents of each commit identification uniquely identify a particular
commitment definition for a job so that an application program can be started
again.</dd>
</dl>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakjstartcommit.htm" title="To start commitment control, use the Start Commitment Control (STRCMTCTL) Command.">Start commitment control</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakjcommitbatch.htm" title="Batch applications might or might not need commitment control. In some cases, a batch application can perform a single function of reading an input file and updating a master file. However, you can use commitment control for this type of application if it is important to start it again after an abnormal end.">Commitment control for batch applications</a></div>
<div><a href="rzakjusenotify.htm" title="When a program is started after an abnormal end, it can look for an entry in the notify object. If the entry exists, the program can start a transaction again. After the transaction has been started again, the notify object is cleared by the program to prevent it from starting the same transaction yet another time.">Example: Use a notify object to start an application</a></div>
</div>
</div>
</body>
</html>