ibm-information-center/dist/eclipse/plugins/i5OS.ic.cl_5.4.0.1/cvtdlsnam.htm

303 lines
14 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Convert DLS Name (CVTDLSNAM)</title>
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body bgcolor="white">
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<a name="CVTDLSNAM.Top_Of_Page"></a>
<h2>Convert DLS Name (CVTDLSNAM)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>No
</td>
<td valign="top" align="right">
<a href="#CVTDLSNAM.PARAMETERS.TABLE">Parameters</a><br>
<a href="#CVTDLSNAM.COMMAND.EXAMPLES">Examples</a><br>
<a href="#CVTDLSNAM.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="CVTDLSNAM"></a>
<p>The Convert Document Library Services Name (CVTDLSNAM) command is used before or after a change in the CCSID assumed for EBCDIC object names by QDLS (the document library services file system). The command can help identify QDLS object names that may be different because of the CCSID change, and it can rename QDLS objects so they retain their original names. It can also correct the names of objects whose names changed when they were copied between QDLS and another file system. The command prints a report with the job's spooled output that lists selected objects and any actions taken on those objects.
</p>
<p>When converting object names to or from EBCDIC, QDLS uses the job default CCSID unless data area QUSRSYS/QODEC500 exists, in which case QDLS uses CCSID 500 (the data area allows reversion to the behavior of early versions of QDLS). The CCSID used by QDLS is therefore changed by creating or deleting the data area, or by changing the job default CCSID when the data area does not exist.
</p>
<p>The CCSID affects the view of QDLS object names by integrated file system clients of QDLS, which must convert object names to and from EBCDIC. Those clients include:
</p>
<ul>
<li>Integrated file system commands such as DSPLNK, CPY, MOV, and RNM
</li>
<li>UNIX-type APIs provided by the integrated file system, such as access, open, rename, and unlink
</li>
<li>IBM eServer iSeries Access for Windows
</li>
</ul>
<p>The CCSID does not affect clients of QDLS that work directly with EBCDIC object names, which include:
</p>
<ul>
<li>Document and folder commands, such as CRTDOC, CPYDOC, WRKDOC, CRTFLR, WRKFLR, DLTDLO, and RNMDLO
</li>
<li>Hierarchical file system (HFS) APIs, such as QHFDLTSF, QHFOPNDR, QHFOPNSF, and QHFRNMSF
</li>
</ul>
<p>Even for integrated file system clients of QDLS, the CCSID doesn't matter except for objects that are also used by EBCDIC clients. In that case, QDLS object names may appear different to the clients if the names contain variant characters and the clients are using different CCSIDs (integrated file system clients use the CCSID as described earlier, and EBCDIC clients likely use the job default CCSID).
</p>
<p><b>Restrictions:</b>
</p>
<ul>
<li>You must have read (*R) authority to the directory containing the object links and execute (*X) to the other directories in the path.
</li>
<li>The additional authority restrictions from the RNM command apply when renaming objects.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="CVTDLSNAM.PARAMETERS.TABLE">Parameters</a></h3>
<table border="1" cellpadding="4" cellspacing="0">
<!-- col1="10" col2="15" col3="30" col4="10" -->
<tr>
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.OBJ"><b>OBJ</b></a></td>
<td valign="top">Object</td>
<td valign="top">Values (up to 300 repetitions): <i>Path name</i></td>
<td valign="top">Required, Positional 1</td>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.SUBTREE"><b>SUBTREE</b></a></td>
<td valign="top">Directory subtree</td>
<td valign="top"><b><u>*OBJ</u></b>, *DIR, *ALL</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.ACTION"><b>ACTION</b></a></td>
<td valign="top">Action</td>
<td valign="top"><b><u>*LIST</u></b>, *RENAME</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.PREVIEW"><b>PREVIEW</b></a></td>
<td valign="top">Preview results</td>
<td valign="top"><b><u>*NO</u></b>, *YES</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.FROMCCSID"><b>FROMCCSID</b></a></td>
<td valign="top">From CCSID</td>
<td valign="top">1-65535, <b><u>500</u></b>, *JOB, *SYSVAL, *HEX</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CVTDLSNAM.TOCCSID"><b>TOCCSID</b></a></td>
<td valign="top">To CCSID</td>
<td valign="top">1-65535, <b><u>*JOB</u></b>, *SYSVAL, *HEX</td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="CVTDLSNAM.OBJ"></a>
<h3>Object (OBJ)</h3>
<p>Specifies the objects to process. A maximum of 300 path names can be specified; however, all paths must be for the same file system. Each path name can be either a simple name or a name that is qualified with the name of the directory in which the object is located. A pattern can be specified in the last part of the path name: an asterisk (*) matches any number of characters and a question mark (?) matches any single character. If a path name is qualified or contains a pattern, it must be enclosed in apostrophes (').
</p>
<p>For more information on specifying path names, refer to "Object naming rules" in the CL concepts and reference topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<p>The CVTDLSNAM command is an integrated file system client of QDLS. As such, its view of object names can be different than that of EBCDIC clients. So, use care in specifying object names. It is generally safer to use generic characters in place of variant characters (for example, specify X?X as an object name rather than X!X).
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CVTDLSNAM.SUBTREE"></a>
<h3>Directory subtree (SUBTREE)</h3>
<p>Specifies whether directory subtrees are processed.
</p>
<dl>
<dt><b><u>*OBJ</u></b></dt>
<dd>Only the objects that match the given path names are processed. If a path name specifies a directory, objects in the directory are not processed.
</dd>
<dt><b>*DIR</b></dt>
<dd>Objects in the first level of each directory that matches a given path name are processed.
</dd>
<dt><b>*ALL</b></dt>
<dd>The entire subtree of each directory that matches a given path name is processed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CVTDLSNAM.ACTION"></a>
<h3>Action (ACTION)</h3>
<p>Specifies the action to perform on the selected objects.
</p>
<dl>
<dt><b><u>*LIST</u></b></dt>
<dd>For QDLS, this value lists the selected objects that might appear to have different names if the CCSID assumed by QDLS for EBCDIC object names is changed from the specified old value to the specified new value. For other file systems, this value lists the selected objects that might have an unexpected name after having been copied from QDLS, and neither specified CCSID is used in this case.
</dd>
<dt><b>*RENAME</b></dt>
<dd>Corrects the names of the selected objects. If *RENAME is used more than once on an object, the results will probably not be meaningful.
<p>Some objects may fail to be renamed when requested, such as if the new name already exists. However, the command will not fail immediately; it will continue to process any remaining objects.
</p>
<p>For QDLS, *RENAME will change the names such that, after changing the CCSID assumed by QDLS for EBCDIC object names from the specified old value to the specified new value, the object names will appear the same as before the change to integrated file system clients of QDLS.
</p>
<p>For other file systems, the specified objects are presumed to have been created with the specified old CCSID and implicitly renamed as they were copied from QDLS by an integrated file system client of QDLS using the specified new CCSID. *RENAME will change the names of the objects to be the same as those of the original QDLS objects.
</p>
<p>
<b>Note: </b>The effect of a rename can be undone by another rename with the CCSIDs reversed. For example, if a rename is done using FROMCCSID(500) and TOCCSID(273), the original name(s) can be restored by a rename using FROMCCSID(273) and TOCCSID(500).
</p>
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CVTDLSNAM.PREVIEW"></a>
<h3>Preview results (PREVIEW)</h3>
<p>Selects whether to preview the results of the selected action.
</p>
<dl>
<dt><b><u>*NO</u></b></dt>
<dd>Perform the selected action.
</dd>
<dt><b>*YES</b></dt>
<dd>Inhibit the selected action and report what the results would be. This value is allowed only when ACTION(*RENAME) is specified.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CVTDLSNAM.FROMCCSID"></a>
<h3>From CCSID (FROMCCSID)</h3>
<p>Specifies the original coded character set identifier (CCSID) of the EBCDIC object name. This value is ignored when processing objects in file systems other than QDLS if ACTION is *LIST.
</p>
<dl>
<dt><b><u>500</u></b></dt>
<dd>CCSID 500 is used. That is the CCSID used by early versions of QDLS.
</dd>
<dt><b>*JOB</b></dt>
<dd>The current job's default CCSID is used.
</dd>
<dt><b>*SYSVAL</b></dt>
<dd>The CCSID specified in the system value QCCSID is used.
</dd>
<dt><b>*HEX or 65535</b></dt>
<dd>The CCSID currently assumed by QDLS for EBCDIC object names is used.
</dd>
<dt><b><i>1-65535</i></b></dt>
<dd>Specify the CCSID to be used. More information on valid CCSIDs is in the Globalization topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CVTDLSNAM.TOCCSID"></a>
<h3>To CCSID (TOCCSID)</h3>
<p>Specifies the coded character set identifier (CCSID) assumed by QDLS for EBCDIC object names. This value is ignored when processing objects in file systems other than QDLS if ACTION is *LIST.
</p>
<dl>
<dt><b><u>*JOB</u></b></dt>
<dd>The current job's default CCSID is used.
</dd>
<dt><b>*SYSVAL</b></dt>
<dd>The CCSID specified in the system value QCCSID is used.
</dd>
<dt><b>*HEX or 65535</b></dt>
<dd>The new CCSID is unknown, such as when different jobs will be using different CCSIDS. This value may not be used with ACTION(*RENAME).
</dd>
<dt><b><i>1-65535</i></b></dt>
<dd>Specify the CCSID to be used. More information on valid CCSIDs is in the Globalization topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="CVTDLSNAM.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: List QDLS Objects Affected by a CCSID Change</b>
</p>
<p>A new release of the operating system is installed and QDLS now assumes the job default CCSID instead of CCSID 500 for EBCDIC object names. The job CCSID is currently set to 37. The following command is used to identify the objects that effectively have new names for integrated file system clients of QDLS. Note that the ACTION, FROMCCSID, and TOCCSID parameters could all have been omitted from the command, since they specify the default values in this case.
</p>
<p>
<pre>
CVTDLSNAM OBJ('/QDLS') SUBTREE(*ALL) ACTION(*LIST)
FROMCCSID(500) TOCCSID(37)
</pre>
</p>
<p>Output similar to this might be produced:
</p>
<p>
<pre>
/QDLS/FLRA/X] --&gt; X!
/QDLS/FLRB/X! --&gt; X|
</pre>
</p>
<p>Each line shows two names for an object, as it would be seen by clients using CCSID 500 and CCSID 37 (the second name won't be shown if TOCCSID is *HEX). The output shows that two objects are affected by the change of the assumed CCSID. The object known before the change as X] by integrated file system clients is known as X! afterward, and X! is renamed to X|.
</p>
<p>The name X! seems more reasonable than either X] or X|, so we assume X! is the correct name in both cases. In the first case the new name is desirable; we surmise the object was created as X! by a client using CCSID 37. In the second case the new name is undesirable; the object was presumably created by a client using CCSID 500.
</p>
<p><b>Example 2: Rename QDLS Object to Adjust for a CCSID Change</b>
</p>
<p>The second object name from the example above is corrected using the following command. For this example the job CCSID is 500 (necessary to guarantee correct recognition of the object name X!). It is likely that a generic name (such as * or X? instead of X!) would be used in similar situations, eliminating the need to adjust the job CCSID.
</p>
<p>
<pre>
CVTDLSNAM OBJ('/QDLS/FLRB/X!') ACTION(*RENAME)
FROMCCSID(500) TOCCSID(37)
</pre>
</p>
<p>This output might be produced:
</p>
<p>
<pre>
/QDLS/FLRB/X! --&gt; X]
</pre>
</p>
<p>Each line again shows two names for an object, but this time both names are what a CCSID 500 client would see. The output indicates that X! is renamed to X]. The new name may appear incorrect to a CCSID 500 client (X]), but it will appear as desired to a CCSID 37 client (X!).
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="CVTDLSNAM.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*STATUS Messages</u></b>
</p>
<dl>
<dt><b>CPI8A22</b></dt>
<dd>Processing &amp;1.
</dd>
</dl>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CPF8AC0</b></dt>
<dd>&amp;1 command failed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CVTDLSNAM.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>