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

852 lines
42 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>Override with Data Base File (OVRDBF)</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="OVRDBF.Top_Of_Page"></a>
<h2>Override with Data Base File (OVRDBF)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>Conditional
</td>
<td valign="top" align="right">
<a href="#OVRDBF.PARAMETERS.TABLE">Parameters</a><br>
<a href="#OVRDBF.COMMAND.EXAMPLES">Examples</a><br>
<a href="#OVRDBF.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="OVRDBF"></a>
<p>The Override with Database File (OVRDBF) command is used to (1) override (replace) the file named in the program, (2) override certain parameters of a file that are used by the program, or (3) override the file named in the program <i>and</i> override certain parameters of the file being processed. Parameters overridden by this command are specified in the file description, in the program, or in other previously issued file override commands. This command applies to physical files, logical files, and distributed data management (DDM) files.
</p>
<p>To override (replace) a file named in the program, specify the name of that file in the FILE parameter, and specify the name of the file that overrides it (the file to be processed by the program) in the TOFILE parameter. The other parameters of this command can be used to override parameter values contained in the file description of the overriding file.
</p>
<p>To override only certain parameters of the file named in the program, instead of replacing the entire file, specify the name of the file in the FILE parameter and specify the *FILE value for the TOFILE parameter. Then use the other parameters of this command to override specific parameters of the file. Parameters that are not specified do not affect parameters specified in the file description, in the program, or in other previously issued file override commands.
</p>
<p><b>Restrictions:</b>
</p>
<ol>
<li>In a multithreaded job, this command may only be issued from the initial thread.
</li>
<li>In a multithreaded job, only Activation Group or Job scoped overrides will affect opens performed in a secondary thread.
</li>
</ol>
<p>
<b>Note: </b>The override cannot be used for all commands. A list of the commands that cannot be overridden, along with more information on overriding files is in the Files and file systems topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<p>
<b>Note: </b>Using this command does not cause a file to be overridden immediately. Information provided on this command is stored until the file is used, at which time the file is overridden.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="OVRDBF.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="#OVRDBF.FILE"><b>FILE</b></a></td>
<td valign="top">File being overridden</td>
<td valign="top"><i>Name</i></td>
<td valign="top">Required, Positional 1</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#OVRDBF.TOFILE"><b>TOFILE</b></a></td>
<td valign="top">Overriding to data base file</td>
<td valign="top">Single values: <b><u>*FILE</u></b><br>Other values: <i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional, Positional 2</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Overriding to data base 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="#OVRDBF.MBR"><b>MBR</b></a></td>
<td valign="top">Overriding member</td>
<td valign="top"><i>Name</i>, *FIRST, *LAST, *ALL</td>
<td valign="top">Optional, Positional 3</td>
</tr>
<tr>
<td valign="top" rowspan="5"><a href="#OVRDBF.POSITION"><b>POSITION</b></a></td>
<td valign="top">Starting position in file</td>
<td valign="top">Single values: *NONE, *START, *END<br>Other values: <i>Element list</i></td>
<td valign="top" rowspan="5">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Retrieve order</td>
<td valign="top">
*RRN, *KEYB, *KEYBE, *KEY, *KEYAE, *KEYA</td>
</tr>
<tr>
<td valign="top">Element 2: *RRN-rcd nbr *KEY-nbr key flds</td>
<td valign="top">
<i>Unsigned integer</i></td>
</tr>
<tr>
<td valign="top">Element 3: *KEY-rec format having key</td>
<td valign="top">
<i>Name</i></td>
</tr>
<tr>
<td valign="top">Element 4: *KEY-key value</td>
<td valign="top">
<i>Character value</i></td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#OVRDBF.RCDFMTLCK"><b>RCDFMTLCK</b></a></td>
<td valign="top">Record format lock</td>
<td valign="top">Values (up to 32 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Record format</td>
<td valign="top">
<i>Name</i></td>
</tr>
<tr>
<td valign="top">Element 2: Lock state</td>
<td valign="top">
*SHRRD, *SHRNUP, *SHRUPD, *EXCLRD, *EXCL</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.FRCRATIO"><b>FRCRATIO</b></a></td>
<td valign="top">Records to force a write</td>
<td valign="top"><i>Integer</i>, *NONE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#OVRDBF.FMTSLR"><b>FMTSLR</b></a></td>
<td valign="top">Rcd format selector program</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Rcd format selector program</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="#OVRDBF.WAITFILE"><b>WAITFILE</b></a></td>
<td valign="top">Maximum file wait time</td>
<td valign="top"><i>Integer</i>, *IMMED, *CLS</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.WAITRCD"><b>WAITRCD</b></a></td>
<td valign="top">Maximum record wait time</td>
<td valign="top"><i>Integer</i>, *IMMED, *NOMAX</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.NBRRCDS"><b>NBRRCDS</b></a></td>
<td valign="top">Records retrieved at once</td>
<td valign="top"><i>Integer</i></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.EOFDLY"><b>EOFDLY</b></a></td>
<td valign="top">EOF retry delay in sec</td>
<td valign="top">1-99999, *NONE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.LVLCHK"><b>LVLCHK</b></a></td>
<td valign="top">Record format level check</td>
<td valign="top">*NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.EXPCHK"><b>EXPCHK</b></a></td>
<td valign="top">Check expiration date</td>
<td valign="top">*YES, *NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.INHWRT"><b>INHWRT</b></a></td>
<td valign="top">Inhibit write</td>
<td valign="top">*YES, *NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.SECURE"><b>SECURE</b></a></td>
<td valign="top">Secure from other overrides</td>
<td valign="top"><b><u>*NO</u></b>, *YES</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.OVRSCOPE"><b>OVRSCOPE</b></a></td>
<td valign="top">Override scope</td>
<td valign="top"><b><u>*ACTGRPDFN</u></b>, *CALLLVL, *JOB</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.SHARE"><b>SHARE</b></a></td>
<td valign="top">Share open data path</td>
<td valign="top">*NO, *YES</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.OPNSCOPE"><b>OPNSCOPE</b></a></td>
<td valign="top">Open scope</td>
<td valign="top">*ACTGRPDFN, *JOB</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#OVRDBF.SEQONLY"><b>SEQONLY</b></a></td>
<td valign="top">Limit to sequential only</td>
<td valign="top">Single values: *NO<br>Other values: <i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Sequential only</td>
<td valign="top">
*YES</td>
</tr>
<tr>
<td valign="top">Element 2: Number of records</td>
<td valign="top">
<i>Integer</i></td>
</tr>
<tr>
<td valign="top"><a href="#OVRDBF.DSTDTA"><b>DSTDTA</b></a></td>
<td valign="top">Distributed Data</td>
<td valign="top">*BUFFERED, *PROTECTED, *CURRENT</td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="OVRDBF.FILE"></a>
<h3>File being overridden (FILE)</h3>
<p>Specifies the file in the using program to which this override command is applied. The specified file must be a database file when *FILE is specified in the <b>Overriding to data base file (TOFILE)</b> parameter. Otherwise, any device file or database file name can be specified.
</p>
<p>This is a required parameter.
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the file.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.TOFILE"></a>
<h3>Overriding to data base file (TOFILE)</h3>
<p>Specifies the database file that is used instead of the file specified on the <b>File being overridden (FILE)</b> parameter, or, if *FILE is specified, specifies that certain attributes are overridden by parameters specified in this command. The parameters specified on this command override the same parameters specified in the database file, in the program, or in other previously issued OVRDBF commands.
</p>
<p><b>Single values</b>
</p>
<dl>
<dt><b><u>*FILE</u></b></dt>
<dd>The database file named in the <b>File being overridden (FILE)</b> parameter has some of its parameters overridden by values specified in this command.
</dd>
</dl>
<p><b>Qualifier 1: Overriding to data base file</b>
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the database file that is used instead of the file specified in the FILE parameter.
</dd>
</dl>
<p><b>Qualifier 2: Library</b>
</p>
<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 job is used to locate the database file. If no library is specified as the current library, QGPL is used.
</dd>
<dt><b><i>name</i></b></dt>
<dd>Specify the library where the database file is located.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.MBR"></a>
<h3>Overriding member (MBR)</h3>
<p>Specifies the members used within the database file. This parameter is not valid for distributed data management (DDM) files that refer to remote systems other than the System/38 or the AS/400 system.
</p>
<dl>
<dt><b>*FIRST</b></dt>
<dd>The first member of a database file is used.
</dd>
<dt><b>*LAST</b></dt>
<dd>The last member of a database file is used.
</dd>
<dt><b>*ALL</b></dt>
<dd>All members in your file are processed in order. All members are opened with the same override parameters as the first member. Overrides issued prior to the open of the first member are processed, but overrides or delete overrides issued following the open of the first member are not processed. EOFDLY, FMTSLR, INHWRT, or the POSITION parameter cannot be specified if MBR(*ALL) has been specified on a previously issued OVRDBF command that is still in effect for this file. An escape message is sent if any of the mutually exclusive parameters are specified.
</dd>
<dt><b><i>name</i></b></dt>
<dd>Specify the member name that overrides (at file open time) the member name specified in the using program, or in other called OVRDBF commands. If the member name is not specified, and a TOFILE parameter other than *FILE has been specified, the first member in the file is used.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.POSITION"></a>
<h3>Starting position in file (POSITION)</h3>
<p>Specifies the starting position for reading records from the database file. The first record to get can be at the beginning (*START) or at the end (*END) of the file, the nth record in the file (*RRN), or the record indicated by a key field value and one of the key-search values (*KEY, *KEYA, *KEYAE, *KEYB, or *KEYBE). This parameter overrides the value specified in the program, or in other called OVRDBF commands.
</p>
<p>
<b>Note: </b>This parameter cannot be specified if *ALL was specified previously on the <b>Overriding member (MBR)</b> parameter.
</p>
<p><b>Single values</b>
</p>
<dl>
<dt><b>*NONE</b></dt>
<dd>No special positioning is required. The first input/output operation indicates the record that is read.
</dd>
<dt><b>*START</b></dt>
<dd>The starting position is the first record in the file. If a read-previous record operation is specified in the program, an end-of-file condition occurs.
</dd>
<dt><b>*END</b></dt>
<dd>The starting position is the last record in the file. When the next record is read, an end-of-file condition is reached. If a read previous record operation is requested, the last record of the file is read.
</dd>
</dl>
<p><b>Element 1: Retrieve order</b>
</p>
<dl>
<dt><b>*RRN</b></dt>
<dd>The starting position is the relative record number specified for the second element of this parameter.
</dd>
<dt><b>*KEYB</b></dt>
<dd>A record that precedes the record identified by the remaining search values (number of fields, record format name, and key value) is the first record read.
</dd>
<dt><b>*KEYBE</b></dt>
<dd>The record identified by the search values is the first record read. If no record matches those values, the record that matches the largest previous value is selected.
</dd>
<dt><b>*KEY</b></dt>
<dd>The record identified by the search values is the first record read. If a read-previous record operation is specified in the program, the preceding record is read.
</dd>
<dt><b>*KEYAE</b></dt>
<dd>The record identified by the search values is the first record read. If there is no record that matches those values, the record with the next highest value is selected.
</dd>
<dt><b>*KEYA</b></dt>
<dd>A record that follows the record identified by the remaining search values (number of fields, record format name, and key value) is the first record read.
</dd>
</dl>
<p><b>Element 2: *RRN-rcd nbr *KEY-nbr key flds</b>
</p>
<dl>
<dt><b><i>relative-record-number</i></b></dt>
<dd>Specify the relative record number (its position from the beginning of the file) of the record that is read first. The value *RRN must be specified for the first element of this parameter. For example, POSITION(*RRN 480) specifies that record 480 is read next. If a read-previous record operation is requested, the 479th record in the file is read.
</dd>
<dt><b><i>number-of-key-fields</i></b></dt>
<dd>Specify the number of key fields to use in the search, if *KEYB, *KEYBE, *KEY, *KEYAE, or *KEYA is specified for the first element of this parameter. The number of fields specified does not have to be the same as the actual number of fields in each key for the file. For example, if you specify POSITION(*KEY 1 FMT1 A), the first record in the file format FMT1 that has a first key field value of A is read. If you specify a key value of zero, the search is based on all key fields. If zero is used, the key value contains the maximum key size. If it does not, no match occurs.
</dd>
</dl>
<p><b>Element 3: *KEY-rec format having key</b>
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the record format in the database file that contains the key value specified. If no record format name is specified, all record formats are searched for the first record that matches the other search values.
</dd>
</dl>
<p><b>Element 4: *KEY-key value</b>
</p>
<dl>
<dt><b><i>character-value</i></b></dt>
<dd>Specify the first record read. The key value is specified as a character string enclosed in apostrophes for character or positive zoned decimal formats, or is specified in hexadecimal form (x'value'). You can specify up to 2000 characters in the character string.
<p>For example, POSITION(*KEY 1 FMT2 X'123F') specifies that:
</p>
<ol>
<li>The system searches for a record from the record format FMT2.
</li>
<li>A single key field is used in the search (even though the key value may have more key fields).
</li>
<li>The record contains the hexadecimal value 123F (the hexadecimal equivalent of packed decimal value 123.0). You get this record when it is found.
</li>
</ol>
</dd>
</dl>
<p>The Distributed Data Management information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter has more information on the effects of using the POSITION parameter with DDM files.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.RCDFMTLCK"></a>
<h3>Record format lock (RCDFMTLCK)</h3>
<p>Specifies the lock state of the named record format while it is used by the program. The lock state indicates how the data associated with each format is locked. The following example shows the lock states that are specified for each record format and the operations allowed to other programs when the lock is in effect:
</p>
<p>
<pre>
Lock State Other Program Operations
--------------------- -------------------------
*SHRRD (Shared read) Read and update allowed
*SHRNUP (Shared read, Read allowed, update
no update) not allowed
*SHRUP (Shared update) Read and update allowed
*EXCLRD (Exclusive Read allowed, update
allow read) not allowed
*EXCL (Exclusive no Neither read nor
read) update allowed
</pre>
</p>
<p>An explanation of each lock state is in the CL information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<p>For each record format, specify the record format name, followed by one lock state value. If the lock state specified for the file in an Allocate Object (ALCOBJ) command is more restrictive than the lock state specified in this parameter, this parameter is ignored. Thus, this parameter can only impose a more restrictive lock state on a record format than the lock state specified for the file.
</p>
<p>You can specify 32 values for this parameter.
</p>
<p><b>Element 1: Record format</b>
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of record format.
</dd>
</dl>
<p><b>Element 2: Lock state</b>
</p>
<dl>
<dt><b><i>lock-state</i></b></dt>
<dd>Specify one of the lock state values from the above table.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.FRCRATIO"></a>
<h3>Records to force a write (FRCRATIO)</h3>
<p>Specifies the number of insert, delete, or update operations that can occur on records before those records are forced into auxiliary (permanent) storage. If this physical file is being journaled, either a large number or *NONE should be used. *NONE may cause long synchronization of the journal and physical files. More information on this parameter is in the CL concepts and reference topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter, Appendix A. More information on journal management is in the Backup and Recovery book, SC41-5304.
</p>
<p>This parameter overrides the force-write ratio specified in the database file, in the program, or in other previously issued OVRDBF commands.
</p>
<dl>
<dt><b>*NONE</b></dt>
<dd>There is no force write ratio; the system determines when the records are written to auxiliary storage.
</dd>
<dt><b><i>integer</i></b></dt>
<dd>Specify the number of records written the changes are forced to disk. If a physical file associated with this database file is recorded in a journal, specify a larger force-write ratio.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.FMTSLR"></a>
<h3>Rcd format selector program (FMTSLR)</h3>
<p>Specifies the record format selection program that is called when a logical file member contains more than one logical record format. The user-written selection program is called when a record is inserted into the database file and a record format name is not included in the high-level language program. More information about the use of format selector programs is in the Database information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter. This parameter overrides the value specified in the database file and in other previously issued OVRDBF commands.
</p>
<p>A program specified as the format selector program cannot be created with USRPRF(*OWNER) specified in the Create CL Program (CRTCLPGM) command.
</p>
<p>
<b>Note: </b>This parameter cannot be specified if *ALL was specified previously on the <b>Overriding member (MBR)</b> parameter.
</p>
<p><b>Qualifier 1: Rcd format selector program</b>
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the selection program.
</dd>
</dl>
<p><b>Qualifier 2: Library</b>
</p>
<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 job is used to locate the program. If no current library entry exists in the library list, QGPL is used.
</dd>
<dt><b><i>name</i></b></dt>
<dd>Specify the library where the program is located.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.WAITFILE"></a>
<h3>Maximum file wait time (WAITFILE)</h3>
<p>Specifies the number of seconds that the program waits for the file resources to be allocated when the file is opened, or the device or session resources to be allocated when an acquire operation is performed to the file. If the file resources cannot be allocated in the specified wait time, an error message is sent to the program.
</p>
<p>This parameter overrides the wait time specified in the database file, in the program, or in other previously issued OVRDBF commands.
</p>
<p>More information on this parameter is in CL concepts and reference topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter, Appendix A.
</p>
<dl>
<dt><b>*IMMED</b></dt>
<dd>The program does not wait. When the file is opened, an immediate allocation of the file resources is attempted.
</dd>
<dt><b>*CLS</b></dt>
<dd>The default wait time specified in the class description is used as the wait time for the allocation of the file resources.
</dd>
<dt><b><i>integer</i></b></dt>
<dd>Specify the number of seconds that the program waits for the allocation of the file resources. Valid values range from 1 through 32767 seconds.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.WAITRCD"></a>
<h3>Maximum record wait time (WAITRCD)</h3>
<p>Specifies the number of seconds that a program waits for a record to be updated or deleted, or for a record read in the commitment control environment with LCKLVL(*ALL) specified. More information on record locking is in the Database information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter. If the record is not allocated in the specified wait time, an error message is sent to the program.
</p>
<p>
<b>Note: </b>This parameter overrides the record wait time specified in the database file, specified in the program, or in other previously issued OVRDBF commands. The minimum delay for DDM files is 60 seconds. This value may need to be longer than the delay specified for local database files.
</p>
<dl>
<dt><b>*NOMAX</b></dt>
<dd>The program waits indefinitely for a record lock.
</dd>
<dt><b>*IMMED</b></dt>
<dd>The program does not wait. An immediate lock of the record is obtained when the record is read.
</dd>
<dt><b><i>integer</i></b></dt>
<dd>Specify the number of seconds that the program waits for the record lock. Valid values range from 1 through 32767 seconds.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.NBRRCDS"></a>
<h3>Records retrieved at once (NBRRCDS)</h3>
<p>Specifies the number of records read from auxiliary storage as a unit and written to main storage as a unit. The amount of data actually read is equal to the number of records times the physical record length, not the logical record length.
</p>
<p>This parameter is valid for sequential or random processing and is specified only when the data records are physically located in auxiliary storage in the sequence in which they are processed. This parameter overrides the number of records value specified in the program, or in other previously issued OVRDBF commands.
</p>
<dl>
<dt><b><i>integer</i></b></dt>
<dd>Specify the number of records. Valid values range from 1 through 32767.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.EOFDLY"></a>
<h3>EOF retry delay in sec (EOFDLY)</h3>
<p>Specifies the number of seconds of delay before trying to read additional records when end of file is reached. This delay is used to allow other jobs an opportunity to add records to the file, and have the new records processed without having to start the job again. When the delay time ends, the job is made active, and data management determines whether any new records were added. If no new records were added, the job waits for another time delay without informing the application program. When a number of seconds is given, no end of file occurs on the given database file until an End Job (ENDJOB) command or forced end of data (FEOD) occurs.
</p>
<p>
<b>Note: </b>This parameter cannot be specified if *ALL was specified previously on the <b>Overriding member (MBR)</b> parameter.
</p>
<p>There are several ways to end a job that is waiting for records due to an EOFDLY. They are:
</p>
<ul>
<li>Write a record to the specified file which is recognized by the application program as a last record. The application program may then do a force end of data (FEOD) to start the end-of-file processing or close the file.
</li>
<li>End the job using the controlled value (ENDJOB OPTION(*CNTRLD)) with a delay time greater than the time specified on the EOFDLY time. The DELAY parameter time specified must allow for the EOFDLY time to run out, plus time to process any new records that may have been added to the file, and any end-of-file processing that is done in the user's application. The end-of-file is set by database, and a normal end-of-file condition occurs after new records are retrieved.
</li>
<li>End the job immediately (ENDJOB OPTION(*IMMED)).
</li>
<li>If the job is interactive, start a system request and end the previous request.
</li>
</ul>
<dl>
<dt><b>*NONE</b></dt>
<dd>Normal end-of-file processing is done.
</dd>
<dt><b><i>1-99999</i></b></dt>
<dd>Specify the number of seconds that the program waits between attempts to get a record when an end of file condition occurs. No end of file is signaled until force end of data occurs, or until the job is ended with the *CNTRLD option.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.LVLCHK"></a>
<h3>Record format level check (LVLCHK)</h3>
<p>Specifies whether the level identifiers for the record formats of the database file are checked when the file is opened by a program. For this check, which is done while the member is opened, the system compares the record format identifiers of each record format used by the program with the corresponding identifiers in the database member. Level checking cannot be done unless the program contains the record format identifiers. This command cannot override level checking from *NO to *YES.
</p>
<dl>
<dt><b>*NO</b></dt>
<dd>The level identifiers are not checked when the file is opened.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.EXPCHK"></a>
<h3>Check expiration date (EXPCHK)</h3>
<p>Specifies whether the expiration date of the named member is checked. This date check is valid only on a physical file member. This parameter overrides the value specified in the program, or in other called OVRDBF commands.
</p>
<dl>
<dt><b>*YES</b></dt>
<dd>The expiration date of the physical file member is checked. If the current date is later than the expiration date, an escape message is sent to the program.
</dd>
<dt><b>*NO</b></dt>
<dd>The expiration date is not checked.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.INHWRT"></a>
<h3>Inhibit write (INHWRT)</h3>
<p>Specifies whether the processed records are written, deleted, or updated in the database file. The inhibit write parameter allows you to test a program without storing the processed records in the database. This parameter overrides the INHWRT parameter in other previously issued OVRDBF commands.
</p>
<p>
<b>Note: </b>This parameter cannot be specified if *ALL is specified on the <b>Overriding member (MBR)</b> parameter.
</p>
<dl>
<dt><b>*YES</b></dt>
<dd>Processed records are prevented from being written into the database. They are written only to an output device.
</dd>
<dt><b>*NO</b></dt>
<dd>All new and changed processed records are written into the database unless the program is in debug mode with *NO specified on the <b>Update production files (UPDPROD)</b> parameter, and the file is in a production library. In that case, an escape message is sent to the program.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.SECURE"></a>
<h3>Secure from other overrides (SECURE)</h3>
<p>Specifies whether this file is safe from the effects of previously called file override commands.
</p>
<dl>
<dt><b><u>*NO</u></b></dt>
<dd>This file is not protected from other file overrides. Its values are overridden by the effects of any file override commands that were previously called.
</dd>
<dt><b>*YES</b></dt>
<dd>This file is protected from the effects of any file override commands that were previously called.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.OVRSCOPE"></a>
<h3>Override scope (OVRSCOPE)</h3>
<p>Specifies the extent of influence (scope) of the override.
</p>
<dl>
<dt><b><u>*ACTGRPDFN</u></b></dt>
<dd>The scope of the override is determined by the activation group of the program that calls this command. When the activation group is the default activation group, the scope equals the call level of the calling program. When the activation group is not the default activation group, the scope equals the activation group of the calling program.
</dd>
<dt><b>*CALLLVL</b></dt>
<dd>The scope of the override is determined by the current call level. All open operations done at a call level that is the same as or higher than the current call level are influenced by this override.
</dd>
<dt><b>*JOB</b></dt>
<dd>The scope of the override is the job in which the override occurs.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.SHARE"></a>
<h3>Share open data path (SHARE)</h3>
<p>Specifies whether the open data path (ODP) is shared with other programs in the same routing step. When an ODP is shared, the programs accessing the file share facilities such as the file status and the buffer.
</p>
<p>More information on shared database files is in the Database information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<dl>
<dt><b>*NO</b></dt>
<dd>The ODP is not shared with other programs in the routing step. A new ODP for the file is created and used every time a program opens the file.
</dd>
</dl>
<dl>
<dt><b>*YES</b></dt>
<dd>If the member is opened more than once, the same ODP is shared with each program in the job that also specifies *YES on the <b>Share open data path (SHARE)</b> parameter when it opens the member. This includes several open operations in the same program.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.OPNSCOPE"></a>
<h3>Open scope (OPNSCOPE)</h3>
<p>Specifies the extent of influence (scope) of the open operation.
</p>
<dl>
<dt><b>*ACTGRPDFN</b></dt>
<dd>The scope of the open operation is determined by the activation group of the program that called the OVRDBF command processing program. If the activation group is the default activation group, the scope is the call level of the caller. If the activation group is a non-default activation group, the scope is the activation group of the caller.
</dd>
<dt><b>*JOB</b></dt>
<dd>The scope of the open operation is the job in which the open operation occurs.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.SEQONLY"></a>
<h3>Limit to sequential only (SEQONLY)</h3>
<p>Specifies, for database files whose records are processed in sequential order only, whether sequential only processing is used on the file. This parameter also specifies the number of records transferred as a group to or from the database if sequential only processing is used. If a number is not specified, a default number is determined by the system. This parameter is used to improve the performance of programs that process database files in a sequential manner. This parameter overrides the value specified in the program or in other previously issued OVRDBF commands.
</p>
<p>For files opened for <i>input</i> only in a program, the specified number of records is transferred as a group from the database to an internal data management buffer.
</p>
<p>For files opened for <i>output</i> only in a program, a group of records is transferred to the database whenever the internal data management buffer receives the specified number of processed records from the program. For output files, sequential-only processing is valid for physical file members and for logical file members that are based on one physical file member only.
</p>
<p>If SEQONLY(*YES) is specified, and any of the following conditions are true, the SEQONLY parameter is ignored and a message is issued.
</p>
<ul>
<li>The program opened the member for output only and SEQONLY(*YES) is specified with the default number of records, and the member opened is either a logical member, a unique keyed physical member, or other access paths are built over the physical member.
</li>
<li>The program opened the member for other than input or output.
</li>
<li>The member opened by the program for output is based on many other members.
</li>
<li>The record length plus the feedback area sum exceeded 32,767 bytes.
</li>
</ul>
<p>
<b>Note: </b>Unpredictable results occur when this parameter is used for alternate index files for DDM on a system other than an iSeries or AS/400 system.
</p>
<p><b>Single values</b>
</p>
<dl>
<dt><b>*NO</b></dt>
<dd>The database file is not restricted to sequential only processing.
</dd>
</dl>
<p><b>Element 1: Sequential only</b>
</p>
<dl>
<dt><b>*YES</b></dt>
<dd>The database file uses sequential only processing. A default value for the number of records transferred as a group is determined by the system based on how the file is used, the type of access path involved, and the file's record length:
<ul>
<li>The default is approximately the number of records that fit in an internal buffer of 4K for:
<ul>
<li>All database files opened for input only
</li>
<li>Physical files opened for output that are only processed in either arrival sequence or in non-unique keyed sequence and that have no logical file members based on them
</li>
</ul>
</li>
<li>The default is 1 record for:
<ul>
<li>All logical files opened for output only
</li>
<li>Physical files opened for output only that either have <i>unique</i> keyed sequence access paths or have at least one dependent logical file with a keyed sequence access path that does not share the access path of the keyed physical file member
</li>
</ul>
</li>
</ul>
</dd>
</dl>
<p><b>Element 2: Number of records</b>
</p>
<dl>
<dt><b><i>integer</i></b></dt>
<dd>Specify the number of records transferred each time. Valid values range from 1 through 32767. The file uses sequential only processing, and you must specify a value indicating the number of records in each group transferred between the database and the internal buffer. The user must ensure that the buffer size specified is always available to the program in the storage pool in which the program is running. The file uses sequential-only processing.
<p>While records are in the internal data management buffer, other jobs can make changes to the same records in the database, and the program performing sequential-only input processing does not see the updates. To ensure that no other updating is done to records while they are in the buffer, the Allocate Object (ALCOBJ) command can be used in the program to specify either an *EXCLRD or an *EXCL lock on the file.
</p>
<p>If a program performs sequential-only output processing and does not handle output errors (such as duplicate keys and conversion mapping errors) that may occur when the records in the buffer are written to the database, records in the buffer after the first record in error are not written.
</p>
<p>If the file is opened for output and the value specified in this parameter is not the same as the force write ratio specified for the file, the value used by the system is the smaller of the two; a message stating which value is changed is sent to the user.
</p>
<p>When processing SEQONLY(*YES) for writing records into a database file, feedback information for each record (such as relative record number) is not always changed. If such feedback information is important, specify SEQONLY(*NO) or SEQONLY(*YES 1).
</p>
<p>More information on sequence-only database files is in the Database information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="OVRDBF.DSTDTA"></a>
<h3>Distributed Data (DSTDTA)</h3>
<p>Specifies the data retrieval method used for a distributed file. This parameter has no effect if used against a non-distributed file. Other parameters, such as SEQONLY, still affect how the data is retrieved from each system, and this parameter controls how all the data is managed when accessing a distributed file. This parameter overrides the distributed file data retrieval method selected by the system, or specified in other previously issued OVRDBF commands. More information on DSTDTA can be found in the DB/2 Multisystem for iSeries information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<dl>
<dt><b>*BUFFERED</b></dt>
<dd>In order to achieve the best performance, data from the remote system and the local system may be kept in a buffer until retrieved by the user.
</dd>
<dt><b>*PROTECTED</b></dt>
<dd>Data can be buffered, but the file is locked to prevent updates by other jobs. This will give the same performance as *BUFFERED, but guarantees current data. While one job is using this option, other jobs will not be able to update the data in the file.
</dd>
<dt><b>*CURRENT</b></dt>
<dd>Data is not buffered. This option results in fully live data, with maximum concurrency, but without optimal performance.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="OVRDBF.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: Overriding An Existing Member</b>
</p>
<p>
<pre>
OVRDBF FILE(ORDERSIN) MBR(MONDAY)
</pre>
</p>
<p>This command overrides the existing member with member MONDAY. With the override in effect, the member MONDAY will be processed when the file ORDERSIN is opened.
</p>
<p><b>Example 2: Overriding a Share Specification</b>
</p>
<p>
<pre>
OVRDBF FILE(ORDERSIN) SHARE(*YES)
</pre>
</p>
<p>This command overrides the share specification for the file ORDERSIN. Because of this override, any subsequent opens of this file within the routing step share the ODP for the file.
</p>
<p><b>Example 3: Overriding a File, Member and Lock State</b>
</p>
<p>
<pre>
OVRDBF FILE(INPUT) TOFILE(PAYROLL) MBR(MBR1)
RCDFMTLCK((EMPDATA *EXCL))
</pre>
</p>
<p>This command overrides the file, the member, and the lock state of the record format EMPDATA. The override will cause the following to occur when the file INPUT is opened:
</p>
<ul>
<li>The file PAYROLL will be processed instead of the file INPUT.
</li>
<li>The member MBR1 will be processed instead of the previously specified member.
</li>
<li>The lock *EXCL will be placed on record format EMPDATA instead of the existing lock. (*EXCL prevents another program from using the record format while the override is in effect.)
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="OVRDBF.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CPF180C</b></dt>
<dd>Function &amp;1 not allowed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#OVRDBF.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>