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

352 lines
11 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Delete Registered Application Files (QSZDLTAF, QszDltRegAppFiles)
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. -->
<!-- Created for V5R1 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Jan 02 -->
<!-- Edited by James Masanz July 03 -->
<!-- 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>Delete Registered Application Files (QSZDLTAF, QszDltRegAppFiles) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Application information path
name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program Name: QSZRAIRA<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Delete Registered Application Files (QSZDLTAF, QszDltRegAppFiles) API
deletes the files listed in the Files tag for the given component. This API
does not delete information from the i5/OS Registered Application Information
Repository. To remove the Files tag from the repository, call the Update i5/OS
Registered Application Information Repository API.</p>
<p>This API can be used to generically uninstall simple applications that only
need to remove the files that were installed and need no additional processing.
It also can be used as a part of a more complex uninstall operation. This API
can be called to remove an application's files after the uninstall operation
has performed any unique processing (such as deleting a user profile).</p>
<p>Be aware of the following:</p>
<ul>
<li>This API should not be used for i5/OS packaged products. The user should
use the Delete Licensed Program (DLTLICPGM) command to delete i5/OS packaged
products. If a user chooses to use this API to delete objects for an i5/OS
packaged product, an error will occur.<br>
<br>
</li>
<li>The program calling this API should not be listed in the Files element of
the component being processed; otherwise, lock contention may occur. If for
some reason the program is listed, the program should be copied to a different
location before calling this API.</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<p>The authorities and locks for the first parameter are:</p>
<dl>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>Authority for user space containing XML document</em></dt>
<dd>*USE<br>
<br>
</dd>
<dt><em>User space lock</em></dt>
<dd>*EXCLRD<br>
<br>
</dd>
<dt><em>Stream file directory authority</em></dt>
<dd>*RX<br>
<br>
</dd>
<dt><em>Authority for stream file containing XML document</em></dt>
<dd>*R</dd>
</dl>
<p>The authorities and locks for files to delete are:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em>Library Authority</em> </td>
<td align="left" valign="top">*OBJEXIST</td>
</tr>
<tr>
<td align="left" valign="top"><em>Object Authority</em> </td>
<td align="left" valign="top">*OBJEXIST</td>
</tr>
<tr>
<td align="left" valign="top"><em>Stream File Directory Authority</em> </td>
<td align="left" valign="top">*OBJEXIST</td>
</tr>
<tr>
<td align="left" valign="top"><em>Stream File Object Authority</em> </td>
<td align="left" valign="top">*OBJEXIST</td>
</tr>
</table>
<br>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Application information path name</strong></dt>
<dd>INPUT; CHAR(*)
<p>The path name of the object that contains a list of
components whose files are to be deleted.
This may be a path to a
user space (*USRSPC) or a path to a stream file (*STMF). The path name should
be specified in the Qlg_Path_Name_T format. If a pointer is specified in the
path name format, it must be 16-byte aligned. If not, unpredictable results may
occur. For more information on this structure, see <a href="../apiref/pns.htm">Path name
format</a>. The information contained in this object must be given to the API
as an XML document according to the data type definition (DTD). For a detailed
description of the DTD, see
<a href="softwarecompdtd.htm">Software Components DTD</a>.
For examples of how the XML input document may be structured,
see <a href="#HDRSZDLTAP">XML Document when deleting component
files</a>.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRSZDLTAP">XML document when deleting component files</a></h3>
<p>The XML document may be a stream file (*STMF) or a user space (*USRSPC)
object. In either case, the XML document must conform to the <a href=
"softwarecompdtd.htm">Software Components DTD</a>.</p>
<p>Even though all elements defined in the data type definition (DTD) are
allowed when using this API, only the RegAppInfoRepository and Component
elements will be taken into account - the rest will be
ignored. See <a href="softwarecompdtd.htm">Software
Components DTD</a> for a detailed description of each element.</p>
<p>The components specified should match the information in the i5/OS
Registered Application Information Repository. For example, if a component was
registered without specifying the
ComponentVersion element, the ComponentVersion element
should be omitted when using this API.</p>
<p>For each component tag in
the XML document, the files for a single component will be deleted.</p>
<p>The examples below illustrate the way to define an XML document to call this
API.</p>
<br>
<h3>Delete files for a single component.</h3>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE RegAppInfoRepository SYSTEM &quot;/QIBM/XML/DTD/QszRegAppInfoRepository.dtd&quot;&gt;
&lt;RegAppInfoRepository DTDVersion=&quot;1.0&quot;&gt;
&lt;Component ProductName=&quot;My compiler&quot; ComponentVersion=&quot;v1.1.0&quot; ComponentName=&quot;Tools&quot;
ComponentVendor=&quot;Juan Perez&quot;&gt; &lt;/Component&gt;
&lt;/RegAppInfoRepository&gt;
</pre>
<br>
<h3>Delete files for multiple components.</h3>
<p>Suppose you have two components which only differ in the component
name (ComponentName attribute). The following example shows how files for the
two components can be deleted.</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE RegAppInfoRepository SYSTEM &quot;/QIBM/XML/DTD/QszRegAppInfoRepository.dtd&quot;&gt;
&lt;RegAppInfoRepository DTDVersion=&quot;1.0&quot;&gt;
&lt;Component ProductName=&quot;XYZ&quot; ComponentVersion=&quot;v3.1.0&quot; ComponentName=&quot;Comp A&quot; Instance=&quot;Unique&quot;
ComponentVendor=&quot;Juan Perez&quot;&gt; &lt;/Component&gt;
&lt;Component ProductName=&quot;XYZ&quot; ComponentVersion=&quot;v3.1.0&quot; ComponentName=&quot;Comp B&quot; Instance=&quot;Unique&quot;
ComponentVendor=&quot;Juan Perez&quot;&gt; &lt;/Component&gt;
&lt;/RegAppInfoRepository&gt;
</pre>
<p>As you can see in the previous example, the difference between the two
components is the ComponentName attribute. An error will occur if the
document is given as follows:</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE RegAppInfoRepository SYSTEM &quot;/QIBM/XML/DTD/QszRegAppInfoRepository.dtd&quot;&gt;
&lt;RegAppInfoRepository DTDVersion=&quot;1.0&quot;&gt;
&lt;Component ProductName=&quot;XYZ&quot; ComponentVersion=&quot;v3.1.0&quot; ComponentName=&quot;&quot; Instance=&quot;Unique&quot;
ComponentVendor=&quot;Juan Perez&quot;&gt;
&lt;/Component&gt;
&lt;/RegAppInfoRepository&gt;
</pre>
<p>Since the ComponentName attribute is empty, this matches two Component
entries in the repository. In this case, the API will not know which files
should be deleted, so an error will be returned.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF24B4 E</td>
<td width="85%" valign="top">Severe error 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">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</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.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1E E</td>
<td align="left" valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CC1 E</td>
<td align="left" valign="top">Error initializing the XML parser.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CC2 E</td>
<td align="left" valign="top">Error found on XML input document.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CC3 E</td>
<td align="left" valign="top">Delete files not allowed for a packaged
product.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CC6 E</td>
<td align="left" valign="top">Not all components were successfully processed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CC7 E</td>
<td align="left" valign="top">Requested function not successful.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0CD2 E</td>
<td align="left" valign="top">Application information path name not valid.</td>
</tr>
</table>
<br>
<hr>
API introduced: V5R1
<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=
"sw1.htm">Software Product APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>