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.
- Some file operations that are not rejected by a target iSeries server might
be rejected by a target System/36.
Examples are:
- A delete record operation is rejected if the System/36 file
is not a delete-capable file. To the iSeries source
user, the rejection might appear to occur for unknown reasons.
- Change operation that attempts to change the key in the primary index
of a System/36 file is always
rejected.
- In the System/36 environment,
when System/36 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 iSeries server rejects
the copy request if the user specifies COMPRESS(*NO).
- If data is copied to a target System/36 file
that is a direct file and is not delete-capable, default values
for all Copy File (CPYF) command parameters except FROMMBR,
TOMBR, and MBROPT must be specified.
- An iSeries server does not support
the overwriting of data on the Delete File (DLTF) command. If an iSeries user accessing a System/36 wants
to overwrite the data, an application program must be written on the iSeries server, or the user must access the
target System/36 and perform
the overwrite operation.
- Depending on how a System/36 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.
- System/36 supports a maximum
of three key definitions for logical files and one key definition for keyed
physical files.
- System/36 file support does
not allow a file with active logical files to be cleared. When some iSeries programs (like ILE COBOL programs)
open a file for output only, a command to clear the file is issued. A target System/36 rejects any such command to
clear the file if a logical file exists over the file to be cleared.
- System/36 file support automatically
skips deleted records. If an iSeries source
user wishes to change the records in a System/36 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).
- System/36 file
support also handles file extensions differently, depending on the file type
and the language being used. However, an iSeries user
cannot extend any type of System/36 file
unless the access method used to access the file is similar to the method
used when the file was created.
If an iSeries user
is accessing a System/36 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:
- If the file was created as a sequential file, the iSeries user
should, if the iSeries language
is:
- ILE COBOL programming language: open the file using the EXTEND option.
- 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.
(BASIC and ILE RPG programming language both handle any needed file
extensions automatically.)
- If the file was created as a direct file, the iSeries user
should, if the iSeries language
is:
- The iSeries user can access
sequential System/36 files using
either sequential or direct (by relative record number) methods, but significant
differences occur when EOF or end of data occurs. If a System/36 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.
- Because the normal access method used for a System/36 file
can be changed by iSeries parameters
to values other than *RMTFILE, it is possible that DDM might attempt to access
the System/36 file in ways that
the System/36 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.
The normal access method used for a System/36 file
can be changed on the iSeries server:
by the ACCMTH parameter of the DDM file commands Create DDM File
(CRTDDMF) and Change DDM File (CHGDDMF), by the
SEQONLY parameter of the Override with Database File (OVRDBF) command,
or by using the OVRDBF command to override one DDM file
with another DDM file having a different ACCMTH value in effect.
- The iSeries user can access
a System/36 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.
- Target System/36 DDM cannot
support creating logical files with duplicate (nonunique) keys, because the System/36 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.
Note: Never cancel the target data manager using a SYSLOG HALT.