ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qxdablok.htm

376 lines
11 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">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Block EDRS Access (QxdaBlockEDRS) API</title>
<!-- Begin Header Records ========================================= -->
<!-- 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. -->
<!-- File SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- This file has undergone html cleanup on 9/18/01 by JET -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Block EDRS Access (QxdaBlockEDRS) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Input structure</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Input structure format</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program: QXDADBBK<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Conditional; see <a href="#usage_notes">Usage
Notes</a><br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Block EDRS Access (QxdaBlockEDRS) API provides functions to allow client
jobs to be temporarily suspended or switched to a backup server system in a
client/server environment. This API does not physically block the system; all
access must be controlled using the functions provided by the EDRS APIs.</p>
<br>
<h3>Authorities and Locks</h3>
<p>The user running the API must have *JOBCTL special authority.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Input structure</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure to pass information about the function to perform and the
systems involved. For the format of this parameter, see <a href="#HDRBLKI100">
BLKI0100 Format</a>.</p>
</dd>
<dt><strong>Input structure format</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the input structure being used. The possible value is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>BLKI0100</em></td>
<td align="left" valign="top">Basic structure</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRBLKI100">BLKI0100 Format</a></h3>
<p>The following table shows the information to pass in the BLKI0100 format.
For more details about the fields in this table, see <a href="#HDRFIELD1">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Function</td>
</tr>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="left" valign="top">CHAR(256)</td>
<td align="left" valign="top">EDRS server system name</td>
</tr>
<tr>
<td align="center" valign="top">257</td>
<td align="center" valign="top">101</td>
<td align="left" valign="top">CHAR(256)</td>
<td align="left" valign="top">Backup EDRS server system name</td>
</tr>
<tr>
<td align="center" valign="top">513</td>
<td align="center" valign="top">201</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">520</td>
<td align="center" valign="top">208</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to job-suspension user data</td>
</tr>
<tr>
<td align="center" valign="top">524</td>
<td align="center" valign="top">20C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of job-suspension user data</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Job-suspension user data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRFIELD1">Field Descriptions</a></h3>
<p><strong>Backup EDRS server system name.</strong> The name of the system that
will take over as the server system when function 2 is called. This parameter
is required for function 1 and must be set to blanks for other functions. The
following special value is allowed:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*RESET</em></td>
<td align="left" valign="top">This value should be specified on function 1 when
switching back to the original EDRS server system.</td>
</tr>
</table>
<p><strong>EDRS server system name.</strong> The name of the database server
system. It is required for all functions. This should always be the original
server system name, even after a backup has been associated with the
system.</p>
<p><strong>Function.</strong> The function to perform. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="30 70" -->
<tr>
<td align="left" valign="top"><em>1 - QXDA_BLOCK</em></td>
<td align="left" valign="top">Block access to the server system specified.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>2 - QXDA_SWITCH_SERVER</em></td>
<td align="left" valign="top">Associate the backup server system passed to
function 1 with the original server system specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3 - QXDA_REGISTER_JOB</em></td>
<td align="left" valign="top">Register the current job to be notified when the
specified server system is blocked. A job is notified by a SIGUSR1 signal being
delivered to the job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4 - QXDA_REMOVE_JOB</em></td>
<td align="left" valign="top">Remove the job from the list of jobs to be
notified of a server system block.</td>
</tr>
<tr>
<td align="left" valign="top"><em>5 - QXDA_UNBLOCK</em></td>
<td align="left" valign="top">Allow access to the server system that was
previously blocked. This function is not allowed when *RESET is specified as
the backup system name to function 1.</td>
</tr>
</table>
<p><strong>Job-suspension user data.</strong> The data to associate with a job
or a system that is used to determine which jobs on the client system should be
blocked. If no job-suspension user data is supplied, all jobs connected to the
specified server system will be blocked.</p>
<p><strong>Length of job-suspension user data.</strong> The length of
job-suspension user data supplied.</p>
<p><strong>Offset to job-suspension user data.</strong> The offset from the
beginning of the input structure to the job-suspension user data in the input
structure, in bytes. This value must be set to 0 for functions 2 and 5, and is
optional for all other functions.</p>
<p><strong>Reserved.</strong> This value must be initialized to blanks.</p>
<br>
<h3><a name="usage_notes">Usage Notes</a></h3>
<p>This function may be called from the initial thread of a job only.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF0001 E</td>
<td align="left" valign="top">Error found on &amp;1 command.</td>
</tr>
<tr>
<td align="left" valign="top">CPF180C E</td>
<td align="left" valign="top">Function &amp;1 not allowed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF222E E</td>
<td align="left" valign="top">&amp;1 special authority is required.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1E E</td>
<td align="left" valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFAE14 E</td>
<td align="left" valign="top">Cannot allocate &amp;1 bytes.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB751 E</td>
<td align="left" valign="top">Parameter &amp;1 passed not correct.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB752 E</td>
<td align="left" valign="top">Internal error in &amp;1 API.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB75A E</td>
<td align="left" valign="top">Function &amp;1 not valid while system &amp;2 is
blocked.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB75B E</td>
<td align="left" valign="top">Function &amp;1 not valid while system &amp;2 is
not blocked.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB75C E</td>
<td align="left" valign="top">System name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB75D E</td>
<td align="left" valign="top">Function &amp;1 not allowed.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB75E E</td>
<td align="left" valign="top">Job not removed.</td>
</tr>
</table>
<br>
<hr>
API introduced: V4R4
<hr>
<table align="center" cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#top_Of_Page">Top</a> | <a href=
"file1.htm">Database and File APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>