626 lines
25 KiB
HTML
626 lines
25 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>Copy From Tape (CPYFRMTAP)</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="CPYFRMTAP.Top_Of_Page"></a>
|
|
<h2>Copy From Tape (CPYFRMTAP)</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="#CPYFRMTAP.PARAMETERS.TABLE">Parameters</a><br>
|
|
<a href="#CPYFRMTAP.COMMAND.EXAMPLES">Examples</a><br>
|
|
<a href="#CPYFRMTAP.ERROR.MESSAGES">Error messages</a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div> <a name="CPYFRMTAP"></a>
|
|
<p>The Copy From Tape (CPYFRMTAP) command copies records from a tape file to an output file or to the printer.
|
|
</p>
|
|
<p>The from-file must be a tape file, but the to-file can be a physical file, diskette file, tape file, or program-described printer file. *PRINT can be specified for the <b>To file</b> prompt (TOFILE parameter) to produce a printed listing of the records in the file.
|
|
</p>
|
|
<p>This command offers a subset of the parameters available on the Copy File (CPYF) command, along with more specific tape-oriented parameters.
|
|
</p>
|
|
<p>If you need parameters that are not available on this command, you can either use overrides for the from-file or to-file, or use the Copy File (CPYF) command.
|
|
</p>
|
|
<p>Only a single tape file (sequence number) can be copied with one call of this command.
|
|
</p>
|
|
<p>The to-file must exist when the command is started. This command does not create the to-file, but it does add a member to an existing physical file if the member does not already exist in the to-file.
|
|
</p>
|
|
<p><b>Restrictions:</b>
|
|
</p>
|
|
<ol>
|
|
<li>A file's open data path (ODP) cannot be shared with any other program in the job (routing step) during the copy operation.
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
|
|
<div>
|
|
<h3><a name="CPYFRMTAP.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" rowspan="3"><a href="#CPYFRMTAP.FROMFILE"><b>FROMFILE</b></a></td>
|
|
<td valign="top">Tape file</td>
|
|
<td valign="top"><i>Qualified object name</i></td>
|
|
<td valign="top" rowspan="3">Required, Positional 1</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Qualifier 1: Tape file</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top">Qualifier 2: Library</td>
|
|
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
|
|
</tr><tr>
|
|
<td valign="top" rowspan="3"><a href="#CPYFRMTAP.TOFILE"><b>TOFILE</b></a></td>
|
|
<td valign="top">To file</td>
|
|
<td valign="top">Single values: *PRINT<br>Other values: <i>Qualified object name</i></td>
|
|
<td valign="top" rowspan="3">Required, Positional 2</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Qualifier 1: To file</td>
|
|
<td valign="top"><i>Name</i></td>
|
|
</tr><tr>
|
|
<td valign="top">Qualifier 2: Library</td>
|
|
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
|
|
</tr><tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMSEQNBR"><b>FROMSEQNBR</b></a></td>
|
|
<td valign="top">Sequence number</td>
|
|
<td valign="top">1-16777215, <b><u>*TAPF</u></b>, *NEXT</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMLABEL"><b>FROMLABEL</b></a></td>
|
|
<td valign="top">Tape label</td>
|
|
<td valign="top"><i>Character value</i>, <b><u>*TAPF</u></b>, *NONE</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.TOMBR"><b>TOMBR</b></a></td>
|
|
<td valign="top">Member</td>
|
|
<td valign="top"><i>Name</i>, <b><u>*FROMLABEL</u></b>, *FIRST</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMDEV"><b>FROMDEV</b></a></td>
|
|
<td valign="top">Device</td>
|
|
<td valign="top">Single values: <b><u>*TAPF</u></b><br>Other values (up to 4 repetitions): <i>Name</i></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" rowspan="3"><a href="#CPYFRMTAP.FROMREELS"><b>FROMREELS</b></a></td>
|
|
<td valign="top">Copy from reels</td>
|
|
<td valign="top"><i>Element list</i></td>
|
|
<td valign="top" rowspan="3">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 1: Label processing type</td>
|
|
<td valign="top">
|
|
<b><u>*TAPF</u></b>, *SL, *NL, *NS, *BLP, *LTM</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">Element 2: Number of reels</td>
|
|
<td valign="top">
|
|
1-255, <b><u>*TAPF</u></b></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMRCDLEN"><b>FROMRCDLEN</b></a></td>
|
|
<td valign="top">Record length</td>
|
|
<td valign="top"><i>Integer</i>, <b><u>*TAPF</u></b>, *CALC</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMENDOPT"><b>FROMENDOPT</b></a></td>
|
|
<td valign="top">End of tape option</td>
|
|
<td valign="top"><b><u>*TAPF</u></b>, *REWIND, *UNLOAD, *LEAVE</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.MBROPT"><b>MBROPT</b></a></td>
|
|
<td valign="top">Replace or add records</td>
|
|
<td valign="top"><b><u>*NONE</u></b>, *ADD, *REPLACE</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.OUTFMT"><b>OUTFMT</b></a></td>
|
|
<td valign="top">Print format</td>
|
|
<td valign="top"><b><u>*CHAR</u></b>, *HEX</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMVOL"><b>FROMVOL</b></a></td>
|
|
<td valign="top">Volume identifier</td>
|
|
<td valign="top">Single values: <b><u>*TAPF</u></b>, *NONE<br>Other values (up to 50 repetitions): <i>Character value</i></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMBLKLEN"><b>FROMBLKLEN</b></a></td>
|
|
<td valign="top">Block length</td>
|
|
<td valign="top">1-524288, <b><u>*TAPF</u></b>, *CALC</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.FROMRCDBLK"><b>FROMRCDBLK</b></a></td>
|
|
<td valign="top">Record block type</td>
|
|
<td valign="top"><b><u>*TAPF</u></b>, *F, *FB, *V, *VB, *D, *DB, *VS, *VBS, *U</td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top"><a href="#CPYFRMTAP.NBRRCDS"><b>NBRRCDS</b></a></td>
|
|
<td valign="top">Number of records to copy</td>
|
|
<td valign="top"><i>Unsigned integer</i>, <b><u>*END</u></b></td>
|
|
<td valign="top">Optional</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
</div>
|
|
<div> <a name="CPYFRMTAP.FROMFILE"></a>
|
|
<h3>Tape file (FROMFILE)</h3>
|
|
<p>Specifies the name and library of the tape file that contains the records that are copied.
|
|
</p>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.TOFILE"></a>
|
|
<h3>To file (TOFILE)</h3>
|
|
<p>Specifies the file that receives the copied records.
|
|
</p>
|
|
<dl>
|
|
<dt><b>*PRINT</b></dt>
|
|
<dd>The output is printed with the job's spooled output.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><u>*LIBL</u></b></dt>
|
|
<dd>All libraries in the library list for the current thread are searched until the first match is found.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*CURLIB</b></dt>
|
|
<dd>The current library for the thread is searched. If no library is specified as the current library for the thread, the QGPL library is searched.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><i>name</i></b></dt>
|
|
<dd>Specify the name of the library to be searched.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><i>to-file-name</i></b></dt>
|
|
<dd>Specify the name of the physical file or device file that receives the copied records.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMSEQNBR"></a>
|
|
<h3>Sequence number (FROMSEQNBR)</h3>
|
|
<p>Specifies the sequence number of the tape file that is copied.
|
|
</p>
|
|
<p>If the tapes for the from-file have standard labels, the file sequence number is read from the first header label of the data file. When bypass label processing has been specified for the from-file (that is, FROMREELS(*BLP) has been specified on this command or on the command used to describe the tape file) or when tapes with standard labels are not being used, the system uses the tape marks and the value specified on this parameter to locate the correct data file that is copied.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The sequence number specified in the tape file or override is used to indicate the file that is copied.
|
|
</dd>
|
|
<dt><b>*NEXT</b></dt>
|
|
<dd>The next file on the tape is processed. If the tape is currently positioned before the first file, the first file on the tape is processed.
|
|
</dd>
|
|
<dt><b><i>sequence-number</i></b></dt>
|
|
<dd>Specify the sequence number of the file on the tape that is copied. For a labeled tape file, the label specified in the FROMLABEL parameter must be found at this sequence number. Valid sequence numbers range from 1 through 16777215.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMLABEL"></a>
|
|
<h3>Tape label (FROMLABEL)</h3>
|
|
<p>Specifies the data file identifier of a file that is copied from the tape. The file identifier specified must be found at the sequence number specified in the FROMSEQNBR parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The file identifier in the tape file description or override is used to identify the tape file that is copied.
|
|
</dd>
|
|
<dt><b>*NONE</b></dt>
|
|
<dd>The file identifier is not specified. Any label identifier is accepted.
|
|
</dd>
|
|
<dt><b><i>data-file-identifier</i></b></dt>
|
|
<dd>Specify the name of the file label that is copied from the tape from-file. A label can be up to 17 characters in length.
|
|
</dd>
|
|
<dt><b><i>generic*-data-file-identifier</i></b></dt>
|
|
<dd>Specify the generic name of the file label that is copied from the tape from-file.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.TOMBR"></a>
|
|
<h3>Member (TOMBR)</h3>
|
|
<p>Specifies the database file member name, or the diskette or tape file label identifier in the to-file that receives the copied data records. If *PRINT is specified for the <b>To file</b> prompt (TOFILE parameter), either *FIRST or *FROMLABEL must be specified on this parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*FROMLABEL</u></b></dt>
|
|
<dd>The file specified by the FROMLABEL and FROMSEQNBR parameters is copied into a corresponding member or label in the to-file.
|
|
<p>The name of the from-file tape label identifier is used as the member or label identifier for a physical to-file, diskette to-file, or tape to-file. If the to-file is a diskette or tape file, the from-file label identifier is used without modification.
|
|
</p>
|
|
<p>If the to-file is a database file, the last 10 characters that appear before all consecutive blanks for the from-file label are used for the to-file member name. If the last 10 characters that appear before all consecutive blanks are not valid, then the characters to the right of the last period (.) are used for the to-file member name.
|
|
</p>
|
|
<p>If the from-file is a nonlabeled tape file, then a to-file member or label name is created that corresponds to the data file on the tape from-file in the form of CPYnnnn, where nnnn is the tape sequence number of the data-file. If the to-file is a tape or diskette device file, the label in the device file description or override is used.
|
|
</p>
|
|
</dd>
|
|
<dt><b>*FIRST</b></dt>
|
|
<dd>The first member in the physical to-file receives the copied records.
|
|
</dd>
|
|
<dt><b><i>to-member-name</i></b></dt>
|
|
<dd>Specify the name of the physical to-file member, or diskette or tape to-file label identifier, that receives the copied records. If the tape label identifier is longer than 10 characters or contains special characters, it must be specified on a CRTTAPF, CHGTAPF, or OVRTAPF command before starting the CPYFRMTAP command.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMDEV"></a>
|
|
<h3>Device (FROMDEV)</h3>
|
|
<p>Specifies the name of up to four tape devices, one virtual tape device, or one media library device from which the tape from file is copied.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The value specified in the tape file is used to indicate the devices used.
|
|
</dd>
|
|
<dt><b><i>device-name</i></b></dt>
|
|
<dd>Specify the names of up to four tape devices, one virtual tape device, or one media library device used when copying records from the from-file. The order in which the device names are specified is the order in which tapes on the devices are successively read. Each device must already be known on the system by a device description.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMREELS"></a>
|
|
<h3>Copy from reels (FROMREELS)</h3>
|
|
<p>Specifies the type of labeling used on the tape reels that contain the from-file. The number of reels value specified on this parameter is not a limiting value for tape with standard labels. For standard-label tape, the labels on the tape indicate an end-of-file condition that limits the number of volumes processed. The number of reels information is used only if there is no list of volume identifiers specified and if the from-file is either *NL, *NS or *BLP. When the number of reels value is used, the volume identifiers on the volumes that are placed in the device are ignored if the from-file resides on labeled tapes. In that case, the order in which the reels are placed in the device must be checked by the operator.
|
|
</p>
|
|
<p>The possible values for type of labeling are:
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The value specified in the tape file or override for the from-file is used for label-type values.
|
|
</dd>
|
|
<dt><b>*SL</b></dt>
|
|
<dd>Each tape volume has standard labels.
|
|
</dd>
|
|
<dt><b>*NL</b></dt>
|
|
<dd>Each tape volume has no labels. Tape marks are used to indicate the end of each data file on the tape.
|
|
</dd>
|
|
<dt><b>*NS</b></dt>
|
|
<dd>Each tape volume has nonstandard labels. Only a single data file can exist on a nonstandard tape reel (volume).
|
|
</dd>
|
|
<dt><b>*BLP</b></dt>
|
|
<dd>Standard label processing is bypassed when copying the from-file volumes.
|
|
</dd>
|
|
<dt><b>*LTM</b></dt>
|
|
<dd>The volumes of the from-file have no labels but have a single leading tape mark before the first file on the tape.
|
|
</dd>
|
|
</dl>
|
|
<p>The possible values for number of reels are:
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The number-of-reels value that is used is the value specified in the tape file or override for the from-file.
|
|
</dd>
|
|
<dt><b><i>number-of-reels</i></b></dt>
|
|
<dd>Specify the maximum number of reels used. If the next reel is not on the device when the end of a tape is reached, a message is sent to the operator requesting that the next tape be placed in the device.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMRCDLEN"></a>
|
|
<h3>Record length (FROMRCDLEN)</h3>
|
|
<p>Specifies (in bytes) the length of the records contained in the tape from-file. This parameter should be specified in this command or a tape file command for *NS, *NL, *BLP, or *LTM tapes, or for the tapes that do not have HDR2 labels. For *SL tapes, the record length is obtained from the label itself.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The record length defined in the tape file or override is used.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*CALC</b></dt>
|
|
<dd>The system calculates the value to use.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><i>record-length</i></b></dt>
|
|
<dd>Specify a value ranging from 1 through 32767 to be used as the tape from-file record length. The record length must be consistent with the block length and record block format parameter values.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMENDOPT"></a>
|
|
<h3>End of tape option (FROMENDOPT)</h3>
|
|
<p>Specifies the positioning operation that is performed automatically on the last from-file tape volume when the tape device file is closed. For a multi-volume tape from-file, this parameter applies to the last reel (volume) only; all intermediate volumes are copied with *UNLOAD as the positioning attribute.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The tape is repositioned according to the value specified in the device file or override.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*REWIND</b></dt>
|
|
<dd>The tape is rewound, but not unloaded.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*UNLOAD</b></dt>
|
|
<dd>The tape is automatically rewound and unloaded after the operation ends.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*LEAVE</b></dt>
|
|
<dd>The tape does not rewind or unload after the operation ends. It remains at the current position on the tape drive.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.MBROPT"></a>
|
|
<h3>Replace or add records (MBROPT)</h3>
|
|
<p>Specifies whether the new records replace or are added to the existing records.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*NONE</u></b></dt>
|
|
<dd>This parameter does not apply to this copy operation. When the to-file is an existing physical file, *NONE is not allowed.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*ADD</b></dt>
|
|
<dd>The system adds the new records to the end of the existing records.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*REPLACE</b></dt>
|
|
<dd>The system clears the existing member and adds the new records.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.OUTFMT"></a>
|
|
<h3>Print format (OUTFMT)</h3>
|
|
<p>Specifies whether records are printed in character format, or in both character and hexadecimal format. This parameter is used only when *PRINT is specified for the <b>To file (TOFILE)</b> parameter.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*CHAR</u></b></dt>
|
|
<dd>Records are printed in character format.
|
|
</dd>
|
|
<dt><b>*HEX</b></dt>
|
|
<dd>Records are printed in both character and hexadecimal format.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMVOL"></a>
|
|
<h3>Volume identifier (FROMVOL)</h3>
|
|
<p>Specifies one or more volume identifiers of the tapes used when copying records from the (tape) from-file. These volumes must be placed in the devices in the same order as the identifiers are specified (and in the same order as the device names are specified in the FROMDEV parameter).
|
|
</p>
|
|
<p>You can enter multiple values for this parameter. If you are on an entry display and you need additional entry fields to enter these multiple values, type a plus sign (+) in the entry field opposite the phrase "+ for more", and press the Enter key.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The value specified in the tape file or override is used.
|
|
</dd>
|
|
<dt><b>*NONE</b></dt>
|
|
<dd>No tape volume identifiers are specified for this file. No volume checking is done beyond verifying that the correct label type volume is placed in the tape device.
|
|
</dd>
|
|
<dt><b><i>volume-identifier</i></b></dt>
|
|
<dd>Specify up to 50 volume identifiers from which the tape file is copied. The identifiers of volumes must be entered in the same order in which they are placed in the devices.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMBLKLEN"></a>
|
|
<h3>Block length (FROMBLKLEN)</h3>
|
|
<p>Specifies the length (in bytes) of data blocks transferred from the tape from-file. This parameter should be specified for nonstandard or nonlabeled tapes, for tapes whose label processing has been bypassed, or for tapes that do not have HDR2 labels. For standard labeled tapes, the block length is obtained from the label itself, and this parameter is ignored.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The block length value from the tape file or override is used.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b>*CALC</b></dt>
|
|
<dd>The system calculates the value to use.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><i>block-length</i></b></dt>
|
|
<dd>Specify a value ranging from 18 through 524288 that specifies the block length of each block in the tape from-file. The block length must be consistent with record length and record block format values.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.FROMRCDBLK"></a>
|
|
<h3>Record block type (FROMRCDBLK)</h3>
|
|
<p>Specifies the record block format and blocking attribute of records in the tape from-file.
|
|
</p>
|
|
<dl>
|
|
<dt><b><u>*TAPF</u></b></dt>
|
|
<dd>The record block format value from the tape file or override is used.
|
|
</dd>
|
|
<dt><b>*F</b></dt>
|
|
<dd>Fixed-length, deblocked records in either EBCDIC or ASCII format are used.
|
|
</dd>
|
|
<dt><b>*FB</b></dt>
|
|
<dd>Fixed-length, blocked records in either EBCDIC or ASCII format are used.
|
|
</dd>
|
|
<dt><b>*V</b></dt>
|
|
<dd>Variable-length, deblocked records in EBCDIC format are used.
|
|
</dd>
|
|
<dt><b>*VB</b></dt>
|
|
<dd>Variable-length, blocked records in EBCDIC format are used.
|
|
</dd>
|
|
<dt><b>*D</b></dt>
|
|
<dd>Variable-length, deblocked records in ASCII type D format are used.
|
|
</dd>
|
|
<dt><b>*DB</b></dt>
|
|
<dd>Variable-length, blocked records in ASCII type D format are used.
|
|
</dd>
|
|
<dt><b>*VS</b></dt>
|
|
<dd>Variable-length spanned records are used.
|
|
</dd>
|
|
<dt><b>*VBS</b></dt>
|
|
<dd>Variable-length, spanned blocked records are used.
|
|
</dd>
|
|
<dt><b>*U</b></dt>
|
|
<dd>Records in an undefined format are used.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<div> <a name="CPYFRMTAP.NBRRCDS"></a>
|
|
<h3>Number of records to copy (NBRRCDS)</h3>
|
|
<p>Specifies the number of records copied to the to-file.
|
|
</p>
|
|
<dl>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><u>*END</u></b></dt>
|
|
<dd>Records are copied until the end-of-file condition is indicated.
|
|
</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><b><i>number-of-records</i></b></dt>
|
|
<dd>Specify a record number, ranging from 1 through 4294967288, that identifies the number of records copied to the to-file. Fewer records are copied if an end-of-file condition occurs before the specified number of records have been copied.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
<div><h3><a name="CPYFRMTAP.COMMAND.EXAMPLES">Examples</a> </h3>
|
|
<p><b>Example 1: Adding Copied Records to Existing Records</b>
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
CPYFRMTAP FROMFILE(QTAPE) TOFILE(DEPT/YTDSALES)
|
|
FROMSEQNBR(3) FROMLABEL(DAILY)
|
|
FROMDEV(QTAPE1) MBROPT(*ADD)
|
|
</pre>
|
|
</p>
|
|
<p>This command copies records from tape by using the tape device file QTAPE. The data file at sequence number 3 labeled DAILY on device QTAPE1 is copied. The specific attributes of the data file, such as record length and record block format, is determined by the system from the label on the tape. The records are added to the existing records in the member DAILY, which is implied by the parameter default of (TOMBR(*FROMLABEL), in file YTDSALES, which is in library DEPT.
|
|
</p>
|
|
<p><b>Example 2: Replacing Existing Records</b>
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
CPYFRMTAP FROMFILE(QTAPE) TOFILE(MYLIB/KEN) FROMSEQNBR(2)
|
|
FROMDEV(QTAPE1) FROMREELS(*NL 1) FROMRCDLEN(100)
|
|
FROMBLKLEN(1000) FROMRCDBLK(*FB) TOMBR(*FIRST)
|
|
MBROPT(*REPLACE)
|
|
</pre>
|
|
</p>
|
|
<p>This command copies records from tape by using the tape device file QTAPE. Records in the data file at sequence number 2 of a nonlabeled tape file on tape device QTAPE1, with fixed-length records that are blocked 1000 bytes (or 10 records) to a block, are copied, and replace the existing records in the first member in file KEN, which is in library MYLIB.
|
|
</p>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
<hr size="2" width="100%">
|
|
<div><h3><a name="CPYFRMTAP.ERROR.MESSAGES">Error messages</a> </h3>
|
|
<p><b><u>*ESCAPE Messages</u></b>
|
|
</p>
|
|
<dl>
|
|
<dt><b>CPF2816</b></dt>
|
|
<dd>File &1 in &2 not copied because of error.
|
|
</dd>
|
|
<dt><b>CPF2817</b></dt>
|
|
<dd>Copy command ended because of error.
|
|
</dd>
|
|
<dt><b>CPF2818</b></dt>
|
|
<dd>*FROMMBR value is not allowed on TOMBR parameter.
|
|
</dd>
|
|
<dt><b>CPF2858</b></dt>
|
|
<dd>File attributes not valid for printed output.
|
|
</dd>
|
|
<dt><b>CPF2859</b></dt>
|
|
<dd>Shared open data path not allowed.
|
|
</dd>
|
|
<dt><b>CPF2875</b></dt>
|
|
<dd>Wrong file member or label opened.
|
|
</dd>
|
|
<dt><b>CPF2888</b></dt>
|
|
<dd>Member &3 not added to file because of error.
|
|
</dd>
|
|
<dt><b>CPF2909</b></dt>
|
|
<dd>Error clearing member &3 in file &1 in &2.
|
|
</dd>
|
|
<dt><b>CPF2949</b></dt>
|
|
<dd>Error closing member &3 in file &1 in &2.
|
|
</dd>
|
|
<dt><b>CPF2952</b></dt>
|
|
<dd>Error opening file &1 in library &2.
|
|
</dd>
|
|
<dt><b>CPF2971</b></dt>
|
|
<dd>Error reading member &3 in file &1.
|
|
</dd>
|
|
<dt><b>CPF2972</b></dt>
|
|
<dd>Error writing to member &3 in file &1.
|
|
</dd>
|
|
<dt><b>CPF9212</b></dt>
|
|
<dd>Cannot load or unload DDM file &2 in &3.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<table width="100%">
|
|
<tr><td align="right"><a href="#CPYFRMTAP.Top_Of_Page">Top</a></td></tr>
|
|
</table>
|
|
</body>
|
|
</html>
|