ibm-information-center/dist/eclipse/plugins/i5OS.ic.ddm_5.4.0.1/rbae5considerations.htm

166 lines
12 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="iSeries source to System/36 target considerations for DDM" />
<meta name="abstract" content="When an iSeries server is using DDM to communicate as a source server to access files on a System/36 target server, the information in this topic applies and should be considered." />
<meta name="description" content="When an iSeries server is using DDM to communicate as a source server to access files on a System/36 target server, the information in this topic applies and should be considered." />
<meta name="DC.subject" content="target DDM (TDDM), System/36, TDDM (target DDM), DDM target considerations, source DDM (SDDM), server, iSeries, SDDM (source DDM), DDM source considerations, as source, system, AS/400, deleted records, file, extensions, sequential file, extension support, ILE COBOL programming language, extending, ILE RPG programming language, indexed, sequential processing," />
<meta name="keywords" content="target DDM (TDDM), System/36, TDDM (target DDM), DDM target considerations, source DDM (SDDM), server, iSeries, SDDM (source DDM), DDM source considerations, as source, system, AS/400, deleted records, file, extensions, sequential file, extension support, ILE COBOL programming language, extending, ILE RPG programming language, indexed, sequential processing," />
<meta name="DC.Relation" scheme="URI" content="rbae5source36.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rbae5considerations" />
<meta name="DC.Language" content="en-us" />
<!-- 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. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>iSeries source to System/36 target considerations for DDM</title>
</head>
<body id="rbae5considerations"><a name="rbae5considerations"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1"><span class="keyword">iSeries</span> source to <span class="keyword">System/36</span> target considerations for DDM</h1>
<div><p>When an <span class="keyword">iSeries™ server</span> is
using DDM to communicate as a source server to access files on a <span class="keyword">System/36™</span> target server, the information
in this topic applies and should be considered.</p>
<div class="section"><ul><li>Some file operations that are not rejected by a target <span class="keyword">iSeries server</span> might
be rejected by a target <span class="keyword">System/36</span>.
Examples are: <ul><li>A delete record operation is rejected if the <span class="keyword">System/36</span> file
is not a delete-capable file. To the <span class="keyword">iSeries</span> source
user, the rejection might appear to occur for unknown reasons.</li>
<li>Change operation that attempts to change the key in the primary index
of a <span class="keyword">System/36</span> file is always
rejected.</li>
</ul>
</li>
<li>In the <span class="keyword">System/36</span> environment,
when <span class="keyword">System/36</span> users try to
copy a delete-capable file to a file that is not delete-capable with the NOREORG
parameter, a warning message is issued stating that deleted records might
be copied. The user can choose option 0 (Continue) to continue the process.
By selecting this option, the file is copied and any deleted records in the
input file become active records in the output file. An <span class="keyword">iSeries server</span> rejects
the copy request if the user specifies COMPRESS(*NO).</li>
<li>If data is copied to a target <span class="keyword">System/36</span> file
that is a direct file and is not delete-capable, default values
for all <span class="cmdname">Copy File (CPYF)</span> command parameters except FROMMBR,
TOMBR, and MBROPT must be specified.</li>
<li>An <span class="keyword">iSeries server</span> does not support
the overwriting of data on the Delete File (DLTF) command. If an <span class="keyword">iSeries</span> user accessing a <span class="keyword">System/36</span> wants
to overwrite the data, an application program must be written on the <span class="keyword">iSeries server</span>, or the user must access the
target <span class="keyword">System/36</span> and perform
the overwrite operation.</li>
<li>Depending on how a <span class="keyword">System/36</span> file
is originally created, the maximum number of records it can contain is approximately
eight million. This number can be significantly smaller if the file is not
extendable or if sufficient storage space is not available to extend the file
to add more records.</li>
<li><span class="keyword">System/36</span> supports a maximum
of three key definitions for logical files and one key definition for keyed
physical files.</li>
<li><span class="keyword">System/36</span> file support does
not allow a file with active logical files to be cleared. When some <span class="keyword">iSeries</span> programs (like ILE COBOL programs)
open a file for output only, a command to clear the file is issued. A target <span class="keyword">System/36</span> rejects any such command to
clear the file if a logical file exists over the file to be cleared.</li>
<li><span class="keyword">System/36</span> file support automatically
skips deleted records. If an <span class="keyword">iSeries</span> source
user wishes to change the records in a <span class="keyword">System/36</span> base
file over which at least one logical file has been built, the file must be
opened in I/O mode, specifying direct organization and random access by record
number. Then each record can be read by record number and changed. If a deleted
record is found, a record-not-found indication is returned, and the record
might be written rather than rewritten for that position (write operation
rather than a change operation).</li>
<li>System/36 file
support also handles file extensions differently, depending on the file type
and the language being used. However, an <span class="keyword">iSeries</span> user
cannot extend any type of <span class="keyword">System/36</span> file
unless the access method used to access the file is similar to the method
used when the file was created. <p>If an <span class="keyword">iSeries</span> user
is accessing a <span class="keyword">System/36</span> file
with an access method similar to the one used to create the file, the file
can be extended during its use in the following manner: </p>
<ul><li>If the file was created as a <em>sequential</em> file, the <span class="keyword">iSeries</span> user
should, if the <span class="keyword">iSeries</span> language
is: <ul><li>ILE COBOL programming language: open the file using the EXTEND option.</li>
<li>PL/I: open the file using the UPDATE option. Perform a read operation
using the POSITION option of LAST, and then perform the write operations.</li>
</ul>
</li>
</ul>
<p>(BASIC and ILE RPG programming language both handle any needed file
extensions automatically.)</p>
</li>
<li>If the file was created as a <em>direct</em> file, the <span class="keyword">iSeries</span> user
should, if the <span class="keyword">iSeries</span> language
is: <ul><li>ILE COBOL programming language: open the file using the I-O option, position
the end of file pointer to the end of the file (using, for example, READ LAST),
and perform a write operation.</li>
<li>PL/I: open the file using the UPDATE option, position the end of file
(EOF) pointer to the end of the file (using, for example, READ LAST), and
perform a write operation. <p>(BASIC and ILE RPG programming language both
handle any needed file extensions automatically.)</p>
</li>
<li>If the file was created as an <em>indexed</em> file, the file is extended
each time a write operation is performed for a record having a key that does
not already exist in the file.</li>
</ul>
</li>
<li> The <span class="keyword">iSeries</span> user can access
sequential <span class="keyword">System/36</span> files using
either sequential or direct (by relative record number) methods, but significant
differences occur when EOF or end of data occurs. If a <span class="keyword">System/36</span> sequential
file is being processed using relative record number access and is opened
for either input/output or output only, then, on reaching the end of active
records (EOF), you cannot add new records in the available free space beyond
the end of data. You will have to close and reopen the file to extend it.
To extend the file, you can either reopen it as a sequential file or open
a logical file that uses this file as the base file.</li>
<li>Because the normal access method used for a <span class="keyword">System/36</span> file
can be changed by <span class="keyword">iSeries</span> parameters
to values other than *RMTFILE, it is possible that DDM might attempt to access
the <span class="keyword">System/36</span> file in ways that
the <span class="keyword">System/36</span> might not support.
Normally, the default value (*RMTFILE) on the ACCMTH parameter gives the user
the needed method of access. The use of access methods not normally expected
(such as direct or sequential access to indexed files, or sequential access
to direct files) requires the use of an ACCMTH parameter explicitly for the
access. <p>The normal access method used for a <span class="keyword">System/36</span> file
can be changed on the <span class="keyword">iSeries server</span>:
by the ACCMTH parameter of the DDM file commands <span class="cmdname">Create DDM File
(CRTDDMF)</span> and <span class="cmdname">Change DDM File (CHGDDMF)</span>, by the
SEQONLY parameter of the <span class="cmdname">Override with Database File (OVRDBF)</span> command,
or by using the <span class="cmdname">OVRDBF</span> command to override one DDM file
with another DDM file having a different ACCMTH value in effect.</p>
</li>
<li>The <span class="keyword">iSeries</span> user can access
a <span class="keyword">System/36</span> file using a member
name if the member name is *FIRST, or in some cases *LAST, or if the file
name is the same as the member name.</li>
<li>Target <span class="keyword">System/36</span> DDM cannot
support creating logical files with duplicate (nonunique) keys, because the <span class="keyword">System/36</span> local data management key sort
sends messages to the target server console with options 1 or 3 when duplicate
keys are detected. This forces the target system operator either to change
the file attributes to allow duplicate keys or to cancel the target data manager.
<div class="note"><span class="notetitle">Note:</span> Never cancel the target data manager using a SYSLOG HALT.</div>
</li>
</ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbae5source36.htm" title="Before an iSeries server can access files on a System/36, Level 1.0 of the DDM architecture must be installed on the System/36. These topics contain information that applies when an iSeries server is the source or target server communicating with a System/36.">System/36 source and target considerations for DDM</a></div>
</div>
</div>
</body>
</html>