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

112 lines
7.2 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="End commitment control" />
<meta name="abstract" content="You can find what prerequisites are necessary to end commitment control and how to end commitment control in this topic." />
<meta name="description" content="You can find what prerequisites are necessary to end commitment control and how to end commitment control in this topic." />
<meta name="DC.Relation" scheme="URI" content="rzakjcommitkickoff.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/endcmtctl.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakjupdatenotify.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="rzakjendcommit" />
<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>End commitment control</title>
</head>
<body id="rzakjendcommit"><a name="rzakjendcommit"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">End commitment control</h1>
<div><p>You can find what prerequisites are necessary to end commitment
control and how to end commitment control in this topic.</p>
<p>You can end commitment control for either the job-level or activation-group-level
commitment definition using the End Commitment Control (ENDCMTCTL) command.
Issuing the ENDCMTCTL command indicates to the system that the commitment
definition in use by the program making the request is to be ended. The ENDCMTCTL
command ends only one commitment definition for the job and all other commitment
definitions for the job remain unchanged.</p>
<p>If the activation-group-level commitment definition is ended, then programs
running within that activation group can no longer make changes under commitment
control, unless the job-level commitment definition is already started for
the job. If the job-level commitment definition is active, then it is immediately
made available for use by the programs running within the activation group
that just ended commitment control.</p>
<p>If the job-level commitment definition is ended, then any program running
within the job that was using the job-level commitment definition can no longer
make changes under commitment control without first starting commitment control
again with the STRCMTCTL command.</p>
<p>Before issuing the ENDCMTCTL command, the following conditions
must be satisfied for the commitment definition to be ended:</p>
<ul><li>All files opened under commitment control for the commitment definition
to be ended must first be closed. When ending the job-level commitment definition,
this includes all files opened under commitment control by any program running
in any activation group that is using the job-level commitment definition.</li>
<li>All API commitment resources for the commitment definition to be ended
must first be removed using the QTNRMVCR API. When ending the job-level commitment
definition, this includes all API commitment resources added by any program
running in any activation group that is using the job-level commitment definition.</li>
<li>A remote database associated with the commitment definition to be ended
must be disconnected.</li>
<li>All protected conversations associated with the commitment definition
must be ended normally using the correct synchronization level.</li>
</ul>
<p>If commitment control is being ended in an interactive job and one or more
committable resources associated with the commitment definition have pending
changes, inquiry message CPA8350 is sent to the user asking whether to commit
the pending changes, roll back the pending changes, or cancel the ENDCMTCTL
request.</p>
<p>If commitment control is being ended in a batch job, and one or more closed
files associated with the commitment definition to be ended still have pending
changes, the changes are rolled back and a message is sent:</p>
<ul><li>CPF8356 if only local resources are registered</li>
<li>CPF835C if only remote resources are registered</li>
<li>CPF83E4 if both local and remote resources are registered</li>
</ul>
<p>If a notify object is defined for the commitment definition being ended,
it might be updated.</p>
<p>When an activation group that has an API registered as the last agent is
ending, the exit program for the API is called to receive the commit or rollback
decision. In this case, even though the activation group is ending normally,
a rollback request can still be returned from the API exit program. Thus,
the implicit commit operation might not be performed.</p>
<p>After the commitment definition has successfully ended, all the necessary
recovery, if any, has been performed. No additional recovery is performed
for the commitment resources associated with the commitment definition just
ended.</p>
<p>After the commitment definition is ended, the job-level or activation-group-level
commitment definition can then be started again for the programs running within
the activation group. The job-level commitment definition can
be started only if it is not already started for the job.</p>
<p>Although commitment definitions can be started and ended many times by
the programs that run within an activation group, the amount of system resources
required for the repeated start and end operations can cause a decrease in
job performance and overall system performance. Therefore, it is recommended
that a commitment definition be left active if a program to be called later
will use it.</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakjcommitkickoff.htm" title="Commitment control is a function that ensures data integrity. It allows you to define and process a group of changes to resources, such as database files or tables, as a transaction.">Commitment control</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakjupdatenotify.htm" title="This topic lists the uncommitted changes for purposes of the notify object.">Updates to the notify object</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../cl/endcmtctl.htm">End Commitment Control (ENDCMTCTL) command</a></div>
</div>
</div>
</body>
</html>