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

1674 lines
50 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>Create Program Temporary Fix (QPZCRTFX) 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. -->
<!-- QPZCRTFX SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
<!-- at RCHVMW2 on 7 Oct 1998 at 18:16:11 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- File cleanup completed Feb 2002 by v2cdijab -->
<!-- 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 type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Create Program Temporary Fix (QPZCRTFX) 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="45%">PTF information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="25%">Char(50)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Development library name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Objects</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array (*) of Char (20)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Number of objects</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Documents</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array (*) of Char(73)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Number of documents</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Requisite PTFs</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array(*) of Char(24)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Number of requisite PTFs</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Exit programs</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array(*) of Char(84)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Number of exit programs</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">Problem IDs</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array(*) of Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="left" valign="top">Number of problem IDs</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">13</td>
<td align="left" valign="top">Cover letters</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array(*) of Char(44)</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="left" valign="top">Number of cover letters</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">15</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;Optional Parameter Group 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">16</td>
<td align="left" valign="top" width="45%">Directory information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="25%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="left" valign="top">Number of directories</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">18</td>
<td align="left" valign="top" width="45%">Additional parameter information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="25%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">19</td>
<td align="left" valign="top">Additional parameter information format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>This API should only be used by organizations to create program temporary
fixes (PTFs) for products that they develop.</p>
<p>The Create Program Temporary Fix (QPZCRTFX) API creates a PTF save file and
optionally creates cover letters in the general purpose library (QGPL). The
save file contains a PTF control object and any number of fix objects. The save
file name is the PTF identifier preceded by the letter Q. If a file with the
same name already exists in QGPL, a unique name is generated by the system.
This name is a timestamp preceded by the letter Q. After creating the PTF, you
can use the Display PTF (DSPPTF) command to view the PTF attributes.</p>
<p>PTFs can only be created for products that are installed.</p>
<p>PTFs must be created by a profile that is known to exist on all systems.
This allows a PTF to be loaded on any system that has the product
installed.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>API Public Authority</em></dt>
<dd>*EXCLUDE<br>
<br>
</dd>
<dt><em>Create library (CRTLIB) command</em></dt>
<dd>*USE authority to the command and all authorities required by the
command.<br>
<br>
</dd>
<dt><em>Create save file (CRTSAVF) command</em></dt>
<dd>*USE authority to the command and all authorities required by the
command.</dd>
</dl>
<br>
<p>The following authorities are required when specifying the indicated input
parameter:</p>
<dl>
<dt><em>Cover Letter Parameter</em></dt>
<dd>*USE authority to input cover letter file</dd>
<dd>*EXECUTE authority to input cover letter library</dd>
<dd>*OBJOPR, *OBJMGR, *ADD, *DLT authority to the QAPZCOVER file in library
QGPL<br>
<br>
</dd>
<dt><em>Object Parameter</em></dt>
<dd>*CHANGE authority to the object</dd>
<dd>*EXECUTE authority to the development library<br>
<br>
</dd>
<dt><em>Exit program parameter</em></dt>
<dd>*CHANGE authority to the exit program</dd>
<dd>*EXECUTE authority to the exit program library<br>
<br>
</dd>
<dt><em>Document parameter</em></dt>
<dd>*USE authority to the SAVDLO command and all authorities required by the
command.<br>
<br>
</dd>
<dt><em>Directory information parameter</em></dt>
<dd>*USE authority to the SAV command and all authorities required by the
command.</dd>
<dd>*USE authority to the CPY command and all authorities required by the
command.</dd>
<dd>*USE authority to the CRTDIR command and all authorities required by the
command.</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>PTF information</strong></dt>
<dd>INPUT; CHAR(50)
<p>Attributes of the PTF to be created. See <a href="#HDRPTFINFO">PTF
Information Format</a> for more information about this field.</p>
</dd>
<dt><strong>Development library name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The library in which the fix is located. This can be any library.</p>
</dd>
<dt><strong>Objects</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(20)
<p>The name and type of each object to be included in the PTF. The first 10
characters contain the name, and the second 10 characters contain the external
type of the object.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top" nowrap><em>Object name</em></td>
<td align="left" valign="top">The name of the object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Object type</em></td>
<td align="left" valign="top">The external type of the object. This must be
preceded by an asterisk (*). For more information, refer to the <a href=
"../books/sc415321.pdf">System Manager Use</a> <img src="wbpdf.gif" alt=
"Link to PDF"> book.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Number of objects</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of objects listed in the objects parameter. <img src="delta.gif" alt="Start of change">This number must be
in the range of 0 through 300.<img src="deltaend.gif" alt="End of change"></p>
</dd>
<dt><strong>Documents</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(73)
<p>The name of the documents that are to be included in the PTF.</p>
<p>The create PTF function copies the document from a subfolder using the name
specified, followed by <samp>/QP</samp>. For example, if a PTF is being created
for a product folder called PRODUCT, the fix objects must be developed in a
subfolder named PRODUCT/QP. The document is installed into the product folder
PRODUCT during the apply PTF operation. The QP subfolder allows you to develop
a PTF without changing the product.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top" nowrap><em>Document name</em></td>
<td align="left" valign="top">The name of the document including the path
name.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Number of documents</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of documents listed in the documents parameter. <img src="delta.gif" alt="Start of change">This number must
be in the range of 0 through 300.<img src="deltaend.gif" alt="End of change"></p>
</dd>
<dt><strong>Requisite PTFs</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(24)
<p>The list of requisite PTFs. A <strong>requisite relationship</strong> exists
when one PTF requires that another PTF also be applied. It is a
<strong>prerequisite relationship</strong> if the other PTF does not require
the first. It is a <strong>corequisite relationship</strong> if the other PTF
does require the first. Prerequisite PTFs must exist within the same product. A
prerequisite PTF must already exist on the system or the create operation will
fail. Corequisite PTFs must exist within the same product, option, load id, and
release.</p>
<p>For more information on this structure, see <a href="#HDRREQSS">Requisite
PTF Format</a>.</p>
</dd>
<dt><strong>Number of requisite PTFs</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of PTFs listed in the requisite PTFs parameter. <img src="delta.gif" alt="Start of change">This number must
be in the range of 0 through 300.<img src="deltaend.gif" alt="End of change"></p>
</dd>
<dt><strong>Exit programs</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(84)
<p>The PTF exit programs called when a PTF is temporarily applied, permanently
applied, temporarily removed, or permanently removed. Exit programs eliminate
the need for you to manually carry out special instructions to install the PTF.
The run option field of this parameter determines when the exit program is
called.</p>
<p>Shipping the same exit program in two PTFs causes one PTF to supersede the
other.</p>
<p>For more information on this structure, see <a href="#HDREGRESS">Exit
Programs Format</a> and <a href="ptfxprg.htm">Program Temporary Fix Exit
Program</a>.</p>
</dd>
<dt><strong>Number of exit programs</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of exit programs listed in the exit programs parameter. <img src="delta.gif" alt="Start of change">This
number must be in the range of 0 through 50.<img src="deltaend.gif" alt="End of change"></p>
</dd>
<dt><strong>Problem IDs</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(10)
<p>A list of the problem IDs for problems that this PTF fixes. By listing the
problem IDs, the symptom strings associated with those problems will be
included in the PTFs.</p>
</dd>
<dt><strong>Number of problem IDs</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of problem IDs listed in the problem IDs parameter. <img src="delta.gif" alt="Start of change">This number
must be in the range of 0 through 300.<img src="deltaend.gif" alt="End of change"></p>
</dd>
<dt><strong>Cover letters</strong></dt>
<dd>INPUT; ARRAY(*) of CHAR(44)
<p>A cover letter can be created for each of the national language versions
(NLV) that IBM supports. A member that contains source for each PTF cover
letter must be supplied as input to the API. The cover letter file can be a
source file with a maximum record length of 92 or a physical file with record
length of 80. The cover letter must be in the file before this API is called.
Only one cover letter per NLV is allowed.</p>
<p>For more information on this structure see <a href="#HDRCOVER">Cover Letter
Format</a>.</p>
</dd>
<dt><strong>Number of cover letters</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of cover letters listed in the cover letter parameter. <img src="delta.gif" alt="Start of change">This
number must be in the range of 0 through 50.<img src="deltaend.gif" alt="End of change"></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>Optional Parameter Group 1</h3>
<dl>
<dt><strong>Directory information</strong></dt>
<dd>INPUT; Array(*) of CHAR(*)
<p>Identifies the information for directory objects that are included in the
PTF. See <a href="#HDRDIRINFO">Directory Information Format</a> for more
information about this field.</p>
</dd>
<dt><strong>Number of directories</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of directories listed in the directory information parameter.
This number must be in the range of 0 through 30.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 2</h3>
<dl>
<dt><strong>Additional parameter information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The additional information to use when creating this PTF.</p>
</dd>
<dt><strong>Additional parameter information format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the data specified in the additional parameter information.
The possible format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>PTFC0100</em></td>
<td align="left" valign="top">The format contains information to create a PTF
that contains job preconditions and object preconditions. For details, see <a
href="#HDRPTFC100">PTFC0100 Format</a>.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3><a name="HDRPTFINFO">PTF Information Format</a></h3>
<p>For detailed descriptions of each field, see <a href="#HDRPTFRDE">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(7)</td>
<td align="left" valign="top" width="60%">PTF ID</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="center" valign="top">7</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="center" valign="top">E</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release level</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Product option</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Primary object library name</td>
</tr>
<tr>
<td align="center" valign="top">34</td>
<td align="center" valign="top">22</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Load ID</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Target release</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRREQSS">Requisite PTF Format</a></h3>
<p>Each entry in the array for the requisite PTFs parameter has the following
format. For detailed descriptions of each field, see <a href="#HDRPTFRDE">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(7)</td>
<td align="left" valign="top" width="60%">PTF ID</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="center" valign="top">7</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">23</td>
<td align="center" valign="top">17</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Requisite type</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDREGRESS">Exit Programs Format</a></h3>
<p>Each entry in the array for the exit programs parameter has the following
format. For detailed descriptions of each field, see <a href="#HDRPTFRDE">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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Exit program name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Exit program library name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Run option</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Exit program type</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">User data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRCOVER">Cover Letter Format</a></h3>
<p>Each entry in the array for the cover letter parameter has the following
format. The information must be presented in the order listed below. The exact
offsets for each entry are not given. For detailed descriptions of each field,
see <a href="#HDRPTFRDE">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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Cover letter file name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Cover letter library name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Cover letter member name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">NLV</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDIRINFO">Directory Information Format</a></h3>
<p>Each record in the array for the directory information parameter has the
following format. The information must be presented in the order listed below.
The exact offsets for each entry are not given. For detailed descriptions of
each field, see <a href="#HDRPTFRDE">Field Descriptions</a>.</p>
<p>The following restrictions exist when you are assigning directory names:</p>
<ul>
<li>You cannot specify /QSYS.LIB or /QDLS directories.</li>
<li>You must specify unique path names.</li>
<li>Do not begin or end the path name with a forward slash.</li>
<li>Do not use a blank in the directory path name.</li>
<li>Do not use any of the character combinations of "." or ".." in the
directory path name.</li>
</ul>
<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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">Array of CHAR(*)</td>
<td align="left" valign="top" width="60%">Directory information record</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the next directory information
record</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the development directory name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of the development directory name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the product directory name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of the product directory name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the first directory object information
record</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of directory objects</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">Development directory name</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">Product directory name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDIROBJI">Directory Object Information Record Format</a></h3>
<p>Each record in the array for the directory object information parameter has
the following format. The information must be presented in the order listed
below. The exact offsets for each entry are not given. For detailed
descriptions of each field, see <a href="#HDRPTFRDE">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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">Array of CHAR(*)</td>
<td align="left" valign="top" width="60%">Directory object information
record</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of directory object name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Displacement to next directory object information
record</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">Directory object name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRPTFC100">PTFC0100 Format</a></h3>
<p>This information defines the format for the additional parameter information
when the additional parameter information format name is PTFC0100. For detailed
descriptions of each field, see <a href="#HDRPTFRDE">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%">Offset to first job precondition
record</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">Number of job precondition records</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">Length of each job precondition record</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 first object precondition record</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">Number of object precondition records</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">Length of each object precondition record</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRJOBCND">Job Precondition Record</a></h3>
<p>An array containing the names of the jobs or subsystems that must not be
active when the PTF is being immediately applied or removed temporarily. When
this PTF is applied or removed and this job or subsystem is active, the PTF
will not be allowed to be processed.</p>
<p><strong>Note:</strong> PTF processing will not prevent the job or subsystem
from becoming active after this check is made, but before the PTF is actually
processed.</p>
<p>Each record in the job preconditions array has the following format. The
information must be presented in the order listed below. The exact offsets for
each entry are not given. For detailed descriptions of each field, see <a href=
"#HDRPTFRDE">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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Precondition type</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Precondition name</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">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJCND">Object Precondition Record</a></h3>
<p>An array containing the names of the objects that must not be allocated when
the PTF is being immediately applied or removed temporarily. When this PTF is
applied or removed and this object has active or waiting locks, the PTF will
not be allowed to be processed.</p>
<p><strong>Note:</strong> PTF processing will not prevent the object from being
allocated after this check is made, but before the PTF is actually
processed.</p>
<p>Each entry in the object preconditions array has the following format. The
information must be presented in the order listed below. The exact offsets for
each entry are not given. For detailed descriptions of each field, see <a href=
"#HDRPTFRDE">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%">&nbsp;</td>
<td align="center" valign="top" width="10%">&nbsp;</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Precondition object name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Precondition library name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Precondition object type</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">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRPTFRDE">Field Descriptions</a></h3>
<p><strong>Cover letter file name.</strong> The name of the file where the
cover letter can be located.</p>
<p><strong>Cover letter library name.</strong> The name of the library where
the cover letter file can be located.</p>
<p><strong>Cover letter member name.</strong> The member name that contains the
cover letter.</p>
<p><strong>Development directory name.</strong> The name of the directory where
the directory objects that will be in the PTF reside. The possible special
value is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*PRDDIR</em></td>
<td align="left" valign="top">The development directory name is the same as the
product directory name.</td>
</tr>
</table>
<p><strong>Directory information record.</strong> The information about each
directory for this PTF.</p>
<p><strong>Directory object information record.</strong> The information about
the objects for this directory.</p>
<p><strong>Directory object name.</strong> The name of the directory object to
include in the PTF.</p>
<p><strong>Exit program library name.</strong> The library where the exit
program can be found. If the exit program is part of the PTF, this is the
library in which it exists currently. If the exit program is part of the
product, this is the primary library where the exit program exists.</p>
<p><strong>Exit program name.</strong> The name of the exit program.</p>
<p><strong>Exit program type.</strong> Whether the exit program is to be
included in this PTF. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*PTF</em></td>
<td align="left" valign="top">The exit program is to be included in the PTF.
The exit program must exist in the library specified in the exit program
library field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJLST</em></td>
<td align="left" valign="top">The exit program is part of the product and
should not be included in the PTF. The exit program must exist in one of the
following:
<ul>
<li>The object list for the product, option, and load of the PTF being
created.</li>
<li>The principal library for the base option (*BASE) of the product.</li>
</ul>
</td>
</tr>
</table>
<p><strong>Length of each job precondition record.</strong> The length of the
job precondition record. The length must be set to 11.</p>
<p><strong>Length of each object precondition record.</strong> The length of
the object precondition record. The length must be set to 30.</p>
<p><strong>Length of the development directory name.</strong> The length of the
development directory name. The length of a development directory cannot exceed
240 characters.</p>
<p><strong>Length of the directory object name.</strong> The length of the
directory object name. The length of a directory object exceed 255
characters.</p>
<p><strong>Length of the product directory name.</strong> The length of the
product directory name. The length of a product directory cannot exceed 240
characters.</p>
<p><strong>Load ID.</strong> The load ID of the product load for the PTF. This
will be a language load if the PTF is for textual data, or it will be the code
load.</p>
<p><strong>Number of directory objects.</strong> The number of objects that
exist in the array of directory object information records. This number must be
in the range of 1 through 100.</p>
<p><strong>Number of job precondition records.</strong> The number of job
preconditions that exist. This number must be in the range of 0 through 300.</p>
<p><strong>Number of object precondition records.</strong> The number of object
preconditions that exist. This number must be in the range of 0 through 300.</p>
<p><strong>NLV.</strong> The NLV of the cover letter. This must be a valid
system NLV.</p>
<p><strong>Offset to the development directory name.</strong> The byte offset
from the beginning of the directory information parameter to the beginning of
the name of the development directory.</p>
<p><strong>Offset to the first directory object information record.</strong>
The byte offset from the beginning of the directory information parameter to
the first directory object information record.</p>
<p><strong>Offset to the first job precondition record.</strong> The byte
offset from the beginning of the additional information parameter to the
beginning of the first job precondition record.</p>
<p><strong>Offset to the first object precondition record.</strong> The byte
offset from the beginning of the additional information parameter to the
beginning of the first object precondition record.</p>
<p><strong>Offset to the next directory information record.</strong> The byte
offset from the beginning of the directory information parameter to the
beginning of the next directory information record.</p>
<p><strong>Offset to the product directory name.</strong> The byte offset from
the beginning of the directory information parameter to the beginning of the
name of the product directory.</p>
<p><strong>Precondition library name.</strong> The name of the library where
the object specified in the precondition object name field resides.</p>
<p><strong>Precondition name.</strong> The name of the job or subsystem that
must not be active when this PTF is temporarily applied or removed immediately.
A specific name or a generic name can be specified. This field must be blanks
when the precondition type is 3 or 4.</p>
<p><strong>Precondition object name.</strong> The name of the object that must
not be allocated when this PTF is applied temporarily or removed immediately. A
specific name or a generic name may be specified.</p>
<p><strong>Precondition object type.</strong> The type of the object specified
in the precondition object name field.</p>
<p><strong>Precondition type.</strong> The type of the precondition specified
in the precondition name. The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The precondition name indicates a job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The precondition name indicates a subsystem.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The system must be in restricted state for this
PTF to be immediately applied or removed. The precondition name field must be
blanks when this value is specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">No Java virtual machines can be active on the
system in order to temporarily apply or temporarily remove this PTF
immediately. Any new Java virtual machines will be prevented from
being started during the apply or remove processing. The precondition name
field must be blanks when this value is specified.
</td>
</tr>
</table>
<p><strong>Primary object library name.</strong> The library in which the
objects are to be placed when the PTF is applied. If necessary, the PTF apply
operation maps the primary library that is specified when the PTF was created
in the actual installed library. Two cases where this is important are:</p>
<ul>
<li>The product load has been installed into a secondary language library.</li>
<li>Dynamic library renaming was used when the product was installed.</li>
</ul>
<p><strong>Product directory name.</strong> The name of the directory defined
by the product that is the default directory where the objects will reside when
the PTF is applied. The length of a product directory cannot exceed 240
characters.</p>
<p><strong>Product ID.</strong> The product for which the PTF is being created.
This product must be installed on the system.</p>
<p><strong>Product option.</strong> The option of the product for which the PTF
is being created. All objects in the PTF must be for the same option and the
same library within the option.</p>
<p><strong>PTF ID.</strong> The ID by which the PTF is to be known. The
identifier must be 7 characters. The first character must be numeric. The
second and third characters must be alphabetic. The same identifier can be used
only once for each product and release level.</p>
<p><strong>Release level.</strong> The version, release, and modification level
of the product in the format V<em>x</em>R<em>y</em>M<em>z</em>. Valid values
for <em>x</em> and <em>y</em> are 0 through 9, and valid values for <em>z</em>
are 0 through 9 or A through Z.</p>
<p><strong>Requisite type.</strong> The type of requisite relationship. If this
is blank, a prerequisite relationship is assumed. The possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The requisite PTF is a prerequisite of this PTF.
The requisite PTF is required by this PTF, but it does not require this PTF. It
cannot specify this PTF as a prerequisite. It must be applied before or with
this PTF. If it is applied with this PTF, the system applies it first.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The requisite PTF is a corequisite of this PTF;
it is required by this PTF, and it requires this PTF. It must specify this PTF
as a corequisite. Corequisite PTFs must be applied together. When they are
applied together, the system may apply either of them first.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>(blank)</em></td>
<td align="left" valign="top">A value of 1 is assumed. The requisite PTF is a
prerequisite of this PTF. The requisite PTF is required by this PTF, but it
does not require this PTF.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An error will be signaled if this field does not
contain blanks.</p>
<p><strong>Run option.</strong> When the exit program is to be run. The
possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*BOTH</em></td>
<td align="left" valign="top">The exit program will be run at the end of apply
and remove processing.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*APPLY</em></td>
<td align="left" valign="top">The exit program will be run at the end of apply
processing.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*REMOVE</em></td>
<td align="left" valign="top">The exit program will be run at the end of remove
processing.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PREAPY</em></td>
<td align="left" valign="top">The exit program will be run before the PTF is
applied and at the end of apply processing.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PRERMV</em></td>
<td align="left" valign="top">The exit program will be run before the PTF is
removed and at the end of remove processing.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PREBTH</em></td>
<td align="left" valign="top">The exit program will be run before the PTF is
removed and at the end of remove processing. It is also run before the PTF is
applied and at the end of apply processing.</td>
</tr>
</table>
<p><strong>Target release.</strong> The earliest release of the
operating system on which you intend to load and apply the PTF. This must be
left-justified. If this is blank, the current release is assumed. The possible
special values follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CUR</em></td>
<td align="left" valign="top">The PTF is to be loaded, applied to, and used on
the release of the operating system currently running on your system. The PTF
also can be applied on a system with any later release of the operating system
installed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PRV</em></td>
<td align="left" valign="top">The PTF is to be loaded, applied to, and used on
the previous release with modification level 0 of the operating system. The PTF
also can be applied on a system with any later release of the operating system
installed.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>Target release</em></td>
<td align="left" valign="top">The release of the operating system on which you
intend to load and apply the PTF. The release level is specified in the format
V<em>x</em>R<em>y</em>M<em>z</em>, where V<em>x</em> is the version,
R<em>y</em> is the release, and M<em>z</em> is the modification level. Valid
values depend on the current version, release, and modification level, and they
change with each new release.
<p><strong>Note:</strong> This PTF can be loaded and applied on any release
after the specified target release.</p>
</td>
</tr>
</table>
<p><strong>User data.</strong> Any data you want to pass to the exit
program.</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">CPF24B4 E</td>
<td align="left" 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">CPF3C29 E</td>
<td align="left" valign="top">Object name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C31 E</td>
<td align="left" valign="top">Object type &amp;1 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">CPF35BC E</td>
<td align="left" valign="top">Object type &amp;1 not supported.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35CC E</td>
<td align="left" valign="top">Library required for building PTFs already
exists.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35DA E</td>
<td align="left" valign="top">Folder &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35DB E</td>
<td align="left" valign="top">Duplicate documents specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35DC E</td>
<td align="left" valign="top">Primary library not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35DD E</td>
<td align="left" valign="top">Problem &amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35DF E</td>
<td align="left" valign="top">Value for target release not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D3 E</td>
<td align="left" valign="top">Cover letter not copied.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D4 E</td>
<td align="left" valign="top">Cover letter file record length too long.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D5 E</td>
<td align="left" valign="top">Cover letter NLV not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D6 E</td>
<td align="left" valign="top">Duplicate exit programs specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D8 E</td>
<td align="left" valign="top">Exit program &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35D9 E</td>
<td align="left" valign="top">Duplicate objects specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3505 E</td>
<td align="left" valign="top">Corequisite PTF &amp;1-&amp;2 &amp;3 contains
common objects.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3507 E</td>
<td align="left" valign="top">Corequisite PTF &amp;1-&amp;2 &amp;3 not
specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3509 E</td>
<td align="left" valign="top">Specified corequisite PTF &amp;1-&amp;2 &amp;3
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF357A E</td>
<td align="left" valign="top">Parameter value not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF357B E</td>
<td align="left" valign="top">Product not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF357D E</td>
<td align="left" valign="top">Document or folder name not correct.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3570 E</td>
<td align="left" valign="top">No PTF IDs available in range.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3571 E</td>
<td align="left" valign="top">PTF ID &amp;1 not within valid range.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3572 E</td>
<td align="left" valign="top">PTF &amp;2-&amp;1 &amp;3 already exists.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3573 E</td>
<td align="left" valign="top">Resources required for product &amp;1 are not
available.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3574 E</td>
<td align="left" valign="top">PTF ID not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF358A E</td>
<td align="left" valign="top">Release not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF358B E</td>
<td align="left" valign="top">PTF not created.</td>
</tr>
<tr>
<td align="left" valign="top">CPF358C E</td>
<td align="left" valign="top">Create PTF not allowed for product &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF358D E</td>
<td align="left" valign="top">Run option not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF358E E</td>
<td align="left" valign="top">Exit program type not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF359C E</td>
<td align="left" valign="top">Requisite type not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF35EC E</td>
<td align="left" valign="top">Duplicate requisites specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3901 E</td>
<td align="left" valign="top">PTF &amp;1-&amp;2 &amp;3 not created.</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>
</table>
<br>
<hr>
API introduced: V2R3
<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=
"sw1.htm">Software Product APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>