506 lines
14 KiB
HTML
506 lines
14 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>Extract Writer Status (QSPEXTWI) 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. -->
|
|
<!-- Print 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 -->
|
|
<!--File Edited by Kersten Oct 2001 -->
|
|
<!--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>Extract Writer Status (QSPEXTWI) API</h2>
|
|
|
|
<div class="box" style="width: 70%;">
|
|
<br>
|
|
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%">Receiver variable</td>
|
|
<td align="left" valign="top" width="20%">Output</td>
|
|
<td align="left" valign="top" width="20%">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2</td>
|
|
<td align="left" valign="top">Length of receiver variable</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">3</td>
|
|
<td align="left" valign="top">Format name</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(8)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Writer handle</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(16)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">Spooled file handle</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">6</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>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: No<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The Extract Writer Status (QSPEXTWI) API is used by a driver program to
|
|
access information about the writer, the spooled file the writer is processing,
|
|
and to determine if the information for the spooled file has been changed. A
|
|
call to this API should be made by a driver program after each buffer is sent
|
|
to the printer.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<p>None</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Receiver variable</strong></dt>
|
|
|
|
<dd>OUTPUT; CHAR(*)
|
|
|
|
<p>The receiver variable that receives the information requested. You can
|
|
specify the size of the area to be smaller than the format requested as long as
|
|
you specify the length parameter correctly. As a result, the API returns only
|
|
the data that the area can hold.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Length of receiver variable</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The length of the receiver variable provided. The length of receiver
|
|
variable parameter may be specified up to the size of the receiver variable
|
|
specified in the user program. If the length of receiver variable parameter
|
|
specified is larger than the allocated size of the receiver variable specified
|
|
in the user program, the results are not predictable. The minimum length is 8
|
|
bytes.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Format name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p>The content and format of the writer information being returned.</p>
|
|
|
|
<p>You must specify one of the following:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="25 75" -->
|
|
<tr>
|
|
<td valign="top"><em><a href="#HDREXTW100">EXTW0100</a></em></td>
|
|
<td valign="top">Contains the information about the writer and the spooled file
|
|
it is processing.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Writer handle</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(16)
|
|
|
|
<p>The handle to the writer job. This handle is provided to the driver program
|
|
on a writer call to the driver exit program at initialization time (the
|
|
initialize option).</p>
|
|
</dd>
|
|
|
|
<dt><strong>Spooled file handle</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The spooled file handle to the current file which is being processed by the
|
|
writer. This handle is provided to the driver program on a writer call to the
|
|
driver exit program (using the process file option).</p>
|
|
</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="HDREXTW100">EXTW0100 Format</a></h3>
|
|
|
|
<p>The following table shows the information returned for the EXTW0100 format.
|
|
For more details about the fields in the following table see, <a href=
|
|
"#HDRFIELDD">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%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Bytes returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Bytes available</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Number of additional copies</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Reposition page number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Stop processing at page end</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">17</td>
|
|
<td align="center" valign="top">11</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Stop processing at end of copy</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">18</td>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Stop processing at page end, allow restart</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">19</td>
|
|
<td align="center" valign="top">13</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Stop processing at end of copy, allow
|
|
restart</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Stop processing at page end, file was
|
|
restarted</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">21</td>
|
|
<td align="center" valign="top">15</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">File held or deleted</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3><a name="HDRFIELDD">Field Descriptions</a></h3>
|
|
|
|
<p><strong>Bytes available.</strong> The number of bytes of data available to
|
|
be returned. All available data is returned if enough space is provided.</p>
|
|
|
|
<p><strong>Bytes returned.</strong> The number of bytes of data returned.</p>
|
|
|
|
<p><strong>File held or deleted.</strong> The file has been held or deleted.
|
|
This could have been the result of a user executing a Hold Spooled File
|
|
(HLDSPLF) or Delete Spooled File (DLTSPLF) command while the file was active to
|
|
the writer. This could also be the result of a user executing a Hold Writer
|
|
(HLDWTR) command followed by executing a Release Writer (RLSWTR) command with
|
|
the *BYPASS option, while the file was active to the writer.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The file has not been held or deleted.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The file has been held or deleted.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p><strong>Number of additional copies.</strong> The number of copies requested
|
|
to be printed. It is possible that the user could change the number of copies
|
|
to be printed using the Change Spooled File Attributes (CHGSPLFA) command.
|
|
Therefore the driver program must check the current number of copies. This
|
|
field has a range of values from 1 to 255. A special value of zero (0) is
|
|
returned if the number of copies has not changed.</p>
|
|
|
|
<p><strong>Reposition page number.</strong> The page where the writer is to
|
|
reposition the file. This field is set when the writer is restarted and is used
|
|
with the various stop processing flags.</p>
|
|
|
|
<p><strong>Stop processing at end of copy.</strong> Stop processing the file at
|
|
the end of the current copy. This can be set with an End Writer (ENDWTR)
|
|
command with the controlled option (*CNTRLD) specified.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The writer has not been ended with the controlled option.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The writer has been ended with the controlled option. When
|
|
this API is used within a print driver exit or writer transform exit program,
|
|
the exit program should finish the current copy of the file and return.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p><strong>Stop processing at end of copy, allow restart.</strong> Stop
|
|
processing the file at the end of the current copy. Allow printing to restart.
|
|
This is set with the Hold Writer (HLDWTR) command with the controlled option
|
|
(*CNTRLD) specified.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The writer has not been held with the controlled option.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The writer has been held with the controlled option. When this
|
|
API is used within a print driver exit or writer transform exit program, the
|
|
exit program should finish the current copy of the file and return.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p><strong>Stop processing at page end.</strong> Stop processing the file at
|
|
the end of the current page. This can be set with an End Writer (ENDWTR)
|
|
command with the page end option (*PAGEEND) specified.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The writer has not been ended with the page end option.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The writer has been ended with the page end option. When this
|
|
API is used within a print driver exit or writer transform exit program, the
|
|
exit program should finish the current page of the file and return.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p><strong>Stop processing at page end, allow restart.</strong> Stop processing
|
|
the file at the end of the current page. Allow printing to restart. This is set
|
|
with the Hold Writer (HLDWTR) command with the page end option (*PAGEEND)
|
|
specified.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The writer has not been held with the page end option.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The writer has been held with the page end option. When this
|
|
API is used within a print driver exit or writer transform exit program, the
|
|
exit program should finish the current page of the file and return.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p><strong>Stop processing at page end, file was restarted.</strong> The file
|
|
has restarted printing. It is possible that the user could restart printing the
|
|
file (CHGSPLFA). Therefore, the print driver program must check the Reposition
|
|
page number to determine where to restart printing.</p>
|
|
|
|
<p>Possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">The file has not restarted printing.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The file has started printing again.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<h3>Error Messages</h3>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<th align="left" valign="top">Message ID</th>
|
|
<th align="left" valign="top">Error Message Text</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="15%" valign="top">CPF24B4 E</td>
|
|
<td width="85%" valign="top">Severe error while addressing parameter list.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3CF1 E</td>
|
|
<td align="left" valign="top">Error code parameter not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C19 E</td>
|
|
<td align="left" valign="top">Error occurred with receiver variable
|
|
specified.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C21 E</td>
|
|
<td align="left" valign="top">Format name &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C24 E</td>
|
|
<td align="left" valign="top">Length of the receiver variable is not
|
|
valid.</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">CPF33CC E</td>
|
|
<td align="left" valign="top">No writer found for specified handle &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF33CD E</td>
|
|
<td align="left" valign="top">No file found for specified handle &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9872 E</td>
|
|
<td align="left" valign="top">Program or service program &1 in library
|
|
&2 ended. Reason code &3.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<hr>
|
|
API introduced: V3R7
|
|
|
|
<hr>
|
|
<table cellpadding="2" cellspacing="2" align="center">
|
|
<tr align="center">
|
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
|
|
"print1.htm">Print APIs</a> | <a href="aplist.htm">APIs by
|
|
category</a></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|
|
|