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

2383 lines
70 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!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>Host Print Transform (QWPZHPTR, QwpzHostPrintTransform) 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 -->
<!--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>Host Print Transform (QWPZHPTR, QwpzHostPrintTransform) API</h2>
<div class="box" style="width: 75%;">
<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%">Process option</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Option specific input information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Length of option specific input information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Spooled file data buffer</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Length of spooled file data buffer</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Option specific output information buffer</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Length of option specific output information
buffer</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Length of option specific output information
available</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Transformed data buffer</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Length of transformed data buffer</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">11</td>
<td align="left" valign="top">Length of transformed data available</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">12</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;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Service Program: QWPZHPT1<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Host Print Transform (OPM, QWPZHPTR; ILE, QwpzHostPrintTransform) API
provides an interface to the host print transform (HPT) function. The host
print transform transforms SCS or AFP data to ASCII data.</p>
<p>USERASCII spooled files will be converted in the same manner as data streams
supplied to the <a href="QIMGCVTI.htm">Convert Image (QIMGCVTI, QimgCvtImg)
API</a>. If the input data stream is not supported, data is returned as if it
were in its final form.</p>
<p>For informational purposes, a sample flow is given to show the interaction
between the caller and the Host Print Transform API.</p>
<ul>
<li>The Host Print Transform API is called with the initialize (10) process
option.
<p>The Host Print Transform API sets any initial information and returns to the
caller.</p>
</li>
<li>The first eligible spooled file is selected for processing.
<p>The Host Print Transform API is called with the process file (20) process
option. The name and identifier of the spooled file is passed in the input
information.</p>
<p>The Host Print Transform API determines if it will transform the spooled
file and returns to the caller an indication whether it will transform the
spooled file. The end file (40) process option must be used before another
process file (20) process option is allowed.</p>
</li>
<li>The Host Print Transform API is called with the transform data (30) process
option and the data to be transformed.
<p>You can use the Get Spooled File Data (QSPGETSP) API to get the data.</p>
<p>The Host Print Transform API transforms the data and passes back the
transformed data to the caller. This step happens repeatedly until the entire
spooled file has been passed to the Host Print Transform API. Alignment data
also could be returned with this option.</p>
</li>
<li>The Host Print Transform API also can be called with the maintain state
(34) process option or the transform pages (36) process option.
<p>The maintain state process option maintains information about the
transforming of the spooled file data, but does not return the transformed
data.</p>
<p>The transform pages process option provides additional data at the start and
end of each page.</p>
<p>These process options can be intermixed with the transform data process
option; however, it is recommended that transitions occur at complete page
boundaries.</p>
</li>
<li>The Host Print Transform API is called with the end file (40) process
option.
<p>The Host Print Transform API returns to the caller any remaining data to be
sent to the printer.</p>
</li>
<li>The caller selects the next eligible spooled file to be transformed.
<p>Steps starting with the process file (20) process option are repeated.</p>
</li>
<li>All transforming completed.
<p>The Host Print Transform API is called with the terminate (50) process
option. The Host Print Transform API cleans up any work spaces that it has
created and returns to the caller.</p>
</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Device Description Authority</em></dt>
<dd>*USE</dd>
<dt><em>Device Description Lock</em></dt>
<dd>*EXCLRD</dd>
<dt><em>Workstation Customization Object Authority</em></dt>
<dd>*USE</dd>
<dt><em>Workstation Customization Object Library Authority</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Process option</strong></dt>
<dd>INPUT; BINARY(4)
<p>The action for the host print transform to take. The first option should be
initialize (10).</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>10 (Initialize)</em></td>
<td valign="top">The Host Print Transform API sets any initial information with
this option.</td>
</tr>
<tr>
<td valign="top"><em>20 (Process file)</em></td>
<td valign="top">A spooled file is available to be transformed. The spooled
file name and other information is passed in the option specific input
information parameter to the Host Print Transform API. The Host Print Transform
API decides whether to transform the data and sets the transform file field in
the output information structure. Open time commands are returned in the
transformed data buffer for SCS data streams.</td>
</tr>
<tr>
<td valign="top"><em>30 (Transform data)</em></td>
<td valign="top">The Host Print Transform API is called when data is available
to be transformed. The data to be transformed is passed in the spooled file
data buffer parameter. This process is repeated until all data has been
processed. The transformed data is returned in the transformed data buffer. If
requested, alignment data is also returned. When alignment data is requested,
offsets and lengths for the alignment data are returned in the option specific
output information buffer parameter.</td>
</tr>
<tr>
<td valign="top"><em>34 (Maintain state)</em></td>
<td valign="top">The Host Print Transform API is called when data is available
to be transformed, but the transformed data is not returned to the caller. This
option is used to maintain the host print transform's state for later
processing of a specific page.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> This option is valid only for SCS and
AFPDS data.</td>
</tr>
<tr>
<td valign="top"><em>36 (Transform pages)</em></td>
<td valign="top">The Host Print Transform API is called when data is available
to be transformed. The data to be processed is passed in the spooled file data
buffer parameter. This option is used to provide additional data at the
beginning and end of each page.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">The transformed data is returned in the transformed data
buffer.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> This option is valid only for SCS and
AFPDS data.</td>
</tr>
<tr>
<td valign="top"><em>40 (End file)</em></td>
<td valign="top">The Host Print Transform API is informed that all data has
been processed. No data is passed on this call. The Host Print Transform API
may return additional data to the caller as an append to the end of the printed
data.
<p>This option is used even if the Host Print Transform API did not transform
any data.</p>
</td>
</tr>
<tr>
<td valign="top"><em>50 (Terminate)</em></td>
<td valign="top">All processing is complete. The Host Print Transform API
performs cleanup in any user spaces it used. Option 50 may be used after any
other process option.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Option specific input information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information that is provided to the Host Print Transform API. For the format
and description of this information, see <a href="#HDRTAPIINP">Option Specific
Input Information</a>.</p>
</dd>
<dt><strong>Length of option specific input information</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the option
specific input information specified in the option specific input information
parameter. This length must be either 243 bytes, 273 bytes, or 296 bytes.</p>
</dd>
<dt><strong>Spooled file data buffer</strong></dt>
<dd>INPUT; CHAR(*)
<p>The spooled file data to be transformed.</p>
</dd>
<dt><strong>Length of spooled file data buffer</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the spooled file data specified in the spooled file data
buffer parameter.</p>
</dd>
<dt><strong>Option specific output information buffer</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>Information that is returned from the Host Print Transform API to the
caller. For the format and description of this information, see <a href=
"#HDRTAPIOUT">Option Specific Output Information</a>.</p>
</dd>
<dt><strong>Length of option specific output information buffer</strong></dt>
<dd>INPUT; BINARY(4)
<p>The size, in bytes, of the option specific output information buffer.</p>
</dd>
<dt><strong>Length of option specific output information
available</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The length of the option specific output information available. If this
length is less than or equal to the length of the option specific output
information buffer parameter, all available information has been returned. If
this length is greater than the length of the option specific output
information buffer parameter, only data up to the length provided is returned
in the option specific output information buffer.</p>
</dd>
<dt><strong>Transformed data buffer</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>Spooled file data that has been transformed by the Host Print Transform API.
The data in this buffer can be sent to a printer. Alignment data, if requested,
is also returned in the transformed data buffer. The lengths and offsets of the
alignment information are returned in the option specific output information
buffer parameter. For the format and description of this information, see <a
href="#HDRTAPIOUT">Option Specific Output Information</a>.</p>
<p>This buffer must be large enough to contain all of the transformed data. As
a general rule, this buffer should be twice the size of the length of the
spooled file data buffer.</p>
</dd>
<dt><strong>Length of transformed data buffer</strong></dt>
<dd>INPUT; BINARY(4)
<p>The size, in bytes, of the transformed data buffer.</p>
</dd>
<dt><strong>Length of transformed data available</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The length of the transformed data that is available to be returned in the
transformed data buffer. If this length is less than or equal to the length of
the transform data buffer, all available information has been returned. If this
length is greater than the length of the transformed data buffer, only data up
to the length provided was returned in the transformed data buffer. The
remaining data is lost. An error message, CPF6DF9, is also returned.</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>
<p>The following table presents, in the same order, all the parameters
previously described. Each entry indicates whether a parameter will be used by
the Host Print Transform API. Y indicates yes and N indicates no.</p>
<table border cellpadding="5">
<!-- cols="16 13 13 15 13 13 17" -->
<tr>
<th align="left" valign="bottom">Parameter</th>
<th align="left" valign="bottom">Initialize (10)</th>
<th align="left" valign="bottom">Process File (20)</th>
<th align="left" valign="bottom">Transform Data (30,34,36)</th>
<th align="left" valign="bottom">End File (40)</th>
<th align="left" valign="bottom">Terminate (50)</th>
<th align="left" valign="bottom">Description</th>
</tr>
<tr>
<td align="left" valign="top">Process option</td>
<td align="center" valign="top">10</td>
<td align="center" valign="top">20</td>
<td align="center" valign="top">30,34,36</td>
<td align="center" valign="top">40</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">Process option</td>
</tr>
<tr>
<td align="left" valign="top">Option specific input information</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">See description of this parameter.</td>
</tr>
<tr>
<td align="left" valign="top">Length of option specific input information</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Length of option specific input information</td>
</tr>
<tr>
<td align="left" valign="top">Spooled file data buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Contains data only on spooled data to transform
option.</td>
</tr>
<tr>
<td align="left" valign="top">Length of spooled file data buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The length of the spooled file data buffer.</td>
</tr>
<tr>
<td align="left" valign="top">Option specific output information buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">See description of this parameter.</td>
</tr>
<tr>
<td align="left" valign="top">Length of option specific output information
buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">See description of this parameter.</td>
</tr>
<tr>
<td align="left" valign="top">Length of option specific output information
available</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The number of bytes of option specific output
information that is available. If this is greater than the length of the
buffer, only information that can fit in the option specific output information
buffer will be returned.</td>
</tr>
<tr>
<td align="left" valign="top">Transformed data buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="left" valign="top">This buffer can contain data to send to the
device before the transformed data (Start of file option) or after the
transformed data (End of file option), as well as transformed data (Spooled
data to transform option). Alignment information is also returned in this
buffer, if requested.</td>
</tr>
<tr>
<td align="left" valign="top">Length of transformed data buffer</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="left" valign="top">The size, in bytes, of the transformed data
buffer.</td>
</tr>
<tr>
<td align="left" valign="top">Length of transformed data available</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="left" valign="top">The number of bytes of transformed data that is
available.</td>
</tr>
<tr>
<td align="left" valign="top">Error code</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="left" valign="top">Error reporting.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRTAPIINP">Option Specific Input Information</a></h3>
<p>The following table shows the structure for the option specific input
information parameter. For more details about the fields in the following
table, see <a href="#HDRTAPIFDI">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(16)</td>
<td align="left" valign="top" width="60%">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Printer device name</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">86</td>
<td align="center" valign="top">56</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal spooled file identifier</td>
</tr>
<tr>
<td align="center" valign="top">128</td>
<td align="center" valign="top">80</td>
<td align="left" valign="top">CHAR(26)</td>
<td align="left" valign="top">Qualified job name</td>
</tr>
<tr>
<td align="center" valign="top">154</td>
<td align="center" valign="top">9A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Spooled file name</td>
</tr>
<tr>
<td align="center" valign="top">164</td>
<td align="center" valign="top">A4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Spooled file number</td>
</tr>
<tr>
<td align="center" valign="top">168</td>
<td align="center" valign="top">A8</td>
<td align="left" valign="top">CHAR(12)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">180</td>
<td align="center" valign="top">B4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">184</td>
<td align="center" valign="top">B8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">188</td>
<td align="center" valign="top">BC</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">198</td>
<td align="center" valign="top">C6</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Return alignment data</td>
</tr>
<tr>
<td align="center" valign="top">199</td>
<td align="center" valign="top">C7</td>
<td align="left" valign="top">CHAR(5)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">204</td>
<td align="center" valign="top">CC</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of complete pages</td>
</tr>
<tr>
<td align="center" valign="top">208</td>
<td align="center" valign="top">D0</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Workstation customizing object name</td>
</tr>
<tr>
<td align="center" valign="top">218</td>
<td align="center" valign="top">DA</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Workstation customizing object library</td>
</tr>
<tr>
<td align="center" valign="top">228</td>
<td align="center" valign="top">E4</td>
<td align="left" valign="top">CHAR(15)</td>
<td align="left" valign="top">Manufacturer type and model</td>
</tr>
<tr>
<td align="center" valign="top">243</td>
<td align="center" valign="top">F3</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Paper source 1</td>
</tr>
<tr>
<td align="center" valign="top">253</td>
<td align="center" valign="top">FD</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Paper source 2</td>
</tr>
<tr>
<td align="center" valign="top">263</td>
<td align="center" valign="top">107</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Envelope source</td>
</tr>
<tr>
<td align="center" valign="top">
273</td>
<td align="center" valign="top">111</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">274</td>
<td align="center" valign="top">112</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Job system name</td>
</tr>
<tr>
<td align="center" valign="top">282</td>
<td align="center" valign="top">11A</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Spooled file create date</td>
</tr>
<tr>
<td align="center" valign="top">289</td>
<td align="center" valign="top">121</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">290</td>
<td align="center" valign="top">122</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Spooled file create time</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRTAPIFDI">Field Descriptions</a></h3>
<p><strong>Envelope source.</strong> The size of the envelope installed in the
envelope source. This field is used only when the value for the printer device
name field is *NONE. If this field is not specified or the value is not valid,
the special value of *MFRTYPMDL is used.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">There is no envelope source.</td>
</tr>
<tr>
<td valign="top"><em>*MFRTYPMDL</em></td>
<td valign="top">The envelope size suggested by the manufacturer type and model
is used.</td>
</tr>
<tr>
<td valign="top"><em>*MONARCH</em></td>
<td valign="top">The envelope is monarch-size (3.875 x 7.5 inches).</td>
</tr>
<tr>
<td valign="top"><em>*NUMBER9</em></td>
<td valign="top">The envelope is size number 9 (3.875 x 8.875 inches).</td>
</tr>
<tr>
<td valign="top"><em>*NUMBER10</em></td>
<td valign="top">The envelope is size number 10 (4.125 x 9.5 inches).</td>
</tr>
<tr>
<td valign="top"><em>*B5</em></td>
<td valign="top">The envelope is size B5 (176 mm x 250 mm).</td>
</tr>
<tr>
<td valign="top"><em>*C5</em></td>
<td valign="top">The envelope is size C5 (162 mm x 229 mm).</td>
</tr>
<tr>
<td valign="top"><em>*DL</em></td>
<td valign="top">The envelope is size DL (110 mm x 220 mm).</td>
</tr>
</table>
<br>
<p><strong>Note:</strong> This field is not validity checked when a name is
specified in the printer device name field.</p>
<p><strong>Internal job identifier.</strong> The internal job identifier of the
job that owns the spooled file. This field must be blank if a name is given
for the qualified job name.</p>
<p><strong>Internal spooled file identifier.</strong> The internal spooled file
identifier of the spooled file being processed. This field must be blank if a
name is given for the spooled file name.</p>
<p><strong>Job system
name.</strong> The name of the system where the job that created the spooled
file ran or blank when the spooled file name is *INT. This field is considered
after the job name, user name, job number, spooled file name, and spooled file
number field requirements have been met.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ONLY</em></td>
<td valign="top">There is one job with the specified job name, user name, job
number, spooled file name, spooled file number, spooled file create date, and
spooled file create time.</td>
</tr>
<tr>
<td valign="top"><em>*CURRENT</em></td>
<td valign="top">The job on the current system with the specified job name,
user name, job number, spooled file name, spooled file number, spooled file
create date, and spooled file create time is used.</td>
</tr>
<tr>
<td valign="top"><em>*ANY</em></td>
<td valign="top">The job system name is not considered when selecting a spooled
file. Use this value when you want the Spooled file create date and Spooled
file create time parameters to take precedence over the job system name when
selecting a spooled file.</td>
</tr>
<tr>
<td valign="top"><em>system-name</em></td>
<td valign="top">The name of the system the job that created the spooled file
ran on.</td>
</tr>
</table>
<br>
<p>When the Length of option specific input information parameter is less than
296 bytes, the API assumes blanks when the spooled file name is *INT. When
spooled file name is not *INT,the API assumes *ONLY.</p>
<p><strong>Manufacturer type and model.</strong> The manufacturer, type, and
model for a printer using transform support. This field must be blank when a
printer device name is specified.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*WSCST</em></td>
<td valign="top">The workstation customizing object is used to obtain the
manufacturer type and model.</td>
</tr>
<tr>
<td valign="top"><em>type and model</em></td>
<td valign="top">The manufacturer type and model. For a list of valid
manufacturer types and models, see MFRTYPMDL parameter on the Create Device
Description (Printer) (CRTDEVPRT) command in the <a href=
"../rbam6/rbam6clmain.htm">Control Language (CL)</a> information in the iSeries
Information Center.</td>
</tr>
<tr>
<td valign="top"><em>blank</em></td>
<td valign="top">The manufacturer type and model is retrieved from the printer
device.</td>
</tr>
</table>
<br>
<p><strong>Number of complete pages.</strong> The number of complete pages that
are contained in the spooled file data input buffer.</p>
<p><strong>Paper source 1.</strong> The size of the paper installed in paper
source 1. This field is used only when the value for the printer device name
field is *NONE. If this field is not specified or the value is not valid, the
special value of *MFRTYPMDL is used.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top">*NONE</td>
<td valign="top">There is no paper source 1 or the paper is manually fed into
the printer.</td>
</tr>
<tr>
<td valign="top">*MFRTYPMDL</td>
<td valign="top">The paper size suggested by the manufacturer type and model is
used.</td>
</tr>
<tr>
<td valign="top">*LETTER</td>
<td valign="top">The paper for this source is letter-size (8.5 x 11
inches).</td>
</tr>
<tr>
<td valign="top">*LEGAL</td>
<td valign="top">The paper for this source is legal-size (8.5 x 14
inches).</td>
</tr>
<tr>
<td valign="top">*EXECUTIVE</td>
<td valign="top">The paper for this source is executive-size (7.25 x 10.5
inches).</td>
</tr>
<tr>
<td valign="top">*LEDGER</td>
<td valign="top">The paper for this source is ledger-size (8.5 x 17
inches).</td>
</tr>
<tr>
<td valign="top">*A3</td>
<td valign="top">The paper for this source is size A3 (297 mm x 420 mm).</td>
</tr>
<tr>
<td valign="top">*A4</td>
<td valign="top">The paper for this source is size A4 (210 mm x 297 mm).</td>
</tr>
<tr>
<td valign="top">*A5</td>
<td valign="top">The paper for this source is size A5 (148 mm x 210 mm).</td>
</tr>
<tr>
<td valign="top">*B4</td>
<td valign="top">The paper for this source is size B4 (257 mm x 364 mm).</td>
</tr>
<tr>
<td valign="top">*B5</td>
<td valign="top">The paper for this source is size B5 (182 mm x 257 mm).</td>
</tr>
<tr>
<td valign="top">*CONT80</td>
<td valign="top">The paper for this source is 8.0 inches wide and a continuous
form.</td>
</tr>
<tr>
<td valign="top">*CONT132</td>
<td valign="top">The paper for this source is 13.2 inches wide and a continuous
form.</td>
</tr>
</table>
<br>
<p><strong>Note:</strong> This field is not validity checked when a name is
specified in the printer device name field.</p>
<p><strong>Paper source 2.</strong> The size of the paper installed in paper
source 2. This field is used only when the value for the printer device name
field is *NONE. If this field is not specified or the value is not valid, the
special value of *MFRTYPMDL is used.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top">*NONE</td>
<td valign="top">There is no paper source 2.</td>
</tr>
<tr>
<td valign="top">*MFRTYPMDL</td>
<td valign="top">The paper size suggested by the manufacturer type and model is
used.</td>
</tr>
<tr>
<td valign="top">*LETTER</td>
<td valign="top">The paper for this source is letter-size (8.5 x 11
inches).</td>
</tr>
<tr>
<td valign="top">*LEGAL</td>
<td valign="top">The paper for this source is legal-size (8.5 x 14
inches).</td>
</tr>
<tr>
<td valign="top">*EXECUTIVE</td>
<td valign="top">The paper for this source is executive-size (7.25 x 10.5
inches).</td>
</tr>
<tr>
<td valign="top">*LEDGER</td>
<td valign="top">The paper for this source is ledger-size (11 x 17
inches).</td>
</tr>
<tr>
<td valign="top">*A3</td>
<td valign="top">The paper for this source is size A3 (297 mm x 420 mm).</td>
</tr>
<tr>
<td valign="top">*A4</td>
<td valign="top">The paper for this source is size A4 (210 mm x 297 mm).</td>
</tr>
<tr>
<td valign="top">*A5</td>
<td valign="top">The paper for this source is size A5 (148 mm x 210 mm).</td>
</tr>
<tr>
<td valign="top">*B4</td>
<td valign="top">The paper for this source is size B4 (257 mm x 364 mm).</td>
</tr>
<tr>
<td valign="top">*B5</td>
<td valign="top">The paper for this source is size B5 (182 mm x 257 mm).</td>
</tr>
<tr>
<td valign="top">*CONT80</td>
<td valign="top">The paper for this source is 8.0 inches wide and a continuous
form.</td>
</tr>
<tr>
<td valign="top">*CONT132</td>
<td valign="top">The paper for this source is 13.2 inches wide and a continuous
form.</td>
</tr>
</table>
<p><strong>Note:</strong> This field is not validity checked when a name is
specified in the printer device name field.</p>
<p><strong>Printer device name.</strong> The name of the printer device.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">There is no printer device associated with the transform.
Necessary information will be used from the workstation customizing object, the
manufacturer type and model, various spooled file attributes, and the paper
sources.</td>
</tr>
<tr>
<td valign="top"><em>name</em></td>
<td valign="top">The name of the printer device.</td>
</tr>
</table>
<p><strong>Note:</strong> When a device name is specified for this field, the
manufacturer type and model must be blank and the work station customizing
object name must be *NONE.</p>
<p><strong>Qualified job name.</strong> The qualified job name of the job that
owns the spooled file.</p>
<p>The qualified job name has three parts:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>job name</em></td>
<td valign="top">CHAR(10). A specific job name, or one of the following special
values:
<table cellpadding="5">
<tr>
<td valign="top"><em>*</em></td>
<td valign="top">Only the job that this program is running. The rest of the job
name field must be blank.</td>
</tr>
<tr>
<td valign="top"><em>*INT</em></td>
<td valign="top">The internal job identifier used to locate the spooled file.
The user name and job number must be set to blank.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td valign="top"><em>user name</em></td>
<td valign="top">CHAR(10). A specific user profile name, or blanks when the job
name is * or *INT.</td>
</tr>
<tr>
<td valign="top"><em>job number</em></td>
<td valign="top">CHAR(6). A specific job number, or blanks when the job name is
* or *INT.</td>
</tr>
</table>
<br>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Return alignment data.</strong> Whether the transform should return
data to the caller that can be used for alignment purposes.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Do not return alignment information.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Return alignment information.</td>
</tr>
</table>
<br>
<p><strong>Spooled file create
date.</strong> The date the spooled file was created on the system or blank
when the spooled file name is *INT. This parameter is considered after the job
name, user name, job number, spooled file name, spooled file number, and job
system name parameter requirements have been met. The date must be in the
CYYMMDD format or one of the following special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ONLY</em></td>
<td valign="top">There is only one spooled file with the specified job name,
user name, job number, spooled file name, spooled file number, and job system
name.</td>
</tr>
<tr>
<td valign="top"><em>*LAST</em></td>
<td valign="top">The spooled file with the latest date and time which also has
the specified job name, user name, job number, spooled file name, spooled file
number, and job system name is used.</td>
</tr>
<tr>
<td valign="top"><em>date</em></td>
<td valign="top">The date the spooled file was created on the system in the
format CYYMMDD. See field Date file opened in API QUSRSPLA under field
descriptions for more information on the date format.</td>
</tr>
</table>
<br>
<p>When the Length of option specific input information parameter is less than
296 bytes, the API assumes blanks when the spooled file name is *INT. When
spooled file name is not *INT, the API assumes *ONLY.</p>
<p><strong>Spooled file create time.</strong> The time the spooled file was
created on the system. This field must be set to blanks when special values
*LAST or *ONLY are used for field Spooled file create date. This field must be
set if the spooled file create date has a date specified. This field is
considered after the job name, user name, job number, spooled file name,
spooled file number, job system name, and spooled file create date field
requirements have been met.</p>
<p>The time must be in the HHMMSS format or one of the following special
values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ONLY</em></td>
<td valign="top">There is only one spooled file with the specified job name,
user name, job number, spooled file name, spooled file number, job system name,
and spooled file create date.</td>
</tr>
<tr>
<td valign="top"><em>*LAST</em></td>
<td valign="top">The spooled file with the latest time which also has the
specified job name, user name, job number, spooled file name, spooled file
number, job system name, and spooled file create date is used.</td>
</tr>
<tr>
<td valign="top"><em>time</em></td>
<td valign="top">The time the spooled file was created on the system in the
format HHMMSS. See field Time file opened in API QUSRSPLA under field
descriptions for more information on the time format.</td>
</tr>
<tr>
<td valign="top"><em>blanks</em></td>
<td valign="top">This field must be set to blanks if the spooled file create
date field is set to *LAST or *ONLY.</td>
</tr>
</table>
<br>
<p>When the Length of option specific input information parameter is less than
296 bytes, the API assumes blanks for this field.</p>
<p><strong>Spooled file name.</strong> The name of the spooled file being
processed.</p>
<p>You can use this special value for the name:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>*INT</em></td>
<td valign="top">The internal spooled file identifier is used to locate the
spooled file.</td>
</tr>
</table>
<br>
<p><strong>Spooled file number.</strong> The number of the spooled file being
processed. The valid range is 1 through 999999.</p>
<p>The following special values are supported for this field:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Only one spooled file from the job has the specified file
name. Therefore, the number of the spooled file is not necessary.</td>
</tr>
<tr>
<td valign="top"><em>-1</em></td>
<td valign="top">This uses the highest-numbered spooled file with the specified
spooled file name.</td>
</tr>
<tr>
<td valign="top"><em>-2</em></td>
<td valign="top">The spooled file number is not used to determine which spooled
file to process. Use this value when you want the Job system name field or the
Spooled file create date and Spooled file create time fields to take precedence
over the spooled file number when selecting a spooled file.</td>
</tr>
</table>
<br>
<p><strong>Note:</strong> This field must contain a valid value even if the
value for the spooled file name field is *INT.</p>
<p>A value is required because the API performs validity checking on all
fields.</p>
<p><strong>Workstation customizing object library.</strong> The library
containing the workstation customizing object.</p>
<p><strong>Workstation customizing object name (WSCST).</strong> The name of an
object that consists of a table of attributes used to customize a given ASCII
device. This field must be *NONE when a printer device name is specified.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">There is no workstation customizing object. The workstation
customizing object is obtained from the printer device.</td>
</tr>
<tr>
<td valign="top"><em>name</em></td>
<td valign="top">The name of the workstation customizing object, which has been
created by the Create Work Station Customizing Object (CRTWSCST) command.</td>
</tr>
</table>
<br>
<p>The following table presents, in the same order, all the fields previously
described in the option specific input information table. Each entry indicates
whether a field will be defined for a particular option. Y indicates yes and N
indicates no.</p>
<table border cellpadding="5">
<!-- cols="16 13 13 15 13 13 17" -->
<tr>
<th align="left" valign="bottom">Field</th>
<th align="left" valign="bottom">Initialize (10)</th>
<th align="left" valign="bottom">Process File (20)</th>
<th align="left" valign="bottom">Transform Data (30,34,36)</th>
<th align="left" valign="bottom">End File (40)</th>
<th align="left" valign="bottom">Terminate (50)</th>
<th align="left" valign="bottom">Description</th>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Printer device name</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Device name of the printer.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Internal job identifier</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">For use with existing spooled file APIs.</td>
</tr>
<tr>
<td align="left" valign="top">Internal spooled file identifier</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">For use with existing spooled file APIs.</td>
</tr>
<tr>
<td align="left" valign="top">Qualified job name</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Job owning spooled file.</td>
</tr>
<tr>
<td align="left" valign="top">Spooled file name</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Name of spooled file being processed.</td>
</tr>
<tr>
<td align="left" valign="top">Spooled file number</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Number of spooled file being processed.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Return alignment information</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Return alignment information along with
transformed data.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved.</td>
</tr>
<tr>
<td align="left" valign="top">Number of complete pages</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The number of complete pages in the data to be
transformed.</td>
</tr>
<tr>
<td align="left" valign="top">Workstation customizing object name</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The name of the object that consists of a table
of attributes used to customize an ASCII device.</td>
</tr>
<tr>
<td align="left" valign="top">Workstation customizing object library</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The name of the library containing the
workstation customizing object.</td>
</tr>
<tr>
<td align="left" valign="top">Manufacturer type and model</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The manufacturer, type, and model of the ASCII
device using the host print transform function.</td>
</tr>
<tr>
<td align="left" valign="top">Paper source 1</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The size of the paper in paper source 1.</td>
</tr>
<tr>
<td align="left" valign="top">Paper source 2</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The size of the paper in paper source 2.</td>
</tr>
<tr>
<td align="left" valign="top">Envelope source</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The size of the envelope in the envelope
source.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRTAPIOUT">Option Specific Output Information</a></h3>
<p>The following table shows the structure for the option specific output
information buffer. This structure is used to pass information from the Host
Print Transform API to the caller. For more details about the fields in the
following table, see <a href="#HDRTAPIFDO">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%">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Transform file</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="center" valign="top">5</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Pass input data</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="center" valign="top">6</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Done transforming file</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="center" valign="top">9</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</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">Offset to vertical positioning commands</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of vertical positioning commands</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to print data</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of print data</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to carriage return commands</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of carriage return commands</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to form feed commands</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of form feed commands</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">Carriage return commands</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">Form feed commands</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRTAPIFDO">Field Descriptions</a></h3>
<p><strong>Carriage return commands.</strong> The carriage return commands
contain the data stream commands, which can be used to do end-of-line
processing for alignment purposes.</p>
<p><strong>Done transforming file.</strong> Indicates the host print transform
requires no further data to process the current file. This field should be
ignored when the pass input data field is set to 0.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Continue calling the host print transform with the transform
data (30) option.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">The next call to the host print transform will be with the end
file (40) option.</td>
</tr>
</table>
<br>
<p><strong>Form feed commands.</strong> The form feed commands contain data
stream commands, which can be used to do end-of-page processing for alignment
purposes.</p>
<p><strong>Length of carriage return commands.</strong> The length, in bytes,
of the carriage return commands. The carriage return commands are returned in
the output specific information.</p>
<p><strong>Length of form feed commands.</strong> The length, in bytes, of the
form feed commands. The form feed commands are returned in the output specific
information.</p>
<p><strong>Length of print data.</strong> The length, in bytes, of the print
data for the first line of data on the page. This includes any horizontal
positioning that is done in the first line.</p>
<p><strong>Length of vertical positioning commands.</strong> The length, in
bytes, of the vertical positioning commands that are returned in the
transformed data buffer.</p>
<p><strong>Offset to carriage return commands.</strong> Offset to the carriage
return commands in the output specific information. The carriage return
commands contain the data stream commands that can be used to do end-of-line
processing for alignment purposes.</p>
<p><strong>Offset to form feed commands.</strong> Offset to the form feed
commands in the output specific information. The form feed commands contain
data stream commands that can be used to do end-of-page processing for
alignment purposes.</p>
<p><strong>Offset to print data.</strong> Offset to the first line of the print
data for the page in the transformed data buffer. This first line can be
printed for alignment purposes.</p>
<p><strong>Offset to vertical positioning commands.</strong> Offset to the
vertical positioning commands in the transformed data buffer.</p>
<p><strong>Pass input data.</strong> Whether the caller passes the input data
to the host print transform .</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">The caller will pass the input data to the host print
transform .</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">The caller will not pass the input data to the host print
transform . The host print transform will read the data directly from the
file.</td>
</tr>
</table>
<br>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Transform file.</strong> Whether the spooled file data will be
transformed.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">The spooled file data cannot be transformed.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">At least one of the following conditions exists:<br>
<ul>
<li>A transform is not available for the data stream represented in the spooled
file.</li>
<li>A device description is specified and the device does not use the host
print transform function.</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">The spooled file data will be transformed.</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">The spooled file data is already in its final form.</td>
</tr>
</table>
<br>
<p>The following table presents, in the same order, all the fields previously
described in the option specific output information table. Each entry indicates
whether a field will be used with a particular option. Y indicates yes and N
indicates no.</p>
<p>The length and offset fields describe the format of the transformed data
buffer when alignment data has been requested.</p>
<table border cellpadding="5">
<!-- cols="16 13 13 15 13 13 17" -->
<tr>
<th align="left" valign="bottom">Field</th>
<th align="left" valign="bottom">Initialize (10)</th>
<th align="left" valign="bottom">Process File (20)</th>
<th align="left" valign="bottom">Transform Data (30,34,36)</th>
<th align="left" valign="bottom">End File (40)</th>
<th align="left" valign="bottom">Terminate (50)</th>
<th align="left" valign="bottom">Description</th>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">Transform file</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Informs the caller that the Host Print Transform
API can be called with either the process file process option, or the transform
data process option.</td>
</tr>
<tr>
<td align="left" valign="top">Pass input data</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Allows the host print transform to specify
whether the caller will provide the input data or the host print transform will
read the data directly from the file.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">Done transforming file</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">For the spooled file currently being processed,
it allows the host print transform to stop the caller from calling the host
print transform with any additional process option 30 calls.</td>
</tr>
<tr>
<td align="left" valign="top">Reserved</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">Offset to vertical positioning commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The offset to the vertical positioning commands
in the transformed data buffer. When alignment information is requested,
vertical positional commands are also returned in the transformed data
buffer.</td>
</tr>
<tr>
<td align="left" valign="top">Length of vertical positioning commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The length of the vertical positioning commands
that are returned in the transformed data buffer. This can be used in alignment
processing.</td>
</tr>
<tr>
<td align="left" valign="top">Offset to print data</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The offset to the print data for the first line
of the page. This can be used for alignment processing.</td>
</tr>
<tr>
<td align="left" valign="top">Length of print data</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The length of print data for the first line of
data for a page. This can be used for alignment processing.</td>
</tr>
<tr>
<td align="left" valign="top">Offset to carriage return commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Offset to the carriage return commands in the
output specific information. The carriage return commands are data stream
commands that can be used to do end-of-line processing for alignment
purposes.</td>
</tr>
<tr>
<td align="left" valign="top">Length of carriage return commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The length of the carriage return commands.</td>
</tr>
<tr>
<td align="left" valign="top">Offset of form feed commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">Offset to the form feed commands in the output
specific information. The form feed commands are data stream commands that can
be used to do end-of-page processing for alignment purposes.</td>
</tr>
<tr>
<td align="left" valign="top">Length of form feed commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The length of the form feed commands.</td>
</tr>
<tr>
<td align="left" valign="top">Carriage return commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The carriage return commands for alignment.</td>
</tr>
<tr>
<td align="left" valign="top">Form feed commands</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">Y</td>
<td align="center" valign="top">N</td>
<td align="center" valign="top">N</td>
<td align="left" valign="top">The form feed commands for alignment.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table cellpadding="5">
<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 valign="top">CPF2625 E</td>
<td valign="top">Not able to allocate object &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF2634 E</td>
<td valign="top">Not authorized to object &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF2702 E</td>
<td valign="top">Device description &amp;1 not found.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF3CF2 E</td>
<td valign="top">Error(s) occurred during running of &amp;1 API.</td>
</tr>
<tr>
<td valign="top">CPF3C1D E</td>
<td valign="top">Length specified in parameter &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C33 E</td>
<td valign="top">Spooled file number &amp;1 is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C40 E</td>
<td valign="top">Spooled file &amp;4 not found.</td>
</tr>
<tr>
<td valign="top">CPF3C41 E</td>
<td valign="top">More than one spooled file with same name.</td>
</tr>
<tr>
<td valign="top">CPF3C42 E</td>
<td valign="top">User name or job number is not blank.</td>
</tr>
<tr>
<td valign="top">CPF3C43 E</td>
<td valign="top">Internal job identifier is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C44 E</td>
<td valign="top">Internal spooled file identifier is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C58 E</td>
<td valign="top">Job name specified is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF33C9 E</td>
<td valign="top">Spooled file name parameter cannot be blank.</td>
</tr>
<tr>
<td valign="top">CPF3309 E</td>
<td valign="top">No files named &amp;1 are active.</td>
</tr>
<tr>
<td valign="top">CPF3330 E</td>
<td valign="top">Necessary resource not available.</td>
</tr>
<tr>
<td valign="top">CPF333B E</td>
<td valign="top">Job system name is not valid.</td>
</tr>
<tr>
<td valign="top">CPF333C E</td>
<td valign="top">Spooled file create date is not valid.</td>
</tr>
<tr>
<td valign="top">CPF333D E</td>
<td valign="top">Spooled file create time is not valid.</td>
</tr>
<tr>
<td valign="top">CPF333E E</td>
<td valign="top">Spooled file create time is not blank.</td>
</tr>
<tr>
<td valign="top">CPF333F E</td>
<td valign="top">Job system name is not blank.</td>
</tr>
<tr>
<td valign="top">CPF3342 E</td>
<td valign="top">Job &amp;5/&amp;4/&amp;3 not found.</td>
</tr>
<tr>
<td valign="top">CPF3343 E</td>
<td valign="top">Duplicate job names found.</td>
</tr>
<tr>
<td valign="top">CPF3344 E</td>
<td valign="top">File &amp;1 number &amp;2 no longer in the system.</td>
</tr>
<tr>
<td valign="top">CPF335B E</td>
<td valign="top">Spooled file create date is not blank.</td>
</tr>
<tr>
<td valign="top">CPF6DF2 E</td>
<td valign="top">AFP data stream in user space &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF6DF4 E</td>
<td valign="top">Object &amp;2 in library &amp;3 contains unrecognizable
data.</td>
</tr>
<tr>
<td valign="top">CPF6DF5 E</td>
<td valign="top">Value &amp;1 not valid for process option parameter.</td>
</tr>
<tr>
<td valign="top">CPF6DF6 E</td>
<td valign="top">Value &amp;1 not valid for return alignment field.</td>
</tr>
<tr>
<td valign="top">CPF6DF7 E</td>
<td valign="top">Option specific input information field values not valid.</td>
</tr>
<tr>
<td valign="top">CPF6DF8 E</td>
<td valign="top">Data cannot be transformed.</td>
</tr>
<tr>
<td valign="top">CPF6DF9 E</td>
<td valign="top">Transformed data buffer too small.</td>
</tr>
<tr>
<td valign="top">CPF6DFB E</td>
<td valign="top">Error occurred while transforming data.</td>
</tr>
<tr>
<td valign="top">CPF8105 E</td>
<td valign="top">Device description &amp;4 damaged.</td>
</tr>
<tr>
<td valign="top">CPF9801 E</td>
<td valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td valign="top">CPF9802 E</td>
<td valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9803 E</td>
<td valign="top">Cannot allocate object &amp;2 in library &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9804 E</td>
<td valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td valign="top">CPF9820 E</td>
<td valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF9872 E</td>
<td valign="top">Program or service program &amp;1 in library &amp;2 ended.
Reason code &amp;3.</td>
</tr>
</table>
<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>