0% found this document useful (0 votes)
609 views224 pages

System/38 Environment Programming

Uploaded by

Walter Yalung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
609 views224 pages

System/38 Environment Programming

Uploaded by

Walter Yalung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 224

Application System/400 SC41-3735-00

System/38 Environment
Programming

Version 3
IBM Application System/400 SC41-3735-00

System/38 Environment
Programming

Version 3
Take Note!

Before using this information and the product it supports, be sure to read the general information under “Notices” on page v.

| First Edition (September 1994)

| This edition applies to the licensed program IBM Operating System/400, (Program 5763-SS1), Version 3 Release 1 Modification 0,
and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the proper
edition for the level of the product.

| Order publications through your IBM representative or the IBM branch serving your locality. If you live in the United States, Puerto
| Rico, or Guam, you can order publications through the IBM Software Manufacturing Company at 800+879-2755. Publications are not
stocked at the address given below.

A form for readers' comments is provided at the back of this publication. If the form has been removed, you may address your
comments to:

Attn Department 245


IBM Corporation
3605 Highway 52 N
| Rochester, MN 55901-9986 USA

| or you can fax your comments to:

| United States and Canada: 800+937-3430


| Other countries: (+1)+507+253-5192

| If you have access to Internet, you can sent your comments electronically to [email protected]; IBMMAIL, to
| ibmmail(usib56rz).

When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes
appropriate without incurring any obligation to you or restricting your use of it.

 Copyright International Business Machines Corporation 1994. All rights reserved.


Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to
restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . v Chapter 5. Coexistence with an AS/400
Programming Interface . . . . . . . . . . . . . . v System . . . . . . . . . . . . . . . . . . . . . 5-1
| Trademarks and Service Marks . . . . . . . . v Interchanging Media . . . . . . . . . . . . . . 5-1
Interchanging Save File Data . . . . . . . . . 5-1
About System/38 Environment Exchange ID . . . . . . . . . . . . . . . . . . 5-1
Programming (SC41-3735) . . . . . . . . . . vii APPC . . . . . . . . . . . . . . . . . . . . . . 5-2
What the Book Contains . . . . . . . . . . . . . vii Pass-Through . . . . . . . . . . . . . . . . . . 5-2
What the Book Does Not Contain . . . . . . . vii Object Distribution . . . . . . . . . . . . . . . 5-2
Who Should Use This Book . . . . . . . . . . . vii SNADS . . . . . . . . . . . . . . . . . . . . . 5-2
Interchanging Using Communication or Mixed
Chapter 1. Migration to the System/38 Files . . . . . . . . . . . . . . . . . . . . . . 5-2
Environment . . . . . . . . . . . . . . . . . 1-1 Interchanging Using DDM . . . . . . . . . . . 5-2
Operational Differences . . . . . . . . . . . . 1-1 Alerts . . . . . . . . . . . . . . . . . . . . . . . 5-5
The Migration Aid . . . . . . . . . . . . . . . . 1-2 Interchanging PC Data . . . . . . . . . . . . . 5-5
Moving Objects without the Migration Aid . . 1-2 Interchanging Journal Objects . . . . . . . . 5-6
Restoring the System/38 Objects on the
AS/400 System . . . . . . . . . . . . . . . . 1-3 Chapter 6. Maintaining System/38
Significant Changes . . . . . . . . . . . . . . 1-3 Applications on an AS/400 System . . . 6-1
How the System/38 Environment Is Defined 1-5 Automating Most of the Process . . . . . . . 6-3
What Is the System/38 Environment? . . . . 1-6 List by Function . . . . . . . . . . . . . . . . . 6-4
How Should You Operate the System? . . 1-10 APF . . . . . . . . . . . . . . . . . . . . . . 6-4
Object Attributes and Source Types . . . . 1-10 CL . . . . . . . . . . . . . . . . . . . . . . . 6-4
Example . . . . . . . . . . . . . . . . . . . . 1-14 CL Programs . . . . . . . . . . . . . . . . . 6-4
Migrating Multiple System/38s to a Single Command Definition . . . . . . . . . . . . 6-4
AS/400 System . . . . . . . . . . . . . . . 1-15 Commitment Control . . . . . . . . . . . . 6-4
Data Description Specifications (DDS) . . 6-4
Chapter 2. Changes Needed after Database . . . . . . . . . . . . . . . . . . . 6-4
Migration . . . . . . . . . . . . . . . . . . . 2-1 Message Handling . . . . . . . . . . . . . 6-4
Operating System/400 Program . . . . . . . 2-1 Programs . . . . . . . . . . . . . . . . . . . 6-5
Utilities and Other Licensed Programs . . 2-62 Return Codes . . . . . . . . . . . . . . . . 6-5
Languages . . . . . . . . . . . . . . . . . . . 2-66 Languages . . . . . . . . . . . . . . . . . . 6-5
COBOL . . . . . . . . . . . . . . . . . . . . 6-5
Chapter 3. Converting from the System/38 Report Program Generator (RPG) . . . . 6-5
Environment to the OS/400 Program . . 3-1
Overview . . . . . . . . . . . . . . . . . . . . . 3-1 Chapter 7. Summary of Migration Details 7-1
CL Programs and Job Streams . . . . . . . . 3-1 What You Should Do on System/38 before
Files and Data Management Changes . . . 3-3 You Migrate . . . . . . . . . . . . . . . . . . 7-1
Languages . . . . . . . . . . . . . . . . . . . . 3-4 Before Restoring the System/38 Objects . . 7-3
Data File Utility (DFU) . . . . . . . . . . . . . 3-5 Migration of System/38 Objects . . . . . . . 7-5
Query . . . . . . . . . . . . . . . . . . . . . . 3-5 Handling QGPL . . . . . . . . . . . . . . . 7-5
Mass Changes of Source Types . . . . . . . 3-5 What Should You Do after Migration . . . . . 7-5

Chapter 4. Changes Needed to Convert to Appendix A. System/38 Commands and


the OS/400 Program . . . . . . . . . . . . 4-1 Command Definitions . . . . . . . . . . . . A-1
General . . . . . . . . . . . . . . . . . . . . . 4-1 Command Definition Statements . . . . . . . A-1
Operating System/400 Program . . . . . . . 4-1
Utilities and Other Program Products . . . 4-16 Appendix B. DDS Keyword Changes . . . B-1
Languages . . . . . . . . . . . . . . . . . . . 4-17
Appendix C. Display and Print File Return
Codes . . . . . . . . . . . . . . . . . . . . . C-1

 Copyright IBM Corp. 1994 iii


Major and Minor Return Codes Summary Appendix E. Converting RPG from
(Display and Printer) . . . . . . . . . . . . . C-1 System/38 to the AS/400 System . . . . . E-1
Converting to AS/400 System . . . . . . . . E-2
Appendix D. Sample Programs . . . . . . D-1
1. Print Device Configuration Program . . . D-1 Glossary . . . . . . . . . . . . . . . . . . . . G-1
2. Moving User Objects from One Library to
Another . . . . . . . . . . . . . . . . . . . . . D-3 Bibliography . . . . . . . . . . . . . . . . . . H-1
3. Check for a Library Owner . . . . . . . . . D-7
Index . . . . . . . . . . . . . . . . . . . . . . . X-1

iv AS/400 System/38 Environment Programming


Notices
References in this publication to IBM products, programs, or services do not imply that IBM intends to
| make these available in all countries in which IBM operates. Any reference to an IBM product, program,
| or service is not intended to state or imply that only that IBM product, program, or service may be used.
| Any functionally equivalent product, program, or service that does not infringe any of the intellectual prop-
| erty rights of IBM may be used instead of the IBM product, program, or service. The evaluation and
| verification of operation in conjunction with other products, except those expressly designated by IBM, are
| the responsibility of the user.

IBM may have patents or pending patent applications covering subject matter in this document. The fur-
nishing of this document does not give you any license to these patents. You can send license inquiries,
| in writing, to the IBM Director of Commercial Relations, IBM Corporation, 208 Harbor Drive, Stamford, CT
| 06904, U.S.A.

| This publication could contain technical inaccuracies or typographical errors.

| This publication may refer to products that are announced but not currently available in your country. This
| publication may also refer to products that have not been announced in your country. IBM makes no
| commitment to make available any unannounced products referred to herein. The final decision to
| announce any product is based on IBM's business and technical judgment.

| Changes or additions to the text are indicated by a vertical line (|) to the left of the change or addition.

This publication contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.

This publication contains small programs that are furnished by IBM as simple examples to provide an
illustration. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot
guarantee or imply reliability, serviceability, or function of these programs. All programs contained herein
are provided to you "AS IS". THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED.

Programming Interface
The System/38 Environment Programming book discusses migration from the System/38 to the OS/400
System/38 environment, conversion to the OS/400 program, and coexistence with the AS/400 system.
This book contains no programming interfaces for customers.

| Trademarks and Service Marks


| The following terms, denoted by an asterisk (*) in this publication, are trademarks of the IBM Corporation
| in the United States or other countries or both:

 Copyright IBM Corp. 1994 v


| Advanced Peer-to-Peer Networking Operating System/400
| Application System/400 OS/400
| APPN Personal System/2
| AS/400 PROFS
| Common User Access PS/2
| CUA RPG/400
| GDDM SAA
| IBM SQL/400
| IBMLink System/370
| NetView System Application Architecture
| OfficeVision/400 400

vi AS/400 System/38 Environment Programming


About System/38 Environment Programming (SC41-3735)
Coexistence means an AS/400 system and
What the Book Contains another system can operate together either by
interchanging media or by a communications
This book discusses the implications inherent to
line. Two forms of coexistence should be
migration from a System/38 to the OS/400
considered:
System/38 environment, conversion from the
System/38 environment to the OS/400 program, – Communications and interchange with an
and coexistence with the AS/400 system. AS/400 system
Ÿ Migration to the System/38 environment For example, you might need to send data
from a System/38 to an AS/400 system or
Once you have migrated to the System/38
vice versa. You might want to exchange
environment, these items need to be
media or be tied together through a com-
addressed:
munications line. If you replace a
– Documentation of changes from System/38 with an AS/400 system, the
System/38 systems you are communicating with
might need to make some changes. The
Changes exist between the AS/400
considerations for interchange are dis-
system and System/38. Some of the
cussed in Chapter 5.
changes are due to hardware differences
and some provide an easier to use and – Maintaining source code for System/38
more consistent system. An overview is
For example, assume you have both a
provided in Chapter 1 and further details
System/38 and an AS/400 system and
are described in Chapter 2.
want to maintain applications for both.
– Migration Aid The OS/400 program allows you to write
and develop the System/38 applications
The Migration Aid assists in the migration
on the AS/400 system. Chapter 6
from System/38 to the AS/400 system.
addresses the maintaining of these appli-
An overview is presented in Chapter 1.
cations.
– System/38 environment
This is special support on the AS/400
system that allows you to run most of your What the Book Does Not Contain
System/38 applications unchanged. The
System/38 environment and recommen- You may need to refer to other IBM books for
dations for its operation are described in more specific information about a particular topic.
Chapter 1. The book Publications Ordering, SC41-3000, pro-
vides information on all the books in the AS/400
Ÿ Conversion from the System/38 environment library.
to the OS/400 program
The System/38 environment allows you to For a list of related publications, see the
operate on the AS/400 system, but you cannot “Bibliography” on page H-1.
effectively use many of the new AS/400
system functions. Chapter 3 describes how
to convert your applications to the OS/400 Who Should Use This Book
program. Chapter 4 provides the details of
the changes to consider and some of the new The information in this book is directed at users
functions you can use in converting to the who want to maintain the System/38 applications
OS/400 program. on the AS/400 system, users who have completed
the migration using the Migration Aid and are con-
Ÿ Coexistence with the AS/400 system verting objects to operate in the Operating
System/400 (OS/400) System/38 environment,

 Copyright IBM Corp. 1994 vii


and systems operators who are operating in a Ÿ Basic System/38 commands
coexistence mode with the AS/400 system. Ÿ Security procedures and functions
Ÿ System structure and related utilities
In regard to the OS/400 System/38 environment,
you should be familiar with the following If you plan to operate in a coexistence mode or to
System/38 operational considerations: maintain the System/38 applications, you should
be familiar with the communications requirements
Ÿ Existing devices and their configurations
of your system and the required objects. Based
Ÿ File structures and relationships
on information presented in this book, you may
Ÿ Existing libraries and associated objects
need to make changes to associated files, proce-
Ÿ Programs to be modified
dures, and objects.
Ÿ Data files and documents affected

viii AS/400 System/38 Environment Programming


Chapter 1. Migration to the System/38 Environment
To assist in the migration, the AS/400* system The AS/400 system support is designed to allow
supports the System/38 environment, which allows for conversion of both System/38 and System/36.
you to run most of your existing programs without System/36 allows a period within an object name.
change. The System/38 environment provides: To enable a conversion of the System/36 objects,
a period is valid in the AS/400 system names.
Ÿ Easy transition from System/38 to the new
This requires that a new syntactical character ‘/’
AS/400 system
be used as a separator (slash instead of period).
Ÿ Interchange of the System/38 applications with
new AS/400 system functions
Note that only the qualified name syntax differs. If
Ÿ Maintenance of the System/38 applications on
you use an unqualified name, the syntax looks
the AS/400 system
identical.
This chapter provides an overview of the OS/400* System/38 environment CALL PGM(PGMX)
System/38 environment and functional consider- OS/4ðð CALL PGM(PGMX)
ations for operating in it. Major differences
between the System/38 and the System/38 envi- Command name changes: Several command
ronment include: names have been changed to provide for better
consistency between systems (such as,the use of
Hardware differences: The processing unit and verbs like STR and END). (See Appendix A for a
some of the attached devices differ between complete list.) Some of the changes include:
System/38 and the AS/400 system. System/38 Environment AS/400 System
CNLJOB ENDJOB
Operational differences: Operational differences CNLSPLF DLTSPLF
are the result of such things as hardware differ- EDTSRC STRSEU
ences, changes for consistency, changes for ease ENTDBG STRDBG
of use, or changes caused by a different RPLLIBL CHGLIBL
command syntax. STPCTLRCY ENDCTLRCY
TRMSBS ENDSBS
Programming differences: Some programming
differences are caused by hardware differences. Keyword changes: In some cases, keywords on
The primary place for change is in the applications the System/38 commands have been dropped or
used to operate and manage the system (for parameter values have been changed. For
example, save and restore). Most end user appli- example, the PWRDWNSYS ADRRGN parameter
cations will see few, if any, changes. The major has been dropped because address regeneration
changes are described in this chapter and further is no longer needed. For most commands, the
details are in Chapter 2. System/38 environment allows these dropped
parameters to be specified, but they are ignored if
the command is run.
Operational Differences
Default changes: In some cases, command
You can use the System/38 environment to run parameters have different default values. For
most programs that were written for System/38. example, on SBMJOB, the default for the INLLIBL
parameter on the OS/400 program is *CURRENT,
The major differences between the System/38 instead of *JOBD in the System/38 environment.
environment and the AS/400 system are:
Commands supported only in the System/38
Syntax change: The syntax for a qualified name environment: For example, the IDU Query and
differs as follows: data file utility (DFU) functions from System/38 are
System/38 environment CALL PGM(PGMX.LIBY) supported only in the System/38 environment.
OS/4ðð CALL PGM(LIBY/PGMX) New AS/400 functions are similar to the functions
provided by Query and DFU on System/38.

 Copyright IBM Corp. 1994 1-1


New functions: Command help information is devices (for example, the diskette magazine
only available for OS/400 commands. New com- device) are ignored by the Migration Aid.
mands and functions exist that are only available
on the OS/400 program. The definition of how security authorizations
operate has changed from System/38 to the
AS/400 system. The Migration Aid migrates the
The Migration Aid authorizations from the System/38 version to mini-
mize the changes you need to consider. This
Transferring files and objects to the AS/400 special migration function is only available with the
system is made easier through the use of the Migration Aid. See “Security” on page 2-36.
Migration Aid. A brief description of its functions
and features is included to provide users main- In addition, the Migration Aid migrates the Per-
taining the System/38 applications on the AS/400 sonal Services/38 objects (except for group calen-
system and users operating in a coexistence dars).
mode an understanding of the migration tasks per-
formed by this utility. However, the Migration Aid does not migrate all
objects from System/38. You need to make a
The Migration Aid assists in migrating your manual conversion of such things as:
System/38 objects to the AS/400 system. Part of Ÿ Some system values
the utility operates on System/38 and part on the Ÿ Network attributes
AS/400 system. You are able to migrate one or Ÿ Job accounting journal
more libraries at a time or individual objects. Ÿ System network architecture distribution ser-
Audit trail, summaries, and exception reports are vices (SNADS) configuration
provided. Ÿ User auxiliary storage pools (ASPs)
Ÿ Checksums
The System/38 Migration Aid identifies functions
that do not operate on the AS/400 system. These The Migration Aid does not identify every differ-
functions must be reviewed and changed before ence between System/38 and the System/38 envi-
you can successfully operate in the System/38 ronment. Some operational differences (for
environment. example, different function keys are used) are only
seen when they are used interactively. In addi-
The Migration Aid assists in converting your tion, you might need to scan some of your source
device configuration (this includes device, con- and objects to look for specifics described in
troller, and line descriptions) and user profiles. Chapter 2.
For the majority of your objects, the Migration Aid
runs a save operation from System/38 and a The Migration Aid does not migrate the IBM*
restore operation on the AS/400 system. To licensed programs. AS/400 licensed programs
migrate a program object, the program must must be installed on the AS/400 system.
include the program template. See “Save and
Restore” on page 2-35 for a complete discussion See the System/38 to AS/400 Migration Aid User’s
of the program template. The Migration Aid Guide and Reference for details.
assists in identifying a library’s nonobservable pro-
grams; that is, those programs that do not have a
template. If the program template has been Moving Objects without the
removed, the source must be used on OS/400 to Migration Aid
re-create the program. System/38 PASCAL pro-
grams must always be re-created from the source. The Migration Aid assists in identifying the func-
tions not supported on the AS/400 system. Some
The device configuration objects saved by the
of this can also be determined using this book and
Migration Aid are restored on the AS/400 system
scanning your source and objects.
using the Migration Aid. The utility maps the con-
figuration objects into the new AS/400 internal The Migration Aid provides important assistance
format. The device configurations for unsupported for migrating security and device configurations
and Personal Services/38 objects. With these

1-2 AS/400 System/38 Environment Programming


exceptions, the major function performed is a save These are essentially the same requirements that
operation on System/38 and a restore operation exist on System/38 for restoring access paths.
on the AS/400 system. The Backup and Recovery – Advanced book con-
tains these requirements in the chapter that dis-
You cannot do a hardware transfer of the disk cusses the save and restore operations.
units and use the information that was on the
System/38 disk units. You can use the 9332 or
the 9335 Disk Units on the AS/400 system, but Significant Changes
you must do a save on System/38, initialize the
disk units, and then use the restore command on The following are the major differences between
the AS/400 system. System/38 and the System/38 environment, which
gives you an idea of the types of changes needed
The restore function on the AS/400 system con- to successfully migrate to the System/38 environ-
verts the objects saved from a System/38 save ment. A more detailed explanation of these differ-
command (for example, SAVLIB). ences and others is given in Chapter 2.

Program objects can be restored only if they Hardware differences: See the System/38
include the program template. See “Save and Migration Planning book for a list of the supported
Restore” on page 2-35 for a complete discussion devices. Some of the major devices and differ-
of the program template. ences are also discussed in this section. The fol-
lowing hardware differences must also be
Tape media written from a SAVSYS operation on considered:
System/38 can be used to restore user profiles,
but authorities (see “Security” on page 2-36) are Ÿ The 62PC internal drive and the 3370 external
not converted. The device configuration and drives are not supported. The 9332 and 9335
authorities information can be migrated only using Disk Units are supported.
the Migration Aid functions on both System/38 and Ÿ The 3410 and 3411 tape devices that attach
the AS/400 system. to System/38 are not supported.

You must be careful in restoring the library QGPL Ÿ The System/38 console device does not exist.
saved from System/38 because you will overlay A work station device (it need not be dedi-
the shipped AS/400 defaults. Instead, you should cated) must be used as the console.
restore only selected objects with the RSTOBJ Ÿ The hardware control panel differs signif-
command or restore your System/38 QGPL library icantly.
into another library on the AS/400 system. You
should not restore the library QUSRSYS. See the Ÿ The diskette magazine device is not sup-
recommendations in Chapter 7. ported. A single-slot diskette device is
optionally available.
Ÿ System-attached printers are not supported.
Restoring the System/38 Objects Only work station printers are supported.
on the AS/400 System Ÿ The 5251 Model 1 and Model 2 (12-by-80
display stations) are not supported.
When System/38 objects are restored on the
AS/400 system, some changes occur. (See Ÿ The 5252 (dual display station) is not sup-
Chapter 2 for details.) ported.
Ÿ The double-byte character set (DBCS)
Programs must include the program template and Printers 5224 Model 12 and 5225 Models 11
are converted to a new internal format (see “Save and 12 are not supported.
and Restore” on page 2-35).
Ÿ Basic uninterruptible power supply (UPS) is
Database access paths that were saved from supported but not as defined in the System/38
System/38 are restored (not rebuilt), assuming the Uninterruptible Power Supply Planning Guide.
requirements for restoring access paths are met. The full UPS is still supported, but the
approach has been changed.

Chapter 1. Migration to the System/38 Environment 1-3


Ÿ The Client Access/400 product does not parameter as a default to QCMD38 instead of
support: *JOBD.
– Attachment through the 5294 remote con- Ÿ Several functions default to simplify system
troller. The 5394 remote controller must operations for a small configuration with a
be used. small number of end users. To achieve
– Asynchronous attachment through the System/38 compatibility, you need to change
5208 or through the RolmBridge. A direct certain defaults. For example, the system is
attachment to the asynchronous controller shipped at a security level that allows a
must be used. sign-on without a password.
For details of Client Access/400 see the Client Ÿ If password protection is desired, the two-level
Access/400 DOS Ext Memory Setup book. sign-on (both user name and password) is the
only method supported. The single-level
Ÿ The 5424 card device is not supported.
sign-on option (password only) is not sup-
Ÿ The RPQ for the System/370* channel is not ported.
supported.
Ÿ The CSNAP commands on System/38 are not
Ÿ The 56KB DDSA line is not supported. supported.

Operational changes: These changes do not Programming changes: Significant program-


necessarily affect programs, but may require some ming changes that must be considered include:
retraining.
Ÿ Programming changes related to hardware
Ÿ Hardware-related changes exist (such as changes. For example, the optional diskette
those due to the new operator control panel device supports only a single slot instead of
and new tape units). multiples, and no system printers exist.
Ÿ System displays and printed output have been Therefore, print images and the CLNPRT
changed. Most of the system displays adhere command have no meaning.
to the Systems Application Architecture* Ÿ Programming changes related to operational
guidelines for Common User Access* (CUA*). changes. For example, if you have programs
Command keys have been redefined. Many that use CPYSPLF to copy the output of
displays allow for the entry of commands and system printed output to database files, the
parameters. format of the printed output has been changed
Ÿ System menus exist to assist with operating in many cases.
the system. Ÿ The CRT and CHG device configuration com-
Ÿ The command prompter has been changed to mands have been totally replaced. The
allow easier entry of parameters. For complex System/38 commands do not work even in the
commands, a small number of parameters are System/38 environment.
shown first, and the values entered are used Ÿ Neither the System/38 Text Management
to determine which of the other parameters licensed program nor the editor from Personal
are shown. Services/38 is supported. AS/400 Text
Ÿ The service aspects of the system have signif- Management/38 is available to allow most of
icantly changed. More functions are available these same functions. The documents
to assist, you such as diagnosing problems, created using any of the text functions can be
communicating with IBM, and receiving pro- migrated to OfficeVision/400* documents with
gramming changes. some changes made in the document and in
the method of working with the document.
Ÿ IBM-supplied message text has been
changed. For information on the differences between
System/38 Text Management and
Ÿ Some commands have different defaults. For OfficeVision/400, see “Text Management
example, the SBMJOB command in the 5714-WP2” on page 2-66 and the Using
System/38 environment uses the RTGDTA OfficeVision/400 Word Processing, SH21-0701
book. For more information on migrating doc-

1-4 AS/400 System/38 Environment Programming


uments to OfficeVision/400, see the
System/38 to AS/400 Migration Aid User’s OS/4ðð PGMA
Guide and Reference. ┌──────────────┐
│ CALL PGMB ──┼──────┐
Ÿ All personal computers and PS/2*s using └──────────────┘ │
Client Access/400 must be upgraded to DOS │
6
level 3.3 or higher.
System/38 PGMB
Ÿ Deletions and changes have been made to ┌──────────────┐
system values and network attributes. Some │ CALL PGMC ──┼──────┐
└──────────────┘ │
of these are not migrated by the Migration Aid. │
See the System/38 to AS/400 Migration Aid 6
User’s Guide and Reference for a sample OS/4ðð PGMC
program that can be used as a model for ┌─────────────┐
moving these values to the new system. │ │
└─────────────┘
Those that are not migrated must be manually
reentered on the AS/400 system.
You can use file types from either System/38 or
Ÿ Some programming changes are due to secu- the AS/400 system while a program is running.
rity changes. A change has been made in For example, an OS/400 or a System/38 program
how authorizations are processed (see can access a System/38 environment file, an
“Security” on page 2-36). OS/400 file, or both.
Ÿ The defaults for SBMJOB have changed for
OS/400
both the System/38 and the OS/400 programs
(see “Work Management” on page 2-61).
Program

How the System/38 Environment


Is Defined
The System/38 environment is implemented as an
attribute of a program or a file. If you run a System/38 OS/400
Environment File
program that has the System/38 environment attri- File
bute, the program uses System/38 command
syntax, command definitions, and function. RV2W301-0

When System/38 objects are restored on the When you operate from a command entry display
AS/400 system, some are marked as a System/38 or the Programmer Menu on System/38, you are
environment object. You can enter the System/38 entering data to a program. In most cases, this
syntax using the source entry utility (SEU). You data is in the form of a command. The same is
can create the System/38 environment objects on true when you submit a batch job. The command
the AS/400 system. becomes input data to a routing step program.
You can run both the System/38 environment and You cannot pass data in the form of a command
OS/400 programs in any combination. to an application program unless it has been spe-
cifically written to process commands. If you write
a program to process commands, the program
must be specifically written to adhere to the syntax
rules required (for example, required keywords, or
how qualified names are specified). System/38
environment and OS/400 command-processing
programs operate with a similar approach. You
must ensure that you are entering the data in the

Chapter 1. Migration to the System/38 Environment 1-5


proper syntax for a System/38 environment The Programmer Menu (QPGMMENU) does not
program as opposed to an OS/400 program. have a System/38 environment version. You can
request to operate on System/38 type source and
System/38 Environment create System/38 environment objects. However,
Command Entry Display when you enter a command on the command line,
it must use OS/400 syntax. The new program-
ming development manager also accepts only
CALL PAYROLL.LIBA OS/400 syntax.

What Is the System/38


Environment?
AS/400 System System/38 Environment
The System/38 environment commands are
Command Command shipped in library QSYS38, while OS/400 com-
Processing Processing mands are shipped in library QSYS. The QSYS38
Routine Routine
library contains IBM command definitions for all of
the System/38 environment capabilities and not
just System/38 Control Program Facility (CPF)
Rejected; object name Accepted; call program
exceeds 10 characters PAYROLL in library commands. For example, the System/38 environ-
(the proper syntax is LIBA. ment command CRTRPGPGM is in QSYS38 and
LIBA/PAYROLL). not in the QRPG library.
RV2W302-0

Consider the DLTPGM command. It has a


Duplicate IBM programs exist so that commands command definition object in both QSYS38 and
can be entered in either syntax. For example: QSYS. Both commands use the same command
processing program, which is in QSYS. The
System/38 Environment AS/400 System
TRMSBS command definition object is in
QCL QCMD
QSYS38, but the command in the OS/400
QCAEXEC QCMDEXC
program has been renamed to ENDSBS, which is
QCACHECK QCMDCHK
in QSYS. Both command definitions use the
-- QPGMMENU
same command processing program that is in
QSYS.

QSYS Library QSYS38 Library


Command Command

DLTPGM DLTPGM
Program

DLTPGM Command
Command
TRMSBS
ENDSBS
Program

ENDSBS

RV2W303-0

1-6 AS/400 System/38 Environment Programming


The attribute (the AS/400 system or the and the System/38 environment (for example,
System/38 environment) of the running program is CLP38).
passed to the command analyzer. This tells the
command analyzer how to map the parameters so Qualified names in the form of FIELD.FILE are
the same command processing program can be also used on System/38 (for example, the
used. For example, if you say: OPNQRYF command). This syntax has also been
changed to FILE/FIELD.
System/38 environment DLTPGM PGM(PGMX.LIBY)
OS/4ðð DLTPGM PGM(LIBY/PGMX)
If you have replaced some of the IBM commands
The command analyzer converts the parameter with your own version, you need to use the
data so that the command processing program QUSER38 library. You should place your own
sees a common value of: version of the IBM System/38 commands in the
QUSER38 library (see also “Command Definition”
'PGMX LIBY ' on page 2-2).

The command definition statements appear the If you run a program with the System/38 environ-
same for a qualified name (for example, the QUAL ment attribute (or operate from a System/38
statements occur in the same order). For more command entry function), the system attempts to
information on command definition statements, find the command definition first in the QUSER38
see “Command Definition” on page 2-2. library. If it does not exist, it checks the QSYS38
library. If the command cannot be found in either
The command help function presents the qualified the QUSER38 or QSYS38 libraries, the library list
names in the sequence of the command definition (including QSYS) is used.
QUAL specifications. Consequently, the qualified
name is shown on the prompter as: On System/38, if you wanted to replace the IBM
Program to be deleted . . __________ version of the DLTPGM command, you placed the
command in a specific library and changed the
Library name . . . . . \LIBL __________ system library list so your version would be found.
Neither the QUSER38 nor QSYS38 library should
If you are typing information into the SEU, the be in the job’s library list. Only QSYS38 is
type of source you are entering (System/38 or shipped by the system. You must create
OS/400 program) determines the form in which QUSER38 if you require it. On the AS/400
the data is passed back to SEU from the system, you place the commands you need in the
prompter. There are different source types for the QUSER38 library and do not change the library
OS/400 program (for example, source type CLP) list. If the command cannot be found in either of
these libraries, the library list (including QSYS) is
used.

Chapter 1. Migration to the System/38 Environment 1-7


System/38 Approach

Command Entry Display

DLTPGM...

Library
Search
System/38 Order USERCMDS Library User Version
Command Search for DLTPGM
Processing Command
Routine

QSYS Library IBM Version

DLTPGM

System/38 Environment Approach

Command Entry Display

DLTPGM...

Library
Search System/38
System/38 Order QUSER38 Library User Version

Command Search for DLTPGM


Processing Command
Routine
System/38
QSYS38 Library IBM Version

DLTPGM

OS/400
USERCMDS Library User Version

DLTPGM

OS/400
QSYS Library IBM Version

DLTPGM

RV2W304-0

Figure 1-1. Command Processing on System/38 and in the System/38 Environment

1-8 AS/400 System/38 Environment Programming


Command Entry Display

QSYS38/CRTCLPGM PGM(LIBY/PGMX)...

OS/400 QSYS38 Library QCLSRC Source File

Command Command
Processing
Routine CRTCLPGM MBR1

PGMX

PGMY

LIBY Library

Program
PGMX

Type=CLP38
RV2W305-0

Figure 1-2. Creating a System/38 Program from the OS/400 Command Entry Display

The QSYS38 and QUSER38 libraries should not For example, assume you are operating on the
be in the library list. They are implicitly searched OS/400 Command Entry display and want to
first by use of the System/38 environment when create a System/38 environment CL program.
searching for the command. Using the CRTCLPGM command in QSYS38
causes the program to be marked as a System/38
Thus, it is possible within a System/38 environ- environment program.
ment program to use a mixture of:
If you are operating in the OS/400 program or
Ÿ User versions of the System/38 environment
writing an OS/400 program, most IBM commands
commands
perform an identical function and, therefore, you
Ÿ System/38 environment commands
do not need to qualify them with a specific library.
Ÿ User versions of OS/400 commands
Some functions (for example, System/38 Query
Ÿ OS/400 commands
and DFU) exist only in the System/38 environ-
Ÿ User commands
ment. Commands for these functions must be
Note: Even if the command is only an OS/400 library qualified if they are used in an OS/400 CL
command and never existed on System/38, you program such as:
must still enter it in System/38 syntax (OBJ.LIB) if QSYS38/CHGDTA ...
it is used in a System/38 environment program.
If you want to interactively enter commands using
You can also enter a System/38 command into an the System/38 syntax, you need to call the QCL
OS/400 program using the library qualifier. You program.
must enter the command using OS/400 syntax. CALL QCL

Chapter 1. Migration to the System/38 Environment 1-9


The QCL program is actually located in QSYS so for entering the syntax and spelling the com-
you do not need to use a library name. Then you mands.
enter the System/38 syntax such as:
You may also have a need to coexist with another
CRTCLPGM PGM(PGMX.LIBY)
System/38. The AS/400 system can be used to
The System/38 environment support for searching prepare source and to test. In doing this, you will
QSYS38 is limited to determining which command have to switch thought processes from an OS/400
to process. For example, if you specified the fol- approach to the System/38 environment.
lowing in a System/38 environment program, the However, you can stay in the OS/400 environment
DSPOBJD command would be found in QSYS38: and only use the System/38 syntax when you are
operating on the System/38 source. For more
DSPOBJD OBJ(\ALL.\LIBL) OBJTYPE(\CMD) details on this subject, see “Example” on
When the command runs, it uses the library list to page 1-14 and Chapter 5, “Coexistence with an
find all the commands. Because QSYS38 is not AS/400 System.”
on the library list, none of the System/38 environ-
ment commands would be found.
Object Attributes and Source
Types
How Should You Operate the
System? All programs and files on the AS/400 system have
an object attribute. Objects created from source
The System/38 environment does not provide a have different attributes, depending on which
complete system environment. You cannot totally create command was used. If created by a
ignore the OS/400 program. You will see only System/38 environment command, the objects end
OS/400 versions of such functions as displays and with a 38, as follows:
messages.
Figure 1-3. Object Attributes
The displays that allow commands to be entered AS/400 System/38
(for example, the Programmer Menu) or parame- Description System Environment
ters to be entered for list displays (for example, CL Program CLP CLP38
DSPOUTQ) allow only OS/400 syntax. In addi-
Logical file LF LF38
tion, you cannot use the new functions supplied by
the OS/400 program unless you become familiar RPG RPG RPG38
with such things as the new syntax and command
names. Command entry functions should be done For the complete list, see “Object Attributes and
in the OS/400 program. Source Types” on page 2-23.

Attempting to operate solely as you did on When restoring an object to the AS/400 system
System/38 is feasible only to a degree. If you that was saved from System/38, the object attri-
attempt to switch back and forth between the bute for files (created from source) and programs
System/38 environment command entry and the is changed to reflect System/38. When you create
OS/400 environment command entry, you can an object on the AS/400 system, you designate by
become confused. Because the syntax, some of the command specified whether you are creating
the command names, and some of the function an OS/400 program or a System/38 program.
keys differ, it is not desirable to switch frequently.
Note: Neither a System/38 nor an OS/400 object
This book assumes that you are operating the can be saved on the AS/400 system and restored
system using OS/400 support. You will probably on System/38. Only data interchange is sup-
have to run and maintain programs and files that ported from the AS/400 system to the System/38.
were written for System/38. You will want to
convert, over time, your System/38 environment The attribute of the object you create is dependent
objects to the OS/400 program. The more objects on the create command used and not the environ-
you convert to the OS/400 program, the less you ment where the create command was run. The
will have to be concerned with different processes following shows two OS/400 programs being

1-10 AS/400 System/38 Environment Programming


created using both the OS/400 syntax and the
System/38 syntax.

OS/400 System/38 Environment

Command Entry Display Command Entry Display

CRTCLPGM PGM(LIBY/PGMX)... CRTCLPGM.QSYS PGM(PGMZ.LIBY)

QSYS Library

CRTCLPGM
Command

LIBY Library

Program

PGMX

Object Program
Attribute=CLP
PGMZ
Object
Attribute=CLP RV2W306-0

Because the System/38 environment command is occur, an OS/400 object can be created. The
qualified to library QSYS, an OS/400 object attri- inverse is also true, in that a System/38 object
bute is assigned. attribute can be created using OS/400 source.
Ÿ If no source is used, the resulting object
The DSPOBJD and DSPLIB commands show the
always appears with an OS/400 object attri-
object attribute so that you can easily determine
bute, regardless of which command was used
the command used to create the object. In most
for the create.
cases the object attribute reflects the source type
used. The exceptions are:
The source file member also contains an indi-
Ÿ It is possible to create an OS/400 object attri- cation of the source type. The source types are
bute even though the source is System/38 converted when restored from System/38.
using the create command in QSYS (as DSPFD TYPE(*MBRLIST) shows you the source
shown in the previous illustration). If no errors member type.

Chapter 1. Migration to the System/38 Environment 1-11


The following shows how objects and source are
saved from System/38 and restored on the
AS/400 system:

Auxiliary Storage Program

System/38 Object
Attribute=
CLP

Save Source File

Member 1

Type=CLP

File and Member 2


Program
Type=RPG

Restore

Auxiliary Storage Program

AS/400 System Object


Attribute=
CLP38

Source File

Member 1

Type=CLP38

Member 2
Type=RPG38

RV2W307-0

Note: Both the object attribute and the source


type are changed by the restore function.

1-12 AS/400 System/38 Environment Programming


The Programmer Menu allows you to designate parameters is available when using the
the source type. You can enter either the OS/400 prompter for an OS/400 command.
or System/38 environment source type for the
If you use the prompter while using SEU, the
Type prompt. The Programmer Menu has been
type of source determines the syntax used for
changed somewhat from System/38 and is shown
the command string to be stored in the
as:
source.
The following figure shows what occurs when
à@ ð
Programmer Menu
System: xxxxxxxx you use the System/38 source while operating
Select one of the following:
| 1. Start AS/4ðð Data File Utility
2. Work with AS/4ðð query
in the OS/400 program.
3. Create an object from a source file object name, type, pgm for CMD
4. Call a program program name
5. Run a command command
6. Submit a job (job name), , ,(command) AS/400 System
7. Go to a menu menu name
8. Edit a source file member (srcmbr), (type)
9. Design display format using SDA (srcmbr), (mode)
9ð. Sign off (\nolist \list) Programmer Menu Programmer Menu
Selection . . . . . __ Parm . . . . __________
Type . . . . . . . __________ Parm2 . . . _____________________
Command . . . . . . ______________________________________________________
____________________________________________________________________________
Source file . . . . __________ Source library . . . . . . . \LIBL_____
Object library . . \CURLIB___ Job description . . . . . . \USRPRF___ Selection 8 Parm ABC Selection 8 Parm ABC
F3=Exit F4=Prompt F6=Display messages F1ð=Command entry Type CLP Type CLP38
F12=Cancel F14=Work with submitted jobs F18=Work with output

á ñ
Note: The Programmer Menu is described in this
SEU Display SEU Display
book as it should be familiar to most of the
System/38 users. However, you should also con-
sider the new programming development manager
PGM PGM
(PDM), which is part of the AS/400 Application
DLTPGM DLTPGM
Development Tools.

The Type prompt is used for two purposes:


Ÿ If you specify the SEU function selection 8 Press F4=Prompt Press F4=Prompt
with the determines the syntax checker that
Prompter Prompter
value of Type, the field is used. Thus, you
can enter the System/38 CL source even
while operating in the OS/400 program. DLTPGM DLTPGM
Program PGMA Program PGMA
The SEU functions for adding, deleting, or Library LIBB Library LIBB
updating a statement are identical, regardless
of the type of source to be entered. SEU has
essentially the same support as that which
existed on System/38. The type of source SEU Display SEU Display
you request controls which syntax checker is
used to validate your statements.
In either case, if you are entering CL com- PGM PGM
DLTPGM PGM(LIBB/PGMA) DLTPGM PGM(PGMA.LIBB)
mands and request the command prompter,
you see the OS/400 prompter format, regard-
less of whether you are entering an OS/400 or
System/38 environment command. Only one
RV2W308-0
prompter exists on the system. The OS/400
prompter support differs from System/38 and
provides additional benefits over the Ÿ If you specify selection 3 (Create an object
System/38 support. In addition, online help from a source file), the correct create
information to explain the command and the command is submitted so that the corre-
sponding attribute (for example, CLP or
CLP38) is assigned to the program.

Chapter 1. Migration to the System/38 Environment 1-13


If you do not use the Programmer Menu (or the PGM PARM(&FILE &LIB)
new Application Development Tools), you must DCL &FILE \CHAR LEN(1ð)
specify the proper create command. For example, DCL &LIB \CHAR LEN(1ð)
if you are on the OS/400 Command Entry display, OVRDBF FILE(INPUT) TOFILE(&FILE.&LIB)
you must specify QSYS38/CRTCLPGM to create OVRDBF FILE(OUTPUT) TOFILE(OUTPUT.QTEMP)
a System/38 environment CL program. CALL PGMB /\ Reads INPUT and writes
OUTPUT \/
CPYF FROMFILE(OUTPUT.QTEMP)
TOFILE(MASTER.&LIB)
Example MBROPT(\ADD)
ENDPGM
The following is a series of typical tasks that a
programmer might perform. The same task is 5. Specify selection (Create an object from a
shown for: source file) on the Programmer Menu. A
batch job is submitted to create the program.
Ÿ System/38 approach
Ÿ AS/400 approach 6. Press F3 to go to command entry.
Ÿ AS/400 approach for entering a System/38 Enter SBMJOB and request the prompter (for
program the purpose of this example, assume use of
command entry and not selection 6 (Submit a
Assume that you want to perform the following job) from the Programmer Menu).
steps:
The prompt is shown for the SBMJOB
1. Create a library command. The RQSDTA parameter must
2. Place the library on your library list contain the CPYF command surrounded with
3. Create a source file in the new library apostrophes. For example, it might be shown
4. Enter the source for a CL program using SEU as:
5. Create the program in the new library
6. Submit a CPYF command to batch from the RQSDTA('CPYF FROMFILE(AAA) TOFILE(BBB)
MBROPT(\ADD)')
Command Entry display
Normally, you need to enter a JOBD value for
System/38 Approach: If you are on the SBMJOB command.
System/38 (not on the AS/400 system) and are
operating on the Programmer Menu, you would AS/400 Approach: Assume you want to
issue the following commands: perform the commands using the OS/400
program. You could operate from command entry,
1. CRTLIB LIB(ABC)
the Programmer Menu, or the programming devel-
2. ADDLIBLE LIB(ABC) opment manager. Assume you are operating from
3. CRTSRCPF FILE(QCLSRC.ABC) the Programmer Menu. You would issue the fol-
lowing commands:.
4. Enter SEU
1. CRTLIB LIB(ABC)
You would specify Selection = 8, Parm =
PGMA, Type = CLP, Source library = ABC, 2. CHGCURLIB CURLIB(ABC)
and Object library = ABC (normally you would Normally, you would want the library you are
change the library list of the job description working with to be your current library (this is
used to include library ABC, but it is not new support on the AS/400 system, which
needed in this example). Assume the com- provides a default for create commands and
mands entered into the source member are: also places the library on your library list).
See “Library” on page 2-16 for more informa-
tion on the current library.
3. CRTSRCPF FILE(QCLSRC)
The CRTSRCPF command places the file in
library ABC. Create commands have been

1-14 AS/400 System/38 Environment Programming


changed for the OS/400 program; the default because of the default changes on the
places the object in the current library. SBMJOB command. For example, the library
list of your current job is the default for the
4. Enter SEU.
batch job. The JOBD default has changed to
Specify Selection= 8 (Edit a source file refer to the JOBD specified in the user profile.
member), Parm= PGMA and Type= CLP.
Take the defaults for Source Library and AS/400 Approach with Entry of
Object Library because of the use of the
CURLIB parameter in step 2. The following
System/38 Environment Program: The
user is operating using the OS/400 program, but
would be entered into the source member.
wants to create a System/38 environment
PGM PARM(&FILE &LIB) program. For example, you may continue to
DCL &FILE \CHAR LEN(1ð) maintain System/38 programs until you are ready
DCL &LIB \CHAR LEN(1ð) to convert.
OVRDBF FILE(INPUT) TOFILE(&LIB/&FILE)
OVRDBF FILE(OUTPUT) TOFILE(QTEMP/OUTPUT) This example would be a combination of the pre-
CALL PGMB /\ Reads INPUT and writes
vious ones.
OUTPUT \/
CPYF FROMFILE(QTEMP/OUTPUT)
Steps 1, 2, and 3 would be the same as in the
TOFILE(&LIB/MASTER)
AS/400 example.
MBROPT(\ADD)
ENDPGM
Step 4 would be the same except that the source
Note the use of the AS/400 syntax for quali- type would be CLP38. The source to be entered
fied names. would be the System/38 syntax from the
5. Use selection 3 (Create an object from a System/38 example.
source file) on the Programmer Menu. A
Step 5 would duplicate the AS/400 example.
batch job is submitted to create the program.
Because the source type was previously set to
The default is to use the library list of the
CLP38, the correct create command would be
current job. Consequently, the ABC library is
submitted to batch.
on the library list for the batch create step.
This is not needed in this example, but
Step 6 would be the same as in the AS/400
normally would be if the program referred to
example.
an externally described file in library ABC.
6. Press F10 to go to command entry.
Enter SBMJOB and request the command Migrating Multiple System/38s to
prompt function (assume the use of command a Single AS/400 System
entry).
If you are going to migrate multiple System/38s to
The command prompt is shown for the a single AS/400 system you need to consider
SBMJOB command. A new parameter named such things as:
CMD assumes that you want to submit a
command. It is shown on the first display. Ÿ Duplicate user profile names
Enter CPYF and request the command prompt Ÿ Duplicate library names (for example, QGPL)
function for the CPYF command by pressing a Ÿ Duplicate object names
function key. The CPYF prompts are shown Ÿ Duplicate user IDs and office names
and you enter information as required. You
normally do not need to specify a job The Migration Aid provides some information, but
description for the SBMJOB command you must be careful of duplicate names.

Chapter 1. Migration to the System/38 Environment 1-15


1-16 AS/400 System/38 Environment Programming
Chapter 2. Changes Needed after Migration
This chapter describes the changes necessary for in “Database” on page 2-5 for the changes to the
a migration from System/38 to the System/38 ACCPTH keyword.
environment on the AS/400 system. The pro-
gramming and operational differences are identi- Address Regeneration: On System/38, the
fied in detail. Chapter 1 provided an overview system assigns internal addresses and has a fixed
and identified the hardware differences. limit to the number that can be assigned. Two
address types, Permanent and Temporary, are
The chapter is divided into the following sections: used and both percentages of the addresses used
Ÿ Operating System/400* program are shown using DSPSYSSTS. On System/38,
Ÿ Utilities and other licensed programs the temporary addresses are generated again at
Ÿ Languages each initial program load (IPL), and you must peri-
odically generate the permanent addresses again.
Within each section the subtopics are listed in
alphabetical order. On the AS/400 system, both permanent and tem-
porary addresses are generated at each IPL.
Two additional considerations that do not fall into Thus, you do not have to schedule dedicated
these general sections are: system time to perform address generation, but
you do have to do an IPL frequently enough so
Ÿ IBM display and printed formats have
that the addresses are not used up. Minimal addi-
changed. The System/38 programs that
tional overhead is caused by generating these
process a spooled version (for example,
addresses at IPL.
CPYSPLF) may need to be changed.
Ÿ The multilingual support that allows different Alerts
languages to be used for command prompts is
not supported in the System/38 environment. Format: The format of the alerts has been
Multilingual support exists only on the OS/400 changed to agree with the SNA Management Ser-
program. vices Generic Alerts. System/38 required stored
screens on the System/370 (for example,
NetView* Distribution Manager). For the OS/400
Operating System/400 Program program, the information is sent in the alert and
the screen is dynamically formatted.
This section identifies the programming and oper-
ational differences in the Operating System/400 Network attributes: The Alert Network attributes
program. must be described on the AS/400 system. They
are not migrated by the Migration Aid. For more
Access Paths: The following access paths details, see “Network Attributes” on page 2-22.
are not loaded and are rebuilt by the system as
part of the restore: NetView Distribution Manager: The host
system must have at least Release 2, Modification
Ÿ Access paths of logical files with DBCS keys Level 0, of NetView installed.
that have attributes that differ from the attri-
butes of the physical files over which they Logging: On System/38, alerts were logged to
were created the journal QALERT. This has been changed to a
Ÿ Access paths with SELECT/OMIT that refer- database file (QALERT in QSYS) on the OS/400
ence DBCS fields program. The QALERT journal is not migrated by
the Migration Aid.
Other access paths are restored. They are not
rebuilt assuming the access path was saved from For more information about messages in general,
System/38. Also see the discussion on keywords see “Message Handling” on page 2-19.

 Copyright IBM Corp. 1994 2-1


APPC: To operate in the System/38 environ- Like devices: A new function allows a minimum
ment, the device configuration objects must of two like disk device units to make up a
specify APPN(*NO). For more information on checksum set instead of three. If you have two
operating in the System/38 environment, see also disk device units in a checksum set, you are
“Data Description Specifications (DDS)” on devoting approximately 50% of the space to
page 2-6. checksum data.

Auxiliary Storage Pools (ASP): User Class Object: No changes.


auxiliary storage pools are not migrated. You
must define them on the AS/400 system using the Command Definition: No special
new dedicated service tools (DST) function. DST System/38 environment support exists for
is also used to set each ASP threshold including command definition. You can write command
the system ASP threshold that was specified on definitions so the commands can be used in either
System/38 using the QAUXSTGTH system value. the System/38 environment or the OS/400
See “Service” on page 2-45 and the Backup and program. Additional functions for command defi-
Recovery – Advanced book. nition allow, for example, the prompter to respond
with layered prompts based on user input (see
BSC: See “Data Description Specifications “Prompter” on page 2-28). Other command con-
(DDS)” on page 2-6. siderations include:

Parameters: On System/38, the definition for a


Card: Card devices and card files are not sup-
parameter that includes a typical qualified name
ported on the AS/400 system.
(OBJ.LIB) is:
PARM KWD(PGM) TYPE(QUAL1) ....
Chart Format: Chart formats created by
QUAL1: QUAL TYPE(\NAME) /\ Program \/ .....
AS/400 Business Graphics Utility (BGU) contain
QUAL TYPE(\NAME) /\ Library \/ .....
the chart heading that is part of the chart data in
System/38 BGU. AS/400 BGU chart formats This allows the parameter to be entered as either:
contain some chart characteristics that are new on
AS/400 BGU such as offset pie chart and over- System/38 PGM(PGMX)
lapped bars. PGM(PGMX.LIBY)

Using the command prompter, the parameter


Checksums would be shown as follows:

Definition: Checksums are not migrated. You Program name ............. __________
must define them on the OS/400 program using Library name .......... \LIBL __________
the new DST function (see “Service” on
If you use the prompter for this parameter in the
page 2-45). The Backup and Recovery –
System/38 environment, it appears the same as
Advanced book contains more information.
on System/38.
Load/Source device: The Load/Source device
On the OS/400 program, you would code the
(the device that contains the licensed internal
command definition statements in exactly the
code) cannot be in a checksum set. The
same order and the command prompt would
Load/Source device is designated prior to
appear the same. However, when the parameter
restoring the system. The Load/Source device is
is entered in string form, it must be coded as
used for unprotected storage in the same manner
either:
as the first 62PC on System/38. Either a 9332 or
9335 Disk Unit can be the Load/Source device. OS/4ðð or PGM(PGMX)
PGM(LIBY/PGMX)
A Load/Source device is defined to be an actuator
or unit. Thus half of a 9335 or half of a 9332 Assume you are using SEU and have specified
(Model 400) can be designated as the source type CLP. When you use the prompter
Load/Source device. with a specific command name, a qualified name
appears as shown previously. When the

2-2 AS/400 System/38 Environment Programming


command is returned as a source statement, it is IBM-supplied command, you need to reevaluate
shown in OS/400 syntax form (LIB/OBJ) because the parameter list passed from the command.
the type CLP requests OS/400 syntax. If you had
entered SEU specifying source type CLP38, the Printed output: The name of the printed output
command would have been returned in System/38 produced by the CRTCMD command has changed
syntax (OBJ.LIB). from QSYSPRT to the name of the source
member being created. The format of the printed
For qualified names, no difference exists between output has minor changes.
System/38 and the OS/400 program for how
command definition is coded. The major differ- Command Language: Many changes have
ence occurs in how a qualified name is keyed in been made to commands. (See Appendix A for a
string form or appears after using the prompter summary by command.) In some cases, the
(using either SEU or command entry). System/38 environment allows a command to
exist so that it may be used for coexistence pur-
The command processing program should be poses (for example, maintaining source that will
coded to extract the qualified names using the be used on System/38), but will not run on the
SUBSTRING function in the same order in which AS/400 system. If you attempt to use such a
the command definition is coded. This is the command on the OS/400 program, an escape
same as it was on System/38. In the previous message is sent. All commands are shipped with
example, the qualified name would be passed to the system. However, if the program supporting
the command processing program as: that command does not exist, an error message is
'PGMX LIBY ' displayed. Additional changes are as follows:

There is new support on the AS/400 system for a Syntax: No syntax differences exist between
product library associated with the command. System/38 CL and the System/38 environment (a
This allows the command user to have only the valid comment on System/38 and the specification
library containing the command on his library list of a qualified name are the same on System/38 as
(the library containing the command processing they are in the System/38 environment).
program is not needed). See the product library However, syntax differences exist between how
discussion in “Library” on page 2-16. commands and comments are written in the
System/38 environment versus on the OS/400
It is possible to take advantage of the product program. The command changes were high-
library (PRDLIB) support in command definition lighted in Chapter 1 and the details of both
and have it used in the System/38 environment. changes are discussed in Chapter 4.
For example, the System/38 environment com-
mands for languages and utilities support this so RTVCLSRC: The RTVCLSRC command
that the individual product libraries do not have to retrieves the source in the syntax that was used to
be on the library list. create the program. For example, if the program
is a CLP38 program, you receive the System/38
It is also possible to take advantage of the layered syntax regardless of which environment is used to
prompt support and use it in the System/38 envi- run the RTVCLSRC command.
ronment.
Naming: See “Naming” on page 2-22 to under-
Number of parameters: Some IBM command- stand changes in how a name must be specified.
processing programs have changed in the number
of parameters they receive. If you use your own ALWRTVSRC parameter: CL programs can be
version of an IBM command-processing program, successfully migrated even if ALWRTVSRC(*NO)
you need to reevaluate the parameter list passed was specified on the CRTCLPGM command.
from the command.
Printed output: The name of the printed output
Validity checking: A validity checking program produced by the CRTCLPGM command has
can also be specified for an IBM command. If you changed from QSYSPRT to the name of the
have specified a validity-checking program for an source member used to create the command.

Chapter 2. Changes Needed after Migration 2-3


Commitment Control: No coding changes. Large files: Better spreading of large files occurs
However, the number of record locks supported in automatically as with the restore function. This is
a routing step has increased from 1024 to 4096. discussed in “Save and Restore” on page 2-35.

DBCS: Copy file requires specifying


Communications: Changes in the commu-
FMTOPT(*MAP) or FMTOPT(*NOCHK) when
nications operations must be considered when
copying results in DBCS mapping errors. Trun-
operating on the AS/400 system.
cation and padding of DBCS fields maintains shift-
in/shift-out pairs. Database conversion errors may
Configuration: Many communications functions
occur when the data does not conform to the
are specified through device configuration com-
to-file DBCS field.
mands. The device configuration specifications
have changed (see “Device Configuration” on
Position Errors: When copying multiple member
page 2-7).
files, processing will continue to the next member
if a from-file member fails to open due to a posi-
Errors: The error messages and device error
tion open error.
codes that relate to hardware errors, and are pre-
dominantly sent to QSYSOPR, have changed.
Distributed Data Management (DDM): DDM
Some message IDs have changed.
files can be specified as both a FROMFILE and a
TOFILE. Copy file allows a remote file to be
CSNAP: No CSNAP commands exist. Some of
created with DDM. The Data Management book
the same function can be achieved using the
contains more information.
device configuration THRESHOLD parameter.

References: See also the sections on: Console: The AS/400 system does not have a
unique device for a console. The first device
“Alerts” on page 5-5
assigned (Bus 0, first work station controller, Port
“APPC” on page 2-2
0, and Address 0) is considered the console
“Data Description Specifications (DDS)” on
device. During IPL, the device description
page 2-6
QCONSOLE that is attached to controller
“Emulation (3270)” on page 2-11
description QCTL is used for the console. After
“Exchange ID” on page 2-12
IPL, the name of the console device description
“LU-1” on page 2-18 LU-1
can be determined from a system value
“Object Distribution” on page 2-25
(QCONSOLE). QCONSOLE will reflect the name
“Pass-Through” on page 2-26
of the console device currently varied on. This
“RA/DHCF” on page 2-28
system value cannot be changed.
“Remote Location Name (RMTLOCNAME)” on
page 2-29 The console device must be:
“Return Codes” on page 2-35
“SNADS” on page 2-48 Ÿ A 5250 device (for example, 5251 or 3180)
“X.25” on page 2-62 Ÿ A personal computer that uses an emulation
adapter
Ÿ An ASCII 315x/316x
Communications File: See “Data
Description Specifications (DDS)” on page 2-6. Note: After IPL, the system-created QCONSOLE
device description and its related work station
Copy File (CPYF) message queue still exist. If you have application
programs that send messages to the QCONSOLE
Data interchange: When copying for data inter- device, they should be changed. If no change is
change, you must be aware of the diskette and made, the message will be sent to the system-
tape differences. See “Diskette” on page 2-10 created work station message queue named
and “Tape” on page 2-59. QCONSOLE.

2-4 AS/400 System/38 Environment Programming


Cross-Reference Ÿ The QAFDPRT fields PRPRTI, PRPTIL,
PRTRNT, and PRTRTL have been replaced
Object attribute and source type changes: by the single field PRPRTI. The field PRLPI
Several changes on the DSPFD function are asso- may contain new values.
ciated with the object attribute changes. See Ÿ The value in the following DSPFD outfile fields
“Object Attributes and Source Types” on is changed from an ‘N’ to a ‘Y’ when the data-
page 2-23 for details on the attributes. base file is on an AS/400 system or on a
Ÿ DSPFD TYPE(*MBRLIST) display. The new remote System/38.
source types are displayed.
Field Outfile Associated Command
Ÿ DSPFD TYPE(*MBRLIST) OUTFILE support
ATFLS QAFDBASI DSPFD TYPE(*BASATR)
(QAFDMBRL file). The MLSEU field contains
MBFLS QAFDMBR DSPFD TYPE(*MBR)
the object attribute. Because this field is only PHFLS QAFDPHY DSPFD FILEATR(*PF)
4 characters long, it contains entries like PF LGFLS QAFDLGL DSPFD FILEATR(*LF)
and DSPF regardless of type (for example, PF
or PF38). A new field MLSEU2 is added that
is 10 characters long and it contains the full
Data Area: No changes.
attribute. The MLFILA field remains the same.
Database
Ÿ DSPFD TYPE(*MBR) OUTFILE support
(QAFDMBR file). The MBSEU field contains Keywords: The DDS ACCPTH keyword has a
the new object attribute. Because this field is different meaning. This keyword described explicit
only 4 characters long, it contains entries like access path sharing on System/38. On the
PF and DSPF regardless of type (for example, AS/400 system, this is only used to copy the key
PF or PF38). A new field MBSEU2 is added and select and omit specification and the values
that is 10 characters long and it contains the for DYNSLT, FIFO, LIFO, UNIQUE and ALTSEQ
full attribute. The MBFILA field remains the to the logical file being created. (Specifying
same. ACCPTH avoids having to key in the specifica-
tions again, but does not guarantee sharing with
Any new fields are added at the end of the format the file.) Implicit access-path sharing occurs by
to allow existing programs to operate the same default. (After migration, you could see a file
way. begin sharing an access path or sharing a dif-
ferent access path.)
DSPOBJD outfile changes exist for the values in
the ODOBAT field (for example, CLP38 and CLP). Because of this change, the ACCPTHMBR
The ODOBTP field may contain the new value keyword is ignored for the CRTLF and ADDLFM
*CTLD (the System/38 value was *CUD). commands. The DTAMBRS(*ALL) function may
need to name specific members because it cannot
DSPPGMADP outfile changes for the values in the
use the ACCPTHMBR parameter value.
PAATTR field (for example, CLP38 and CLP).
The DSPFD output file QAFDACCP no longer
Other DSPFD changes: Other changes associ-
reflects an S type in the APACCP field.
ated with the DSPFD function include:
Ÿ The QAFDCRD file for card files is not sup- FIFO sequence: A change relative to the use of
ported. first in and first out (FIFO) sequence occurs if the
file is re-created as an OS/400 file. This should
Ÿ The QAFDACCP file no longer reflects an
not affect your operations if you continue to use
S-type entry in the APACCP field. This is also
the System/38 file.
true of the QAFDMBR file for the MBACCP
field. See “Database” for more information on To assist you in changing your current DDS
these fields. source, the FIFO keyword is allowed for PF38 or
Ÿ The QAFDDKT fields for DKLOC, DKSLOC, LF38 type files. A low-level warning is produced if
and DKELOC have been changed to the FIFO is used to create a System/38 file. The
single reserved field DKLOC. intent of this is to allow you to change your source

Chapter 2. Changes Needed after Migration 2-5


even while operating in the System/38 environ- support determines the data type based on the
ment in anticipation of the conversion to OS/400 values specified in the REFSHIFT DDS keyword.
files. Both the DDS expanded source listing and the
output from the DSPFFD command show the
For a full discussion of this change, see assumed data type instead of the REFSHIFT
Chapter 4. keyword.

SQL: To conform with the IBM Structured Query


Data Description Specifications
Language/400 (SQL/400*) standard, the authority
required to create an arrival-sequence logical file (DDS): Changes in DDS must be considered
over a physical file is not the object management when operating in the AS/400 system.
authority. Object management authority is still
Source types: BSCF38, CMNF38, and MXDF38
required to create a keyed logical file.
source types are available only in the System/38
Field mapping: If a field mapping function is environment. In the OS/400 program, the inter-
used (for example, converting of a field containing system communications function (ICF) file has
different decimal positions between a physical and replaced the BSC, CMN, and MXD files. The ICF
logical file) and mapping errors are encountered, source type is ICFF. Many communications func-
some different processing results occur. See the tions are specified through device configuration
explanation of field mapping errors in the “Data- commands. These have changed (see “Device
base” section of the DB2/400 Database Program- Configuration” on page 2-7). Many of the error
ming book. messages that relate to hardware errors have
changed. The message IDs remain the same, but
DBCS: Default values of DBCS-only fields (in the device error codes have changed.
physical files) is enclosed in shift-out and shift-in
characters. They were previously all blanks. Security keyword: CMNF38 and MXDF38
source using the SECURITY(02 *PASSWORD)
All DBCS data inserted or updated must be valid keyword is not supported. A file containing this
for the given DBCS subtype or mapping errors value is not restored on the AS/400 system.
occur.
CMNF38 and MXDF38 use of the SECURITY
Allowed mapping of DBCS data between physical keyword supports a maximum length of 10 charac-
and logical files has changed (the DB2/400 Data- ters. An 11-byte field or literal produces a diag-
base Programming book contains more informa- nostic message (severity 20) during file creation.
tion). When files created on a System/38 and
restored on an AS/400 system show disallowed FIFO keyword: The FIFO keyword may be used
mapping, the logical file’s invalid data type is for database files. This produces a warning
changed to DBCS open. The file is restorable. message (see “Database” on page 2-5).

OPNQRYF: See “Overrides” on page 2-25 for a Access path keyword: The ACCPTH keyword
change with OPNQRYF processing and the for logical files has changed. See “Database” on
restriction with OPNQRYF using Distributed Data page 2-5.
Management (DDM) in “Utilities and Other
FORMAT keyword: It is no longer valid to
Licensed Programs” on page 2-62.
specify a logical file on the FORMAT keyword in
See also “Data Description Specifications (DDS).” the DDS for a physical file. Only a format from
another physical file can be shared. When
DBCS fields: The OS/400 database support has migration occurs, any sharing is implicitly handled
been enhanced to allow two additional data types so no change is required. However, if the same
for DBCS fields. They are J for DBCS–only and E DDS that existed on System/38 is used to re-
for DBCS–either. These are in addition to the create the file, an error occurs.
data type of O for DBCS–open that is supported
on the System/38. Files migrated from System/38 Display files: Display files using only the
or created in the System/38 environment do not DSPSIZ keyword value of *DS1 (16-by-64
need to make any changes. The database console) or *DS2 (12-by-80 5250 Model 1) cannot

2-6 AS/400 System/38 Environment Programming


be restored or created on the AS/400 system (the The purpose of the change is to allow a simple
16-by-24 and 12-by-80 display sizes are not sup- specification (*USE) in the OS/400 program that
ported). allows running a program, but prevents debug-
ging.
If the file uses a *DS1 and/or *DS2 type and also
a valid display size (for example, *DS3), the file is Command entry: The Command Entry function
restored. The file can be created using the ori- accessed from the Debug Breakpoint display
ginal source, but a diagnostic message is assumes OS/400 syntax.
produced.
See “Problem Determination” on page 2-26.
For display files, a field can end in the last posi-
tion of the display (it does not wrap to line 1, posi- Dedicated Service Tools (DST): See
tion 1). “Service” on page 2-45.

For display files, a field can be defined to start in


line 1, position 1 when SLNO(*VAR) is specified.
Device Configuration: Device and commu-
nications configuration has been significantly
When a format is written to the display device, an
changed from System/38. The System/38 CRT
error message is sent if the actual line number is
and CHG device configuration commands cannot
1.
be run on the AS/400 system. However, they can
DBCS: Some changes have been made to the be used in the System/38 environment SEU.
data types for DBCS fields (see “Database” on
New commands: New commands are available
page 2-5).
as well as menu and prompter support (including
Printed output: The name of the printed output help information) to do configuration. Instead of a
used by the DDS create commands is the name single CRT and CHG command for device
of the file being created instead of QPDDSSRC. descriptions, now different commands are used for
the type of device to be created or changed. The
The format of the expanded source printed output same is also true of the controller and line
is shown in OS/400 syntax (LIB/OBJ). The format description objects.
of the DDS create printout has changed.
The use of multiple commands allows each
The message IDs for many of the messages in command to contain parameters that are specif-
the DDS create printed output have changed. ically associated with the type of object. For
example, you do not see BSC parameters when
creating a local work station device.
Data Queue: The maximum record length of
data queues has changed to 4096. The Migration
The CRTDEVD command has been split into indi-
Aid or save and restore migrates the object
vidual commands and each CRT command has a
description, but not the data queue entries.
corresponding CHG command. Some of the com-
mands and parameters support functions that are
Debug not on System/38. The commands should be
read as “Create Device Description xxxx” where
Authority: Debugging a program requires xxxx is the type. See the CL Reference book for
*CHANGE authority to a program rather than a complete description of all CL commands. The
*READ authority, as on System/38. The following is a list of some of the new commands:
System/38 default for PUBAUT(*NORMAL) is to
provide all the data authority. Consequently, it Command Device
makes no difference if the CRTXXXPGM defaults CRTDEVAPPC APPC
were taken on System/38 and continue to be CRTDEVASC Asynchronous
taken on the AS/400 system. However, if you CRTDEVBSC Bisynchronous
have changed the data authorities to prevent CRTDEVDKT Diskette
users from using debug, you need to make a dif- CRTDEVDSP Display
ferent change on the AS/400 system. CRTDEVFNC Finance
CRTDEVHOST SNA Host

Chapter 2. Changes Needed after Migration 2-7


CRTDEVPRT Printer figuration to the AS/400 system. Unsupported
CRTDEVSNUF SNA Upline Facility devices (for example, diskette magazine device)
CRTDEVTAP Tape are ignored by the migration function.

The CRTCUD command has been split into indi- The Migration Aid is the only way you can auto-
vidual commands and each CRT command has a mate the migration of your existing device config-
corresponding CHG command. Some of the com- uration. If you have device configuration
mands and parameters support functions that are commands in CL job streams or CL programs, the
not on System/38. The commands should be data might be of value in determining what to
read as “Create Controller Description xxxx” where enter, but the commands cannot be used on the
xxxx is the type. The following is a list of some of OS/400 program. CVTCLSRC does not convert
the new commands: these commands.
Command Device
Automatic configuration: A new system value
CRTCTLAPPC APPC
(QAUTOCFG) controls the use of automatic con-
CRTCTLASC Asynchronous
figuration for local devices and controllers. The
CRTCTLBSC Bisynchronous
default value is 1, or on, specifying that automatic
CRTCTLFNC Finance
configuration should be in effect.
CRTCTLHOST SNA Host
CRTCTLLWS Local Work Station If automatic configuration is requested, the system
CRTCTLRWS Remote Work Station automatically creates a device description for any
CRTCTLVWS Virtual Work Station local device (display station, tape unit, printer, and
diskette unit) as soon as the device is turned on.
The CRTLIND command has been split into indi-
Local controller descriptions are automatically
vidual commands and each CRT command has a
created. A system defined name is associated
corresponding CHG command. Some of the com-
with each object created. Default attributes are
mands and parameters support functions that are
assigned. The attributes that can be changed by
not on System/38. The commands should be
the CHG commands can be used to change the
read as “Create Line Description xxxx” where xxxx
attributes regardless of how the object was
is the type. The following is a list of some of the
created (not all create parameters exist on the
new commands.
CHG commands).
Command Device
Note: You cannot change the name of a device
CRTLINASC Asynchronous
configuration object (to change the name you
CRTLINBSC Bisynchronous
must delete the object and then re-create it). See
CRTLINSDLC SDLC
the Local Device Configuration book for specific
CRTLINTDLC Twinaxial Data Link
information.
Control
CRTLINTRN IBM Token-Ring Network If you do not want to automatically configure the
CRTLINX25 X.25 local devices and controllers, you must change the
QAUTOCFG system value to 0, or off. To create
The device mode function has changed. Device
a device or controller you would issue a CRTxxxx
modes are now specified as a separate new
command or use an IBM-supplied menu.
object type and the device description contains an
entry that points to the new object. The Although local devices can be automatically con-
System/38 commands ADDDEVMODE, figured, you must manually configure your remote
CHGDEVMODE, and RMVDEVMODE are no devices, controllers, and lines. Automatic config-
longer supported. See the online help information uration requires that you use the system-supplied
for the CRTMODD and CHGMODD OS/400 com- naming conventions for your devices.
mands.
The naming convention for automatically config-
Migration Aid: The Migration Aid performs an ured local work stations is dependent on the
important function relative to device configuration. QDEVNAMING system value. If QDEVNAMING is
The configuration is saved from System/38 and *NORMAL, then the work stations are named
the Migration Aid must be used to restore the con- DSPnn, where nn is a consecutive number. If

2-8 AS/400 System/38 Environment Programming


QDEVNAMING is *DEVADR, then the work *ALL, any valid work station device is dynam-
stations are named DSPxxyyzz, where xx is the ically allocated to the subsystem when the
number of the local work station controller to device is created.
which the work station is attached, yy is the port
The default shipped for the IBM subsystems is
the work station is on, and zz is the work station’s
to have the *ALL ADDWSE command entry.
switch setting. For example, DSP010203 is for a
This means that the shipped values use the
work station on port 2 with a switch setting of 3 on
defaults to allocate the work station device
the first local work station controller.
(present the Sign-On display) when a device
description is created.
When a work station is automatically configured,
the system attempts to dynamically allocate it to a Ÿ Any work station type. For example, if the
subsystem. Thus, if you are assigning work ADDWSE WRKSTNTYPE parameter is used
stations to subsystems by work station name to request any 5250 device, any new 5250
rather than work station type, you will need to device is dynamically allocated to the sub-
know what name will be generated for a work system when the device is created.
station before it is automatically configured (so
Ÿ A specific device name of an unconfigured
you can set up the subsystem with the correct
device. For example, you could know ahead
work station entries). This is generally not prac-
of time that you are going to assign the name
tical when QDEVNAMING is *NORMAL, but when
DEV09 to the next work station device. If this
QDEVNAMING is *DEVADR, the work station’s
device is specified for the ADDWSE WRKSTN
name can be determined from its address.
parameter, the subsystem acquires the device
if the device description is created. You can
Change configuration: The Change Device
only use the ADDWSE command when the
command has been enhanced so that you can
subsystem is inactive. Consequently, you
change the address and the keyboard if the
must plan ahead to use the dynamic work
device is varied off.
station addition capability if you are specif-
Work station allocation: Regardless of how you ically assigning work station devices to sub-
perform the device configuration function, the systems.
system supports dynamic work station allocation For example, you could develop several
to subsystems. This is a significant enhancement WRKSTN names associated with any sub-
over System/38 in that you can add local work system that do not represent actual devices.
station devices and have the Sign on prompt When the subsystem is started, a message is
appear without ending the subsystem session and sent to QSYSOPR stating the device could
varying off the controller. If you are inserting a not be allocated. If you eventually create a
work station device in the middle of devices con- device of the same name, the Sign-On display
figured with cable-through, the devices on the end is shown when the device is turned on.
of the string must be signed off before the phys- Another alternative would be to add some
ical connection is interrupted. temporary work station entries (for example,
TEMP1 and TEMP2) and use these as a tem-
The dynamic work station allocation function is porary name of the device. At a convenient
dependent on the subsystem description later point, you could configure the device with
ADDWSE entry. This can be any of the following: a name that meets your naming convention
Ÿ Any generic device name. For example, if and change the subsystem description.
you plan to name all of your devices starting Note: The support for the local work station con-
with the letters LOCAL, you can use the troller and the 5294/5394 remote controller differ.
ADDWSE command with the WRKSTN On the local work station controller, you can plug
parameter to enter an entry LOCAL*. When in the new device without varying off the con-
devices are created starting with the letters troller.
LOCAL, the subsystem will allocate these
devices dynamically. The 5294/5394 remote controller has its own
Ÿ Any valid work station. For example, if the setup requirements. You must vary off the con-
ADDWSE WRKSTNTYPE parameter is set to troller before a new device can be physically

Chapter 2. Changes Needed after Migration 2-9


added. (It is still required that all devices attached must be 01 through FF. The Migration Aid implic-
to the 5294/5394 be signed off and varied off itly changes the value to 01.
before you can add a device.)
Other commands: The other device configura-
Printer file names: The printer file names used tion commands (for example, DLTxxx) remain
by the display commands have changed as essentially the same .*for both System/38 and in
follows: the System/38 environment as in the System/38,
but some of the names have changed (see
Command System/38 AS/400 Names Appendix A).
DSPCTLD QPDCCTLU QPDCCTL
DSPDEVD QPDCDEVD QPDCDEV Device Files: See the sections on the dif-
ferent devices (for example, diskette and printer)
Note: The DSPCTLD command on System/38 was
DSPCUD.
and “Data Description Specifications (DDS)” on
page 2-6.
Vary commands: The System/38 VRYxxx com-
mands are in the System/38 environment. The Diskette
AS/400 approach is to use a single command
named VRYCFG. This new command has the Diskette device: No diskette magazine device
optional capability of providing a cascading vary exists. A single-slot diskette device is optional
function. A cascading vary means that when you and is supported for data interchange and save
vary on the controller the attached devices are and restore. If you have programs that use
also varied on (System/38 supported this from the diskettes and your configuration does not include
DSPLINSTS and DSPCTLSTS menus, but not a diskette unit on the OS/400 program, you need
from the VRY commands). to convert the programs.

The VRY commands operate differently on the The diskette LOC parameter is replaced as the
AS/400 system. They send a request to a default in the System/38 environment to the
standard internal routine to perform the vary. single-slot diskette. For many applications, this
Because the system does not wait for low-level causes no change. However, differences may
machine processing, you see a faster return occur. For example, if you have a program that
response from an individual command. However, deals with the magazine and keeps clearing and
actual completion can no longer be assumed on saving to successive diskettes, the net result is
receipt of the completion message. The same that only the last save would appear on the single
escape messages exist. diskette. You need to rework this application.
Another example is where you have a program
Display configuration: The DSPDEVCFG that initializes diskettes in a magazine.
command is not supported. This displayed or
printed some, but not all, of the device configura- Default device name: The default diskette-
tion attributes. You can achieve similar results device name created by the system is DKT01. If
from the WRK commands and request a display of you use the diskette with the System/38 environ-
each description. You can also program for the ment commands, they assume the name QDKT.
same function using the DSPOBJD outfile support You need to do one of the following:
and the DSPxxxD commands. See the sample Ÿ Operate only with OS/400 commands.
program in Appendix D or the PRTDEVCFG tool
in the QUSRTOOL library. Ÿ Create a diskette device description name
QDKT and delete the system-created DKT01
*PU2 controller: For the *PU2 controller type on object.
System/38, the CTLADR parameter must begin
with a 00 address. On the OS/400 program, the Repair utility: The Diskette Repair Utility is not
parameter is now named STNADR and the value supported.

2-10 AS/400 System/38 Environment Programming


Display Commands: Some display com- AS/400
mands (DSPxxx) have changed to prevent user System/38 Description System Description
changes. This also affects the System Request F1 Exit the F3 Exit the
menu. From the System Request menu on function function
System/38, the user could delete objects in F2 Previous F12 Cancel
libraries, change job attributes, and delete spool
files using the DSPJOB function. Now DSPJOB
The displays provide for help information to
and all DSPxxx commands contain only options
explain how the function keys are used. In most
that do not result in a change. For example, when
cases, a delete request will cause a confirmation
DSPLIB is used, option 9 (Delete) is no longer
display to allow verification of the deletion.
supported to allow a delete of an object. This is
an integrity feature to allow you to specify read-
Display options: When a display allowing
only functions that can be accessed from user-
options (for example, DSPOUTQ) is used, the
written menus.
option numbers have changed. These are the
major changes:
New OS/400 commands (for example, EDTxxx
and WRKxxx) allow changes. In the OS/400 System/38 AS/400 Description
program, DSPxxx commands are consistently System
read-only functions. In the System/38 environ-
1 5 Display
ment, most DSPxxx commands allow changes.
9 4 Delete
Display Files: See “Data Description Specifi-
cations (DDS)” on page 2-6. The displays provide for help information to
explain the option choices.
Display Formatting
Distributed Data Management (DDM):
Display output: Display formatting for many See “Utilities and Other Licensed Programs” on
commands has changed significantly. Those dis- page 2-62 and “Interchanging Using DDM” on
plays allowing a parameter to be entered (for page 5-2.
example, DSPOUTQ) require that the parameter
be entered in AS/400 format. For example, to
Edit Descriptions: No functional changes.
move a spooled file to a different queue using a
The edit descriptions are not migrated by the
qualified name, the parameter would be specified
Migration Aid. A sample program is included in
as:
the System/38 to AS/400 Migration Aid User’s
OUTQ(LIBX/OUTQA) Guide and Reference to illustrate how this could
be addressed.
The unqualified form looks the same as it did on
System/38:
Emulation (3270)
OUTQ(OUTQA)
The Help key is supported for many IBM displays;
Attention key: The Attention key is used instead
of the Help key to interrupt the 3270 Application
online help information is shown to assist in
display. New functions exist on the Interrupt
understanding the functions provided.
display. New support allows the Attention key to
For color displays, changes in the use of color for be pressed from the Interrupt display if the
required fields, optional fields, and error messages SETATNPGM command had been issued previ-
have been made. ously. Thus the group job function can be used
with a 3270 emulation job and a new group job
Function keys: Function keys have changed for can be accessed by pressing the Attention key
IBM displays. These are the major changes: twice.

BSC: The supported binary synchronous commu-


nication (BSC) emulation character sets have
been upgraded to emulate a 3274 Control Unit.

Chapter 2. Changes Needed after Migration 2-11


Keyboard support: The EML3270 command If a different program is used, you must specify
does not support the keyboard types for certain the SETATNPGM command.
non-English languages. These are the KBDTYP
entries of FSB, FSI, BRB, and BRI. A new command, CHKRCDLCK, assists in group
jobs (see “Group Jobs” on page 4-7).
Error Handling: Many of the messages sent
See “Message Handling” on page 2-19 for a dis-
to QSYSOPR for error conditions have changed.
cussion of the user message queue.
For communications messages, the 2-byte error
code has been expanded to 4 bytes and the
See the group job discussion in “Emulation
codes have changed.
(3270)” on page 2-11.
I/O feedback areas presented to the System/38
programs and escape messages remain essen- Help
tially the same. They are compatible from the
System/38 to the System/38 environment. No Help key: Most of the IBM displays now support
changes are required. the use of the Help key or F1 to access online
help information.
Message text has been changed in some cases to
reflect new function or terminology. Command support: The command prompter
supports help information associated with the
See also “Return Codes” on page 2-35. command and the parameters. This is limited to
the OS/400 commands.
Exchange ID: System/38 uses an exchange QHLPSYS library: The library QHLPSYS is sup-
ID prefix of 022. The OS/400 program is a dif-
ported differently than it was on System/38. The
ferent system and the prefix has changed to 056.
QHLPSYS library on the AS/400 system contains
Systems communicating to System/38 that are
a new form of help information. QHLPSYS is
replaced by an AS/400 system and use the
shipped on the system portion of the library list to
exchange ID must make a change to the ID prefix.
allow you to access this information.
See “Exchange ID” on page 5-1.
Application help information: You may add
Files: See “Database” on page 2-5 and “Data help information to your applications by use of
Description Specifications (DDS)” on page 2-6. new DDS functions. Help information may be
described in display files or by the use of the
Finance: The DSPFNCHLP command is not AS/400 Office text editor. For details, see
supported in either the System/38 environment or Chapter 4, the DDS Reference, and the Using
the OS/400 program. New help support using the OfficeVision/400 Word Processing, SH21-0701
Help key on displays is provided in place of the book.
System/38 support.
IBM-Supplied Programs
Graphical Data Display Manager
Supported programs: The following programs
(GDDM): No changes. Additional functions are
are supported and have no changes either in the
available along with new program calls.
function they perform or in the parameter lists
required:
Graphics Symbol Set: No changes.
Scan for a string QCLSCAN
Group Jobs: A new user profile parameter Translation of data QDCXLATE
exists to allow you to set the Attention key han- Receive printer data QMRSWTRG
Receive BSC printer data QMRSBSCI
dling program (see “Security” on page 2-36). The
Receive SNA printer data QMRSSNAI
user profile function is only used if: Receive from data queue QRCVDTAQ
Ÿ The routing program is QCMD Materialize program QSCMATPG
Ÿ The TRFGRPJOB command transfers to
QCMD

2-12 AS/400 System/38 Environment Programming


Create program from mate- QSCCRTPG Intersystem Communications Function
rialized version
Send to data queue QSNDDTAQ
(ICF) Commands: The new ICF file is used
by the OS/400 program to replace the BSC, MXD,
GDDM* also supplies programs that have not and CMN file types. See “Data Description Spec-
changed. See “Graphical Data Display Manager ifications (DDS)” on page 4-4 for more information
(GDDM)” on page 2-12. on these file types. New commands include:
Add ICF program device entry ADDICFDEVE
The following programs are supported, but use dif- Change ICF program device
ferent names depending on which command entry CHGICFDEVE
syntax you are using: Change ICF file CHGICFF
Create ICF file CRTICFF
System/38 OS/400
Delete override ICF device
Environment Program Description
entry DLTOVRDEVE
QCL QCMD Command entry Override ICF device entry OVRICFDEVE
QCAEXEC QCMDEXC Execute a command Override with ICF file OVRICFF
from a string Remove ICF device entry RMVICFDEVE
QCACHECK QCMDCHK Validity check a
command For specific information see the online help infor-
mation for each command.

The functions of QCMD have been enhanced over


QCL (see “Sign-On” on page 2-46). The Independent Work Station: This is now
QCMDEXC and QCMDCHK functions are the called Client Access/400. See “Intelligent Work
same as the System/38 corresponding functions Station Support 5714-PC1” on page 2-64.
except they accept the OS/400 syntax.
Initial Program Load (IPL)
If you have an HLL program to migrate from the
System/38 to the AS/400 system that uses Attended versus unattended: The Start CPF
QCAEXEC with RCLRSC LVL(*CALLER), an display shown on System/38 following the IPL
error will occur because program files are closed. sign-on has been renamed to IPL options. One
This happens because a change was made on the of the major reasons for presenting this display on
AS/400 system to ignore the QCAEXEC invoca- each IPL of System/38 was to prompt the operator
tion when setting the reclaim level. To make your to enter the date and time. With the continuously
program run successfully, you must change powered clock on the AS/400 system, this step
RCLRSC to specify LVL(*). should be unnecessary for most IPLs. For this
reason, a new system value exists (QIPLTYPE)
For information on QPGMMENU see “Programmer that allows you to specify whether the IPL should
Menu” on page 2-27. be attended or unattended.

Unsupported programs: The following pro- Unattended IPL is the default. This means that
grams are not supported (a not found message is once you turn on the system, an operator is no
sent if you call these programs): longer needed. The controlling subsystem is auto-
matically started and an automatic-start job can
System Operator menu QOPRMENU
bring up the system and perform any unique
User menu QCALLMENU
requirements. See “Subsystem Description” on
The new system menus may be used to replace page 2-53 for the new support that assists in cre-
these functions. If you have made significant use ating an automatic start job.
of either program, consider developing your own
You can override the unattended default using the
version.
Manual keylock position on the operator control
panel. This allows you to leave the default as
unattended and still have an attended IPL for spe-
cific requirements.

Chapter 2. Changes Needed after Migration 2-13


The system also supports having the IPL occur at IPL time. See “Subsystem Description” on
a specific time of day (see the QIPLDATTIM page 2-53.
system value) or allowing a remote IPL (see the
QRMTIPL system value). System values: The system value QIPLSTS
replaces QAUTOIMPL and may contain additional
One of the reasons to perform an attended IPL is values to reflect which type of IPL has occurred
to use the dedicated service tools (DST) function. (such as IPL at a time of day).
Some functions (for example, disk device initializa-
tion) can only be done when the system is dedi- Console device: See “Console” on page 2-4 for
cated to the DST function. See “Service” on how the system determines the console device.
page 2-45 for more information about DST.
Install: Install has two purposes:
Another reason to perform an attended IPL is to
access the IPL options from the OS/400 program. Ÿ Installation of distribution media for the initial
The OS/400 IPL Options display has been installation or a new release. If you selected
changed to allow some additional options: the Total System Package (TSP) option (as
described in Chapter 7), the software is
Ÿ Start this device only. This allows the oper- already installed on your system and you do
ator to do an IPL and directly enter the not need this step to migrate. If you do not
restricted condition. The restricted condition is select the TSP option, most countries (United
used for such things as SAVSYS, RCLSTG, States included) ship the system with the
and the new RSTCFG command. On OS/400 program and the licensed internal
System/38, you had to start the system up code already loaded. If this does not occur,
and then work down to the restricted condition you need to install the OS/400 program and
by ending the active subsystems. the licensed internal code.
Ÿ Start print writers option. This sets a system Ÿ If you need to reload the entire system, install
value that can be tested by a program. It is uses media that was sent by IBM or saved by
specifically provided to allow an automatic the SAVSYS command on the OS/400
start job to start up the printers on the system. program. Install on the AS/400 system does
IBM provides a default automatic start job and not accept a tape or diskette saved from
makes it easier for you to provide your own System/38.
solution. See “Subsystem Description” on
page 2-53. Devices used: Only tape install (any tape model)
is supported (no diskette). The function of writing
Frequency: On System/38, it was recommended a single diskette by SAVSYS (as on System/38) is
that you perform an IPL frequently. On the not needed. The alternative IPL can occur directly
AS/400 system you should not have to perform from any tape device on the AS/400 system.
IPL as frequently. The system provides automatic
cleanup of internal functions. However, there are Primary language: If TSP is not used, one of
functions performed by the system that occur at the first prompts from the install process (follow
IPL and therefore a periodic IPL is recommended. the printed instructions) requests that you specify
See “Address Regeneration” on page 2-1 and your primary language (for example, English,
“Programs” on page 4-12. German, or French). The remainder of the instal-
lation process is done from menus and prompts
Configuration menu: The System/38 Configura- that appear in your primary language. All menus
tion menu has been renamed to Define or include help information to assist in the installa-
Change the System at IPL. The number of valid tion.
commands that can be entered at this time has
been increased. System values and user profiles: Prompts are
used to install system values and a command is
Pool sizes and activity levels: A performance used to restore user profiles. For the migration
adjustment option exists that directs the system to step, these functions are handled as part of the
adjust the storage pool sizes and activity levels at Migration Aid commands you need to use after
installing the AS/400 programs.

2-14 AS/400 System/38 Environment Programming


It is possible to use the RSTUSRPRF command to Default job description: A new default job
restore user profiles from a tape created by the description (QDFTJOBD in QGPL) is used when
System/38 SAYSYS command. However, com- user profiles are created. You may assign a spe-
bining authorities (as described in “Security” on cific JOBD as well.
page 2-36) is only performed on a restore from
media saved by the Migration Aid and only with Sign-on default: The default for the shipped
the Migration Aid command on the AS/400 subsystems is to use the job description of the
system. user who signed on instead of the job description
with the same name as the subsystem (see “Sub-
Device configuration: A new OS/400 command system Description” on page 2-53).
(RSTCFG) is used to restore the AS/400 device
configuration instead of using a prompt during the SBMJOB default: The default for the OS/400
install process. This command cannot be used to SBMJOB command has changed to use the JOBD
restore the device configuration from a System/38 in the user profile. The System/38 environment
SAVSYS tape. Only the Migration Aid commands command uses the System/38 default QBATCH.
can migrate the device configuration objects. See
“Device Configuration” on page 2-7. User profiles: See “Security” on page 2-36 for
how migration handles the job description param-
Distributing licensed programs: The LICPGM eter in user profiles.
(Work with Licensed Programs) menu or the new
OS/400 SAVLICPGM and RSTLICPGM com- QSYSJOBD: A new job description (QSYSJOBD
mands are intended for use by a central site for in QSYS) is used for backup purposes. It cannot
distributing code. The SAVLIB and RSTLIB com- be changed and you may temporarily use it if you
mands should be used for backing up the licensed have an unsupported job description. QSYSJOBD
program libraries. is also implicitly used during a sign-on if the user’s
job description is not on the system.
Jobs: The naming convention for jobs is the Automatic startup job: A new job description
same for both the OS/400 program and the
(QSTRUPJD) allows a simpler approach to an
System/38 environment. A syntax change in
automatic start job. See “Subsystem Description”
OS/400 requires the job name be entered in the
on page 2-53 for a discussion on automatic start
form JOBNBR/USER/JOB. See “Naming” on
jobs.
page 4-10.

A special routing entry is needed to use a Job Queue


System/38 job stream. See “Subsystem
Description” on page 2-53. Migration: The Migration Aid or save and restore
migrates the object descriptions of job queues, but
not the jobs on a job queue.
Job Accounting: The job accounting journal
is not migrated. You need to restore or create the DSPJOBQ: New support on the DSPJOBQ
accounting journal on the AS/400 system. See command (WRKJOBQ in OS/400 environment)
the System/38 to AS/400 Migration Aid User’Guide allows the user to change parameters for a job in
and Reference for more information and a sample a manner similar to the parameter line on the
program that could be used to move the job Output Queue display on System/38. In addition,
accounting journal to the AS/400 system. The a job can be placed at the top of the queue using
Migration Aid migrates the QACGLVL system the JOBPTY(0) value on CHGJOB.
value. However, if the QACGJRN journal is not
on the AS/400 system when the Migration Aid is Job priorities: New support with OS/400 envi-
run, the system value is set to *NONE. ronment commands allows a maximum-activity
level setting per job priority on job queue entries.
Job Description The function cannot be requested using the
System/38 environment ADD/CHGJOBQE com-
New parameters: New parameters in the job
description object should not affect migration.

Chapter 2. Changes Needed after Migration 2-15


mands. The default of no maximum limit is used CHGCURLIB commands. There is no difference
for each priority. when using a System/38 environment CRT
command versus the System/38 definition. The
However, two differences are associated with this defaults for the CRT commands place the created
change: object in QGPL. A difference occurs for OS/400
Ÿ When the DSPSBSD display for job queue CRT commands. The reason for the difference is
entries is displayed (in either case), you see the different defaults used on the create com-
the priority settings. mands:
Ÿ The CHGJOBQE command can now be used System/38 Environment CRTCLPGM PGM(xxx.QGPL)
(in either case) while the subsystem is active. OS/4ðð CRTCLPGM PGM(\CURLIB/xxx)

Job streams: No changes. The shipped subsys- If the current library value contains a library name,
tems provide a routing entry that is used by the the library search list is changed and the DSPLIBL
JOB command to cause the system to check for display shows the current library name. Because
System/38 environment syntax. many user CL statements specify an unqualified
object name, the library list is used to find objects.
Journal: No changes. See “Job Accounting” Specifying a current library can cause a change in
on page 2-15. the library in which an object is found.

A library can be both the current library as well as


Library somewhere else on the library list. It can be
either on the system or user portion of the
Migration: The Migration Aid does not migrate
libraries. If the same library is in the user portion
any libraries beginning with Q except for QGPL. If
of the library list, it counts as one of the 25
you have created libraries beginning with the letter
libraries that make up that portion of the library
Q or have objects or members in a library such as
list. If the current library is also one of the
QRPG, you must migrate them using save and
libraries in the system portion of the library list,
restore.
then it counts as one of the 15 libraries in the
system portion of the library list. If it is on the
QSYS38 and QUSER38: Neither the QSYS38
user portion, any search finds the object in the
nor QUSER38 libraries should be on your library
current library. See “Library” on page 4-9.
list. If you run a program that has the System/38
attribute, the command analyzer uses these
Product library: The PRDLIB parameter in
libraries first. See the discussion in “What Is the
command definition allows a command to specify
System/38 Environment?” on page 1-6 for more
that a library can be used during command pro-
information about these libraries.
cessing. This library does not have to exist on the
library list. If a *LIBL function is requested, it
System values: The QSYSLIBL system value is
includes both the product library and the current
shipped with these libraries:
library. This function is used by the IBM lan-
QSYS guages and utilities for both the System/38 envi-
QUSRSYS ronment and OS/400 commands.
QHLPSYS
To allow the full use of the product library concept,
Current library: The user profile CURLIB param- the command definition objects for the languages
eter (as described in Chapter 1) defaults to and utilities are now in the QSYS library as
*CRTDFT. This default does not change the opposed to being in the product libraries, as they
library search list. The DSPLIBL command were on System/38. The installation process
appears as it does on System/38. copies the command from the product library into
QSYS. Two product libraries are supported by the
The CURLIB parameter is specified in the user system. You may only specify the first. The
profile or on the OS/400 CHGLIBL or second is used for internal functions.

2-16 AS/400 System/38 Environment Programming


The following figures show the System/38 and the
OS/400 program approaches to using a product
library.

System/38 Approach

Command Entry Display

CRTRPGPGM . . .

Library
List
Search
System/38 Order Libraries
Command Search for QSYS
Processing Command
Routine QGPL

... Command
QRPG CRTRPGPGM

...
QRPG needed
on library list
to syntax check
command.

RV2W309-0

OS/400 Approach

Command Entry Display

CRTRPGPGM . . .

Library
List
Search
OS/400 Approach Order Libraries Command
Command Search for QSYS CRTRPGPGM
Processing Command
Routine Product Library

QGPL PRDLIB=QRPG
PGM=QRPGxx
QTEMP

...

RV2W310-0

Chapter 2. Changes Needed after Migration 2-17


In the AS/400 approach, the CRTRPGPGM Logs
command exists in QSYS. Therefore, when the
command is entered, it is found without requiring QCHG: The system log QCHG is no longer sup-
QRPG to be on the library list. This allows the ported. This log on System/38 was devoted to
command to be checked for syntax. programming changes. The AS/400 system
Note: The command contains PRDLIB informa- changes are called programming temporary fixes
tion as well as a command processing program. (PTF). The PTFs are now logged to QHST. See
When the CRTRPGPGM command runs, it places “Programming Temporary Fix (PTF)” on
QRPG into the product library portion of the library page 2-28.
list and then calls the command processing
QSRV: The system log QSRV is no longer sup-
program. When the command completes, the
ported. A similar function is available in the
QRPG library is removed from the product library
problem log (see “Problem Log” on page 2-27).
position.

The QRPG library does not have to be on the LU-1: The logical unit-1 (LU-1) support is less
library list for the SEU syntax check function or restrictive with request unit lengths. Device con-
when the command runs. figuration changes are required. See the new
commands described in “Device Configuration” on
The PRDLIB value is shown on the DSPLIBL page 2-7. “Data Description Specifications
display only if the command being used has speci- (DDS)” on page 2-6 describes the CMNF file.
fied a product library.
Menu
Changing profiles and commands: Both the
current library and product library support allow Commands: The DSPMNU command is not sup-
you to name libraries that may already be on your ported. It is replaced with the GO command,
library list. Therefore, you may begin to change which has a similar function, but only identifies the
user profiles and commands for this new support OS/400 commands. No support displays the
without making changes to existing job System/38 environment commands in a manner
descriptions. similar to the DSPMNU command. However, the
commands WRKCMD (work with command) and
DSPOBJD outfile: The DSPOBJD outfile format SLTCMD (select command) can be used to select
has added additional fields on the end of the System/38 commands.
record. This should not cause changes to existing
programs. The ODOBAT field, which defines the The GO command displays:
attribute of the object, contains the new values for
System/38 attributes (for example, RPG38). See Ÿ Any of the new IBM menus (for example, the
“Object Attributes and Source Types” on System Main Menu) designed to assist in
page 2-23. The ODOBTP field has a change for operating the system. A list is displayed if a
one value. See “Cross-Reference” on page 2-5 generic name is entered.
for more information about this field. Ÿ The new command-grouping menus, which
replace the functions performed by DSPMNU
Delete options: DSPOBJD and DSPLIB in the on System/38.
OS/400 program does not support option 9 Ÿ User menus, which are defined as *MENU
(Delete) to delete objects. The new OS/400 object types. This is a new function and is
command WRKOBJ allows the delete option. described in “Menu” on page 4-10.

Renaming: A library cannot be renamed The GO command allows you to display imme-
(RNMOBJ) if it contains a journal, journal receiver, diately a menu that is a menu object. For
or the new IDDU dictionary object. example, the System menu QSYS/MAIN is the
default assigned as the initial menu for any
created profiles. To immediately access this
menu, you would specify:
GO MAIN
or GO MENU(MAIN)

2-18 AS/400 System/38 Environment Programming


To provide a function similar to the System/38 QOPRMENU is not supported. This menu was
DSPMNU capability, OS/400 commands have the default for the QSYSOPR profile and allowed
been placed in menu objects and given names easy access to system operator functions. New
that begin with the 3-character abbreviation CMD. system menus are provided to help operate the
These are known as command grouping menus. system.
The following shows a comparison to access the
commands that have JOB in their names: Other menus: See “Programmer Menu” on
page 2-27 for a discussion of the changes to the
System/38 DSPMNU MENU(JOB)
OS/4ðð GO MENU(CMDJOB) Programmer Menu.

To work with the new CMDxxx menu objects, the See“System Request” on page 2-56 for a dis-
command grouping menus have been changed as cussion of the changes to the System Request
follows: menu.

Ÿ F16 to run a command without prompts is not The Configuration Menu at the OS/400 IPL
supported from the menu. Options display has been renamed and enhanced.
Ÿ Help information is available for the com- See “Initial Program Load (IPL)” on page 2-13.
mands.
Ÿ A command line (entry of a full command) Message Handling
exists on all command menus. No special
input fields are given for a command name or Migration: The Migration Aid or save and restore
menu name. function migrates message queue object
Ÿ Certain functions are AS/400 system only. descriptions, but not any messages in the queues.
For example, the displays that allow a param- Message file objects and message descriptions
eter line on System/38 allow a similar function are migrated. The System Reply list cannot be
on the AS/400 system, but the entries must saved and must be manually updated.
appear in OS/400 syntax. For example, the
DSPOUTQ function to change a spooled file Message IDs: Most message IDs remain the
to a different output queue must be specified same, including the CPFxxxx types. In most
in OS/400 syntax such as cases, programs monitoring for escape messages
OUTQ(LIBX/OUTQB). should not have to change. A few message IDs
that are sent to QSYSOPR have been changed.
Command entry capability: On System/38, very
few displays supported command entry capability A valid message description ID includes the char-
(for example, the Command Entry display and the acters A to F (in addition to 0 to 9) for the last 4
Programmer Menu). On the AS/400 system characters (for example, CPFAABB). Some mes-
almost all of the OS/400 menus support the ability sages issued by IBM use this expanded naming
to enter a command on a command line. Only function. The System/38 environment commands
OS/400 syntax is supported on AS/400 menus. can work with this expanded definition.

You can control whether a user has the general User profile message queue: A message
capability of entering commands. If you are queue is associated with each user profile on the
relying on menus to provide security, you want to AS/400 system. The default when a user profile is
use the LMTCPB parameter in the user profile created is to create a message queue with the
(see “Security” on page 2-36). same name as the user profile in the QUSRSYS
library. The OS/400 commands allow a special
Unsupported menus: QCALLMENU is not sup- entry on SNDMSG, SNDUSRMSG, and
ported. This menu was the default for the QUSER SNDPGMMSG to send directly to the message
profile and allowed a simple method of calling pro- queue associated with the user profile. The
grams. It would be possible to build your own System/38 environment commands do not allow
version to simulate the System/38-provided easy use of these message queues. However,
version. you can achieve somewhat the same function in
the System/38 environment using RTVUSRPRF to
access the MSGQ associated with the user profile

Chapter 2. Changes Needed after Migration 2-19


and then specifying the retrieved name on the QSYSMSGQ: If you are using QSYSMSGQ on
SND commands. System/38, you need to re-create QSYSMSGQ on
the AS/400 system. See the System/38 to AS/400
The DSPMSG command in either case displays Migration Aid User’s Guide and Reference for
both the work station message queue (if any mes- more information and a sample program that could
sages exist) and the user message queue as the be used to move the user message queue
default. If you do not want the user message (QSYSMSG) to the AS/400 system.
queue function, you could change the default of
the DSPMSG command. QSYSOPR: The QSYSOPR user profile is set to
MSGQ(QSYS/QSYSOPR), DLVRY(*BREAK), and
The user message queue is automatically trans- SEV(30). This places the normal QSYSOPR
ferred on group job transfers (TFRGRPJOB message queue in break mode when QSYSOPR
command). If the same user also signs on a sec- signs on and avoids having two QSYSOPR
ondary job (using TFRSECJOB), the user message queues on the system. This differs from
message queue is also transferred. System/38 where the queue is not automatically
placed in break mode whenever the operator
The user message queue should become the pre- signs on (except if QSYSOPR does an IPL).
ferred method of sending messages to users. For
example, the SND commands allow you to com- If your System/38 approach was to have an initial
municate to a user name that is generally more program for QSYSOPR that placed the queue in
descriptive than a typical work station name. break mode and established the severity setting,
System support also relies on the fact that a you should see no change. You may want to
message queue is associated with each user change the initial program so that the system
profile. You may want to take advantage of this support can be used.
support. If you have already created unique user
message queues, but have not specified the name All the other shipped IBM user profiles provide the
in the user profile MSGQ parameter, you should MSGQ parameter default which creates a
consider making the change. message queue in QUSRSYS (for example,
QUSRSYS/QPGMR).
Two new user profile parameters, DLVRY and
SEV, allow you to specify the initial setting of the Message text: All system message text appears
user message queue. These values are copied in OS/400 form. For example, a typical qualified
into the job attributes and can be changed during name is described in the message text as OBJX in
the job. See the CL Reference book for details on LIBY. The message data format (for example,
these parameters. MSGDTA parameter on RCVMSG) remains either
the same as on System/38 or is compatible for
The CRTMSGQ command parameter for SENDER most message IDs.
is ignored in the System/38 environment
command. All message queues (including those For example, the message description for
migrated from System/38) are the equivalent of CPC2191 on System/38 appears as:
SENDER(*JOB *PGM *DTS). On the OS/400 MSG('Object &1.&2 type &3 deleted.')
program, addition of the sender information
increases the message length by approximately The replacement values are defined as:
50 characters. You may need to increase the size
&1 Object name \CHAR LEN(1ð)
of your message queue.
&2 Library name \CHAR LEN(1ð)
&3 Object type \CHAR LEN(7)
The error messages sent to the QSYSOPR
message queue messages, the 2-byte error code
To send the message, the SNDPGMMSG
has changed to a 4-byte code and will change in
command would be used to identify the message
some cases. For communications the hardware
ID (CPC2191), the message file (QCPFMSG) and
error code values are changed.
the message data, which contains the replace-
ment values to be substituted into the message
text. The message data would be defined as 27
bytes (the sum of the lengths described for the

2-20 AS/400 System/38 Environment Programming


substitution values). Assume that the message sent, and time sent. An additional line is shown
data contains: for impromptu messages.
'OBJX LIBY \JOBD '
The second-level message display changes signif-
When the message is shown on System/38, it icantly:
would read as: Ÿ A reply for an inquiry message can be speci-
'Object OBJX.LIBY type \JOBD deleted.' fied on the second-level message text display
(shown by pressing the Help key).
The message on the AS/400 system is written as: Ÿ Formatting of some messages occurs to
include blank lines and indentation. This sig-
MSG('Object &1 in &2 type &3 deleted')
nificantly improves the readability of the mes-
The SNDPGMMSG command would not change sages.
nor the formatting of the MSGDTA parameter.
You can change your own message text to include
The message is shown as:
the new formatting characters. See the
'Object OBJX in LIBY type \JOBD deleted' ADDMSGD and CHGMSGD commands in the
online help information.
The RCVMSG command allows MSGDTA to be
retrieved and it would receive the same format as Certain messages allow access to the problem
on System/38. For this reason, most programs analysis function for problem determination. See
which send and receive IBM messages using the “Problem Analysis Function” on page 2-26.
message data do not need to be changed.
PDPCODE and LOG keywords: The Problem
However, if a program scans the message text Determination (PDP) codes assigned to messages
itself (for example, by use of the MSG parameter have been removed. The function has been
on RCVMSG) there will be a difference. The replaced by a combination of improved message
program could be searching for a qualified name text and the problem analysis function. The LOG
in the message text by scanning for a period on function for logging messages to QSRV is no
System/38. If this is the case, a change would be longer supported. The PDPCODE and LOG
required. This is also true for programs that scan keywords remain on the RTVMSG and RCVMSG
message text within the history log. commands in the System/38 environment, but
blanks are returned. The corresponding keywords
Messages Guide: The System/38 Messages are ignored on the ADDMSGD and CHGMSGD
Guide, SC21-7736, for System/38 is no longer commands. See “Service” on page 2-45 for more
published. The message text and the format of information on unsupported functions.
the message data can be found in the online
display of messages. The descriptive wording of Inquiry messages: When an interactive job
the substitution values in the message data is not issues an inquiry message to a message queue,
included. In most cases, the content of the substi- and the reply is not implicitly made (for example, if
tution values is obvious by looking at the message the queue is in default mode or the system reply
text. If you frequently used the substitution values list is used), a status message is sent to the work
descriptions in the System/38 Messages Guide, station informing the user that his job is waiting for
you should probably keep the book. a response.

Changing message descriptions: The OS/400 For example, assume you are using a save
WRKMSGD command retrieves the message command interactively. During the running of the
description information and places the existing command, an inquiry message concerning the
values in the command prompt for the CHGMSGD media may be sent to QSYSOPR message
command. This simplifies changing existing queue. No feedback is sent to your work station
message text. on System/38 that your job is waiting for a
response. On the AS/400 system, you receive a
Message displays: The display of first-level message informing you that your job is waiting for
messages changes so that all impromptu mes- a reply to a message sent to QSYSOPR.
sages are identified as to who sent them, date

Chapter 2. Changes Needed after Migration 2-21


QSYSOPRDEV system value: The Alerts: The network attributes for alerts have
QSYSOPRDEV system value is no longer sup- changed significantly. If you are using alerts, you
ported. The system value named a message need to review the new definition before you make
queue that was sent a message if QSYSOPR was any entries (see “Alerts” on page 2-1). The
not allocated when a message was received in Network and Systems Management book contains
QSYSOPR. more information.

Personal computers as work stations: A If you are not using alerts, you may continue to
special type of device description, *PEER, can be take the defaults.
configured for a *PCS device that is attached to
an IBM Token-Ring Network. This implicitly Commands: The System/38 environment com-
creates a message queue in QUSRSYS in the mands that work with network attributes continue
same manner as created for local work stations. to function for some network attributes. However,
Sending messages to all work stations includes you should use the OS/400 commands to enter
these message queues. and change these attributes because only the
OS/400 commands support the full function.
Logs: The QCHG and QSRV logs are no longer
supported. See “Logs” on page 2-18. Attributes: The following describes each of the
System/38 network attributes and any changes
Mixed File: See “Data Description Specifica- that have occurred:
tions (DDS)” on page 2-6. ALRSTS A new value (*UNATTEND) is sup-
ported, but only on the OS/400
Naming command.
ALRCTLU This is renamed to ALRCTLD in the
Syntax: While operating in the System/38 envi-
OS/400 program. Any use on the
ronment, the names you can specify for object
RTV or CHG commands causes an
names, job names, or field names are unchanged.
error message.
Qualified names can be entered as they were on
System/38. If commands are entered in the ALRFOCPNT Not supported. Any use on the
OS/400 program, differences in terms of syntax, RTV or CHG commands causes an
the separator character, valid characters, and error message.
quoted names exist. In the System/38 environ- SYSNAM This is renamed to SYSNAME in
ment, use of the extended names as defined for the OS/400 program. SYSNAM
the AS/400 system is not valid. See Chapter 4 of performed two functions on
this book for more information. The CL Program- System/38:
ming book contains more information about name
syntax. Ÿ Name on the displays. This
operates the same as it did on
User assigned names: Documents on System/38.
System/38 did not have user-assigned names. Ÿ Means of establishing commu-
On the AS/400 system, the names can be nications with another system.
assigned in the same style as PC names. This function has changed.
See “Remote Location Name
Network Attributes: None of the network (RMTLOCNAME)” on
attributes on System/38 are migrated by the page 2-29.
Migration Aid to the AS/400 system. For nonalert The display, change, and retrieve
attributes, see the System/38 to AS/400 Migration functions that use the SYSNAM
Aid User’s Guide and Reference for more informa- parameter in the System/38 envi-
tion and a sample program. ronment all operate on the OS/400
program. SYSNAME attribute.

2-22 AS/400 System/38 Environment Programming


The following network attributes have the same type. Also, some source types are valid only in
definition as in System/38: the System/38 environment. In the OS/400
program, there are also unique source types. In
Network
addition, the object attributes are being changed
Attribute Description
on the OS/400 program so they more closely
MSGQ Message Queue
match the source types.
OUTQ Output Queue
JOBACN Job Accounting
Restore of System/38 objects: When a
MAXHOP Maximum number in SNADS
program object is restored from System/38 to the
network
AS/400 system, the system changes the attribute
DDMACC DDM Access
to indicate that it is a System/38 type.
The following are examples of some network attri-
When a file object is restored from System/38 to
| butes on the AS/400 system that were not part of
the AS/400 system, the system determines if the
| System/38. For a complete list of all network attri-
object was directly created from source. If source
| butes, see the “Shipped Network Attributes” in the
was used, a 38 is added to the end of the attri-
| Work Management book.
bute.
Network
Attribute Description For example, if you created a physical file from
LCLNETID Local network ID DDS source on System/38, the attribute would be
LCLCPNAME Local control point name changed from PF to PF38 when restored to the
LCLLOCNAME Default local location name AS/400 system. If you created a physical file
DFTMODE Default mode name without using source (for example, you used the
MAXLOCCNV Maximum number of conversa- RCDLEN parameter), the attribute would be PF
tions for remote location when restored to the AS/400 system.
NODETYPE Node type
MAXINTSSN Maximum number of intermediate Object attribute: For files, the object attribute is
sessions only an indication of the type of source used. For
RAR Route addition resistance programs, the attribute also indicates how the
NETSERVER Network node servers program is run.
ALRPRIFP Alert primary focal point
ALRDFTFP Alert default focal point The object attribute can be used to assist you in
ALRLOGSTS Alert logging status determining how the object was created. In terms
PCSACC PC Support of running the program, it makes little difference.
For example:
Object Attributes and Source Types: Ÿ A System/38 environment or an OS/400
On System/38, the source type you entered for program can access either a System/38 envi-
SEU was used to determine the syntax checking ronment or an OS/400 file. In fact, both files
routine that should be used. In most cases, the could be accessed in the same program.
source type became the source type associated Ÿ A System/38 environment or an OS/400
with the source member. It could be displayed program can call either a System/38 environ-
with DSPFD and appeared in the DSPFD outfiles. ment program or an OS/400 program. In fact,
In some cases the same type was used in the both could be called from the same program.
object form as the object attribute if you created
an object from the source. The object attribute The following chart describes the attributes used
could be seen by such commands as DSPOBJD by the System/38 environment and the OS/400
and in the outfiles associated with several com- program. The System/38 environment and
mands. OS/400 columns are for both source type and
object attribute unless described in the notes.
On the AS/400 system, the support is changing.
The source types that represent the System/38 Note: New source types exist other than those
environment have a 38 added to the end of the shown.

Chapter 2. Changes Needed after Migration 2-23


System/38 OS/400
Environment Source
System/38 System/38 Source Type Type and
Source Object and Object Object
Description Type Attribute Attribute Attribute Notes
CL Program CLP CL CLP38 CLP
CL Job Stream CL CL38 CL 1
Command Definition CMD CMD 2
Physical File PF PHY PF38 PF
Logical File LF LGL LF38 LF
Display File DSPF DSP DSPF38 DSPF
Printer File PRTF PRT PRTF38 PRTF
| Save File SAV SAV SAVF SAVF
ICF File ICFF 3
Mixed File MXDF MXD MXDF38 3
BSC File BSCF BSC BSCF38 3
Communication File CMNF CMN CMNF38 3
RPG RPG RPG RPG38 RPG
RPG Auto Report RPG RPG RPG38 RPG 4
COBOL CBL CBL CBL38 CBL
PL/I PLI PLI PLI38 PLI
BASIC BAS BAS BAS38 BAS
BASIC Procedure BASP BASP BASP38 BASP 5
PASCAL PAS PAS 6
AS/400 DFU DFU 7
AS/400 Query QRYDFN 7
DFU EXC DFUEXC
System/38 DFU DFU DFU NOTEXC DFUNOTEXC 8
QRY EXC QRYEXC
System/38 Query QRY QRY NOTEXC QRYNOTEXC 8
Text TXT TXT TXT 9

Notes: 4. On System/38, the entry of RPT is only used


on the Programmer Menu. If SEU is
1. There is no object form of a CL job stream.
requested, the type is converted to RPG. The
2. Command definition source is OS/400 RPG/400* syntax checker for SEU operates
program only. The command definition object on either RPG or Auto Report source (it is
does not have an object attribute. Additional valid to key unique Auto Report syntax into
function exists on the OS/400 program. In RPG source, but it is rejected by the
most cases, no change is required from CRTRPGPGM command). The special entry
System/38. See “Command Definition” on of RPT is used by the Programmer Menu
page 2-2. when the create option is specified to submit
3. Mixed, BSC, and communication files can only the CRTRPTPGM command. The object attri-
be created in the System/38 environment. In bute is RPG. No source members have an
the OS/400 program, the ICF file should be RPT source type. The object attribute is
used. always RPG.

2-24 AS/400 System/38 Environment Programming


In the System/38 environment, the definition is Object Types: The PRTIMG object type is
similar except that RPT38 is used, instead of not supported.
RPT on the Programmer Menu and on the
programming development manager. *CUD on System/38 has been changed to *CTLD
For the OS/400 program, the entry of RPT is on the OS/400 program.
used to specify that the AS/400 CRTRPTPGM
The *SPADCT object type remains, but has a new
command should be used. The source
internal definition. Because of the new internal
member type is RPT instead of RPG. The
design, CRTDUPOBJ can no longer be used on a
CRTRPTPGM command issues a warning
*SPADCT object type. New object types are pro-
message if the source type is not RPT.
vided. The following is a list of some of the new
5. There is no object attribute for a BASIC proce- object types. See the Programming Reference
dure. Summary book for a complete list.
6. PASCAL is a PRPQ on System/38 and is not Authorization list *AUTL
supported by SEU as a special type. Configuration list *CFGL
PASCAL is a licensed program on the AS/400 Class-of-service description *COSD
system and is fully supported. Data dictionary *DTADCT
7. The System/38 DFU and Query products exist Folder *FLR
only in the System/38 environment. Different Ideographic sort table *IGCSRT
products of the same name exist for the Menu definition *MENU
AS/400 system. There is no source type for Mode description *MODD
OS/400 products. Panel group *PNLGRP
Product definition *PRDDFN
8. The System/38 DFU and Query products exist AS/400 Query definition *QRYDFN
only in the System/38 environment. Different Reference code translate table *RCT
products of the same name exist in the System/36 machine description *S36
OS/400 program. The System/38 environ- Information search index *SCHIDX
ment source type is DFU38 or QRY38. As
shown in the chart, the System/38 object attri-
Outfiles: Several DSP commands support the
bute is changed when restored on the AS/400
OUTFILE parameter to allow a database file to be
system so the blank is removed from the attri-
created. See the individual sections for changes
bute. If you have programs that are sensitive
in this area such as “Library” on page 2-16,
to the object attribute, they must be changed.
“Cross-Reference” on page 2-5, and “Security” on
9. The TXT attribute is used on source members page 2-36.
only (it is not an object attribute). The source
member types are identical in both the See “Out Files” on page 4-11, for the enhance-
System/38 environment and the OS/400 ment being made to the OUTMBR parameter.
program. This tells SEU not to perform any
syntax checking. The TXT source member Output Queue: See “Spool” on page 2-49.
attribute is not changed when a source The Migration Aid or save and restore migrate the
member is restored from System/38. There is output queue object descriptions, but not any of
no object form of text source. The System/38 the spooled files.
compatibility text management function on the
AS/400 system creates members with a Overrides: OVRCRDF is not supported. See
TXT38 type. “Printers” on page 2-26 for changes relative to
print images.
Object Distribution: See Chapter 5.
The OVRDBF values of SEQONLY and INHWRT
are be operational for the OPNQRYF command.
The SEQONLY parameter on OPNQRYF is over-
ridden by the OVRDBF value if it exists.

Chapter 2. Changes Needed after Migration 2-25


Pass-Through: For 3270 pass-through, see File keywords: The printer file PRTIMG and
“Emulation (3270)” on page 2-11. TRNTBL keywords are not operational on the
AS/400 system and are ignored for the System/38
For 5250 pass-through, no changes have been environment. These keywords are only associ-
made to the support provided by the ated with system attached printers and are
BGNPASTHR command. As on System/38, all ignored in the System/38 environment. The
sessions use the first mode defined in the list of support is deleted because it only applies to
modes associated with each device specified on system attached printers.
the BGBPASTHR command. You should ensure
that each first mode has enough session and con- Printer device naming: The QDEVNAMING
versation resources defined to support pass- system value controls the name of the default
through and any other applications that use that printer device. The special value *DEVADR from
mode. this system value causes the system to derive a
device name from the resource name for a device
*PASS control units are called virtual controllers description that is being created.
on the AS/400 system.
MAXRCDS error: If the number of records in a
print file is exceeded (MAXRCDS parameter), an
PC Support: See “Intelligent Work Station
inquiry message is shown and the operator is
Support 5714-PC1” on page 2-64.
allowed to continue. If the number is exceeded
during an interactive job, the end user receives
Performance Information the message. If the number is exceeded during a
batch job, the message is sent to the QSYSOPR
CSNAP: No CSNAP function exists. Some of
message queue.
the same function can be achieved using the
device configuration THRESHOLD parameter. References: See also “Return Codes” on
page 2-35, “Data Description Specifications
System/38 Performance Tools PRPQ: Many of
(DDS)” on page 2-6, and “Spool” on page 2-49.
the data collection functions performed by the
System/38 performance tools PRPQ (5799-BJK)
have been incorporated into the OS/400 program. Problem Analysis Function: The problem
The analysis functions have been changed, but analysis function is used for problem analysis of
essentially the same support exists in the Perfor- hardware and software errors. When an error
mance Tools Licensed Program. See “Perfor- occurs, the message indicates if the problem anal-
mance Tools PRPQ 5799-BJK” on page 2-65. ysis function may be accessed. The problem
analysis function assists in capturing the informa-
tion and analyzing the problem. A detailed
Printers description is available in the System Operation
book.
Supported printers: Only work station printers
can be used on the AS/400 system. No system-
When a user perceives an error, the Analyze
attached printers are supported. The following are
Problem (ANZPRB) command is used to assist in
not supported:
determining the nature of the problem.
Ÿ 5211
Ÿ 3262 Problem Determination
Ÿ 3203
Ÿ 4245 Models 12 and 20 Copying screen images of another work
station: A significant new function exists to allow
The 4245 Models T12 and T20 are supported. authorized individuals to copy the display image of
another user. This enables you to follow the flow
The DBCS printers 5224 Model 11 and 5225 of what users see so you can assist them in
Models 11 and 12 are not supported. understanding the problem. This same function
can also be used by IBM support personnel to
assist in analyzing system problems. See the

2-26 AS/400 System/38 Environment Programming


online help information for the STRCPYSCN allows you to work with lists of libraries, objects,
command. and members and offers convenient options. User
options can also be added.
Displaying database file records: AS/400
Query supports a command, RUNQRY, that can Programmer Menu: The Programmer Menu has
be very useful in problem determination. It allows been changed. The display is shown in
any externally described database file to be dis- Chapter 1. Only an OS/400 version of the Pro-
played without creating a Query first. Prompts for grammer Menu exists. The command entry line
selection specifications are available with the only supports commands using OS/400 syntax.
command. A single display of information is However, you can work with either System/38
accessed and shown. The columns of information environment or OS/400 source types. See “Object
are placed in a variable display; windows can be Attributes and Source Types” on page 2-23 and
used to see any particular field (no folding occurs). “Utilities and Other Licensed Programs” on
page 2-62. Changes to the Programmer Menu
Spooled files: The new WRKSPLF command include:
allows several options, one of which displays all
Ÿ The format of the display differs, but the main
the spooled files associated with a specific user.
functions are included. Function key changes
Displaying the spooled file attributes also includes
exist.
the date and time the file was created and the
program that created the file. The program name Ÿ The TEXT parameter has been removed. The
is shown only if a HLL program was created on major reason for this entry was to allow the
the AS/400 system (not restored from System/38). text to be entered on a create command. The
default for the TEXT parameter was changed
Problem Log: All problems perceived by the during the System/38 releases to specify the
system are placed in the problem log. Each source member description as the default.
problem is identified and tracked. Problems found The source member description can be
by the user are also placed in the log. The entered when SEU is exited or through the
System Operation book contains more information. SEU Member List display.
See also “Problem Determination” on page 2-26. Ÿ F11 operates differently on OS/400 program
types. See the discussion on the REPLACE
Programs: The OS/400 create program com- option on “Programs.”
mands support a significant new function for
Ÿ The Log requests option has been dropped.
replacing programs. See “Programs” on
(Requests are always logged.) Logged
page 4-12. The System/38 environment com-
requests are now in a form to be operable
mands implicitly use REPLACE(*NO).
again from command entry (except if an exit
program is used).
To successfully migrate an object program to the
OS/400 program, the program must include the Ÿ A new default exists for job description
program template. PASCAL programs must be (*USRPRF - User Profile).
re-created from source on the AS/400 system.
Ÿ The default for object library remains blank.
See “Save and Restore” on page 2-35 for a com-
System/38 creates are placed in QGPL and
plete discussion.
OS/400 program creates are placed in
*CURLIB. *CURLIB may also be specified
See “Debug” on page 2-7 and “Return Codes” on
(see “Library” on page 2-16).
page 2-35.
Ÿ F6 (display messages) operates differently to
Programmer Menu allow both the work station message queue
and the user profile message queue to be dis-
PDM: A programming development manager played. See “Message Handling” on
(PDM) has been added. This is part of the Appli- page 2-19.
cation Development Tools Licensed Program. It Ÿ The EXITPGM parameter list has changed:
has similar functions to the System/38 Pro-
grammer Menu as well as new support. PDM – The TYPE parameter is now a *CHAR 10
field.

Chapter 2. Changes Needed after Migration 2-27


– The LOGRQS parameter is not supported Ÿ No keywords are shown, but keyword
(logging is always active). descriptions and allowed values are shown.
– The Object library parameter may reflect
Ÿ Keywords and descriptions are shown, but not
*CURLIB.
the allowed values.
– The Job description parameter may reflect
*USRPRF. You may switch back and forth between the two
– The TEXT parameter is not supported. forms with a function key. A user profile param-
Ÿ The OS/400 DFU and Query entries ignore eter controls which form is displayed first. See the
any parameter entries on the display. The user profile USROPT keyword and use the
initial menu for these functions are called. *CLKWD entry to show the keyword form first.
Ÿ The System/38 environment DFU and Query Prompts with incorrect information: Prompts
products cannot be accessed from the display have changed to ignore incorrect keywords or
except by entering a command such as: values. As long as a valid command name has
QSYS38/DSNDFUAPP been specified, the command prompt is shown. A
warning message is displayed if any keywords or
Programming Change: This is now values have been dropped from the command
referred to as a programming temporary fix (PTF) string.
on the AS/400 system. See “Programming Tem-
porary Fix (PTF)” for more information. Layered prompt: Layered prompt support exists.
This means that a set of keywords is shown for a
command and, based on the values entered, the
Programming Temporary Fix (PTF): user is directed to other keywords. If an entry on
This was known as a Programming Change (PC) a display makes a subsequent parameter mean-
on System/38. The System/38 commands cannot ingless, the subsequent parameter is not dis-
be used in either the System/38 environment or played.
the OS/400 program. The new commands (for
example, LODPTF) support all of the licensed pro- The System/38 environment commands do not
grams, OS/400 program, and the licensed internal support this function. It is possible to add the
code. The System Operation book contains more support to any command and have it run either in
information. the System/38 environment or the OS/400
program.
Unattended apply: A new option exists on
APYPTF to allow you to automatically apply
RA/DHCF: No changes from System/38.
delayed PTFs at the next unattended IPL. This
allows OS/400 and licensed internal code PTFs to
be applied without operator intervention. Recovery

Electronic distribution: A new command Automatic licensed internal code completion:


(CPYPTF) allows PTFs to be packaged for elec- The automatic licensed internal code completion
tronic distribution to remote sites. PTFs may also function (following a disk device failure where no
be sent using tape or diskette. data loss occurred) is not supported. The system
performs a shutdown function that attempts to
minimize recovery at the next IPL (sometimes this
Prompter was referred to as Subset Recovery on
System/38).
Format: A single command prompter on the
system is used for both the System/38 environ-
Forced licensed internal code completion:
ment and the OS/400 program. See “Command
The forced licensed internal code completion func-
Definition” on page 2-2.
tion is still supported. It requires a special entry
on the operator control panel. Diskettes are not
The prompter has two forms:
used. The System Operation book contains more
information.

2-28 AS/400 System/38 Environment Programming


References: See also “Checksums” on uration and illustrates some of the functions avail-
page 2-2, “Uninterruptible Power Supply” on able through it. The first example shows an
page 2-60, and “Save and Restore” on advanced program-to-program communications
page 2-35. (APPC) APPN configuration. Also included is an
example of the other communications types use of
Remote Location Name RMTLOCNAME.
(RMTLOCNAME): The AS/400 system uses System/38 APPC approach: On System/38, the
a different mechanism than System/38 for identi-
device description object contains two important
fying the remote system for communications
entries:
support. On System/38, you indicate the remote
system by the name of a device description. For RMTLU The logical name of the system to com-
example, you specify the DEV parameter on the municate to (the remote system)
CRTCMNF command when you create a commu- LCLLU The logical name of your system (the
nications file. On the AS/400 system, you identify local system)
the remote system by a remote location name.
For example, you specify the RMTLOCNAME The LCLLU entry uses *SYS as the default, which
parameter on the ADDICFDEVE command when means network attribute SYSNAM is used on
you define a device for an ICF file. System/38. However, you could use any name to
describe your own system. Allowing any name
The RMTLOCNAME is defined when you create a makes it possible for your local system to be
device description for a communications device. known by several names.
Given a RMTLOCNAME, the system can deter-
mine which device to use to get to the remote Figure 2-1 and Figure 2-2 show different
system. approaches to device description objects.

Your System/38 applications that use the System A


System/38 environment BSCF38, CMNF38, or
Device Description
MXDF38 file types do not need to be changed DEV1
because of the switch to RMTLOCNAME. These
file types do not support the RMTLOCNAME inter- RMTLU(SYSB)
face. LCLLU(*SYS)

You should be aware of how RMTLOCNAME


functions relate to the System/38 way of Network Attribute
SYSNAM
describing remote systems.
SYSA
Ÿ The RMTLOCNAME support is a more flexible
approach to networking requirements, and you
may want to migrate to this support. Device Description
DEV2
Ÿ AS/400 functions, such as advanced peer-to-
peer networking* (APPN*), are available only RMTLU(SYSB)
LCLLU(SYSX)
if you use the RMTLOCNAME support.
Ÿ Certain system functions, such as SNADS,
exist for which there is no System/38
environment-specific support. OS/400 SNADS Remote System
uses the new RMTLOCNAME support instead
of the device description name in the Next
System B
System Table. Even if you are using SNADS
in the System/38 environment, you are indi-
rectly using the RMTLOCNAME support. RV2W311-0

Figure 2-1. System/38 APPC Approach to Device


The rest of this section shows how Description Objects
RMTLOCNAME relates to the System/38 config-

Chapter 2. Changes Needed after Migration 2-29


In this example, your local system is known by
either the name SYSA or SYSX. The advantage
of being able to specify an additional name is that
it allows more flexibility to move functions from
one system to another within a network, without
making changes each time a function is performed
on a different system.

When an APPC communications link is estab-


lished, both names are sent to the other system,
which must respond with a matching set.

System A System B

Device Description Device Description


DEV1 DEV1

RMTLU(SYSB) RMTLU(SYSA)
LCLLU(*SYS) LCLLU(SYSB)
SYSB SYSA
SYSA SYSB
Network Attribute
SYSNAM

SYSA

Device Description Device Description


DEV2 DEV2

RMTLU(SYSB) RMTLU(SYSX)
LCLLU(SYSX) LCLLU(SYSB)
SYSB SYSX
SYSX SYSB
RV2W312-0

Figure 2-2. Using Multiple Device Descriptions When Using APPC

Prior to establishing communications to another of having a default is allowed, but more flexibility
system, both systems had to create the device exists to separate the functions performed by the
description objects to allow the link to occur. It is System/38 network attribute of SYSNAM (the
not necessary that the device descriptions have other function causes the name to be used on dis-
the same names. plays). If you do not need this flexibility, you
should use the same name for both network attri-
Parameters: In the OS/400 program, the names butes.
of the parameters have changed, but they essen-
tially have the same meaning: On the OS/400 program, a new object called a
configuration list is used if you are using APPN.
System/38 AS/400 Names You can identify the additional names that you
RMTLU → RMTLOCNAME want to call your own system (all of the local LU
LCLLU → LCLLOCNAME
names that you want your system to be known
as). These are the local names. You use the
The LCLLU parameter has a different default. It is
CRTCFGL, CHGCFGL, ADDCFGLE, and
now *NETATR. This refers to the new network
RMVCFGLE commands to maintain this list. A
attribute LCLLOCNAME. Thus, the same concept
sample list might look as follows:

2-30 AS/400 System/38 Environment Programming


Configuration List Additional names for APPC local names are deter-
mined the same as before with the local location
SYSA
name in the device description. APPN additional
SYSX names are defined in the APPN local location con-
figuration list.
JOE

PAYROLL The OS/400 program supports the capability of


dynamically creating device descriptions. For
RV2W313-0 example, Figure 2-3 shows a request being
received from another system as follows:

System A System B

Configuration List Device Description


RMTLOCNAME(SYSX)
LCLLOCNAME(SYSB)
SYSX SYSB SYSX
SYSX SYSB

Device Description
RMTLOCNAME(SYSB)
LCLLOCNAME(SYSX)
Dynamically
Created
RV2W314-0

Figure 2-3. Dynamically Creating Device Descriptions

The local AS/400 system knows that the commu- When you define the configuration link in an ICF
nications request is for this system because the file, you need only describe a RMTLOCNAME.
name SYSX is in the APPN local-location config- The RMTLOCNAME is a parameter on the
uration list. If a device description with the speci- ADDICFDEVE or OVRICFDEVE command. The
fied RMTLOCNAME and LCLLOCNAME exists, it device description object is dynamically selected
is used. If not, a device description is dynamically for you when the file is opened. The
created. LCLLOCNAME uses the default network attribute
*NETATR.
The system builds an internal directory of the
RMTLOCNAME and LCLLOCNAME information Any dynamically created device description acts
from created device descriptions. This directory is the same as a user-created device description on
searched to determine if a device description the system. For example, you may change or
already exists and if so, it is used. display the device description. If you no longer
need one of the descriptions, you must delete it.
Another way the system dynamically creates a The system does not keep track of which device
device description is when a program opens an descriptions are being used. If you accidentally
ICF file. In the System/38 environment, the files delete one that is being used, the system dynam-
used by application programs must specify a ically creates it again when it is needed.
device description that has already been created.
However, OS/400 files require that In the first example on dynamically creating a
RMTLOCNAME be specified instead of a device device description (Figure 2-3), a request came in
description and the device description object can from SYSB and it identified that it wanted to talk to
be implicitly created. SYSX. The local system found the SYSX name in
the APPN local-location configuration list and,

Chapter 2. Changes Needed after Migration 2-31


therefore, it created a device description to be
used.

Command Entry Display

CRTICFF FILE(M)....................................
ADDICFDEVE FILE(M) PGMDEV(PGMDEVA) RMTLOCNAME(SYSB)

System A System B

AS/400 ICF FILE(M)

RMTLOCNAME(SYSB)

Program
Open FILE(M)
Dynamically
Created
Device Description Device Description
RMTLOCNAME(SYSB) RMTLOCNAME(SYSA)
LCLLOCNAME(*NETATR) LCLLOCNAME(SYSB)
SYSB SYSA
SYSA SYSB
Network Attribute
LCLLOCNAME

SYSA

RV2W315-0

Figure 2-4. Using a Dynamically Created Device Description

If the name is not in the list, is not the default local RMTLOCNAME Remote Control Point
location name in network attributes, and is not the TOM SYS7
local control point name in network attributes, the
new system support for APPN is used automat-
The system would find SYSZ in the directory and
ically.
route the request to SYS2. APPN also automat-
For example, assume a request came in for ically determines how to route the request. For
SYSZ. This is not in the local list so the new example, the system determines which lines to
APPN support would search an internal table use and which intermediate systems must be sent
(directory). The table is updated implicitly by the for the request to have it forwarded. This is based
system. This table contains the actual location of on the class-of-service object associated with the
where the name exists (which system calls itself mode. The class-of-service object associated with
by that name). A table might look like: the mode defines the acceptable ranges of link
and node characteristics for the session. The
RMTLOCNAME Remote Control Point request for SYS2 may have to be routed to SYS7
first, no physical connection exists between your
BILLING SYS2
system and SYS2.
MARY SYS5
SYSB SYS5
SYSZ SYS2

2-32 AS/400 System/38 Environment Programming


System A System B

Configuration List Device Description

SYSA RMTLOCNAME(SYSZ)
LCLLOCNAME(SYSB)
SYSX SYSZ
JOB SYSB

PAYROLL

Internal Directory

Name System
BILLING 2
MARY 5
SYSB 5
SYSZ 2
TOM 7

AS/400 System

SYS7

AS/400 System

SYS2

RV2W316-0

The directory keeps track of where it finds the Ÿ More than one system responds as SAM.
names. Each system in the network has a direc- The first system to respond is assumed to be
tory performing a similar function. the correct system and is forwarded the
request, but an error is posted. You must
Assume now that a request comes in from System manage the network in terms of keeping the
B for a RMTLOCNAME = SAM. SAM is not in the names unique across the network.
APPN local-location configuration list so the
system knows the request cannot be met locally. The directory is a dynamic function. For example,
It passes the name to the remote directory func- in the previous discussion BILLING is on SYS2.
tion, which does not find the name either. The BILLING may represent one or more database
remote directory then sends a broadcast message files and programs. Assume a change is required
to every system in the network to see if SAM to move the entire function to SYS7. Our system
exists. The following can result: has a directory entry for BILLING that points to
SYS2. If a request for this occurs, our system
Ÿ No system has SAM as a name, and therefore
directs it to SYS2. SYS2 responds, saying it does
the original request is rejected.
not have BILLING. Our system deletes the entry
Ÿ One system responds saying it is known (or from the internal table and broadcasts a message
also known) as SAM. In this case, the direc- to all systems saying Who has BILLING? When
tory is updated and the request sent to the SYS7 responds, the table is updated.
responding system.
The same concept of RMTLOCNAME is also used
for other communications functions (for example,

Chapter 2. Changes Needed after Migration 2-33


BSC and asynchronous). You must name a communicate. The system manages that task
RMTLOCNAME, but for non-APPC devices you for you.
must also create a device description. The device
Ÿ You do not have to create as many objects to
description you create describes a
communicate.
RMTLOCNAME only to identify the device
description to be used. The LCLLOCNAME Ÿ You can assign meaningful names to func-
should not be used for a non-APPC device (the tions you want performed. If you want to
entry is ignored). change which system handles an application
such as payroll, you would just delete it from
For non-APPC devices, the RMT and LCL names one system and restore it to another system.
are not sent to the other system. Only the APPC The configuration list on both systems must
protocol sends the RMT and LCL names. For reflect which names (for example, application
non-APPC protocols, the RMTLOCNAME is used functions) they support.
only to determine which device description to use.
Ÿ Other communications functions on the
Figure 2-5 shows what happens when non-APPC
AS/400 system also take advantage of the
devices are used.
RMTLOCNAME concept, including the SNA
Upline Facility (SNUF) and device emulation.
The advantages of the new support include:
In SNUF and device emulation, the use of a
Ÿ You do not have to have a direct line con- remote location name allows the system to
nection to the systems with which you want to select the first available device description if
more than one device description contains the
same remote location name.

Command Entry Display

CRTICFF FILE(N)....................................
ADDICFDEVE FILE(N) PGMDEV(PGMDEVB) RMTLOCNAME(BSC1)

System A System B

AS/400 ICF FILE(N)

RMTLOCNAME(BSC1)

Program
Open FILE(N)

Device Description
BSCX

RMTLOCNAME(BSC1)

RV2W317-0

Figure 2-5. Non-APPC Communications

2-34 AS/400 System/38 Environment Programming


Return Codes have removed the program template, the program
is not restored on the AS/400 system and you
BSCF, CMNF, and MXDF: The System/38 file need the source to create the program again. The
types of BSCF and CMNF use the same return restore command fails if it cannot convert the
codes as on System/38. program. The remaining objects for the same
command are also not restored.
The MXDF-type uses return codes associated with
the type of device. The return codes associated CL programs are converted to the new format
with BSC, LU-1, and APPC devices remain the regardless of how the RTVCLSRC parameter was
same. The return codes associated with displays specified. (It is not necessary to have retrievable
have changed. source to restore a System/38 CL program.)

Display and printer files: The return codes for Licensed programs: Programs from the
DSPF and PRTF have changes. The changes are System/38 licensed programs (for example, the
primarily to agree with the same codes used in the RPG compiler) are not restored on the AS/400
OS/400 program. Many applications do not check system. You must obtain the OS/400 licensed
for the return codes for displays or printers. The program.
major return codes are primarily identical (most
changes affect the minor return codes). The RSTPGMPRD is now RSTLICPGM.
changes are described in Appendix C. Note: The utilities provided with the Migration Aid
should be used whenever possible.
Cancel job: The 02 major return code is set if a
cancel job (called ending a job in the OS/400 Release requirements: The AS/400 system sup-
program) is requested. This does not affect ports most object types saved on System/38
printers, BSC, or CMN files. MXD files are not Release 5 or later (both diskette and tape). If you
affected except for display functions. The 02 have historical data that you may want to restore
major return code does not cause an escape on the AS/400 system, you must ensure that it
message. If your program is performing an action was saved on System/38 using Release 5 or a
and the major return code is not 00, you may later release. You should also ensure that it is
need to change your program. saved on a media format and type density that
can be restored on the AS/400 system.
Save Files: The object descriptions of the
save files will migrate successfully using the Tape: The tape devices supported by the AS/400
Migration Aid or save and restore. However, any system are all supported by save and restore. For
contents in a save file are not migrated. You must tape capacities, rates, and devices supported for
use the SAVSAVFDTA command to save the con- models of the AS/400 system see “Tape” on
tents of a save file. page 2-59.

Only a tape device (not diskette) is supported for


Save and Restore
SAVSYS. When tape is used, a diskette is not
Program objects: Program objects are con- output as it is on System/38. The diskette was
verted to a new internal format when they are needed on System/38 because the IPL for
restored. This is an automatic function, but installing could only occur from diskette.
requires a longer restore time. The translation
Diskette magazine device: No diskette maga-
process is dependent on information that
zine device exists. A single-slot diskette device is
System/38 stores with the program (the informa-
optional and is supported by save and restore.
tion is called the program template). System/38
See “Diskette” on page 2-10.
always creates a program with the program tem-
plate.
Interchange between System/38 and the
AS/400 system: When the System/38 objects
There is no support using System/38 CPF to
are restored on the AS/400 system, the attributes
remove the program template, but some non-IBM
of programs are changed to be System/38. File
software can remove program templates. If you
objects are also changed if created from source.

Chapter 2. Changes Needed after Migration 2-35


Source types are also changed for source command), SAVSYS also saves the licensed
members. See “Object Attributes and Source internal code. Two licensed internal code areas
Types” on page 2-23. on the AS/400 system allow for permanent and
temporarily applied PTFs. This allows a better
An object cannot be saved from the AS/400 recovery process as any PTFs that you have
system and restored on System/38. Data inter- applied to the licensed internal code are saved so
change only exists from the AS/400 system to you can easily restore the current system.
System/38. This is true regardless of whether the SAVSYS saves both areas if any PTFS are only
object is a System/38 environment object or an applied temporarily.
AS/400 object. (See the discussion in Chapter 5.)
New object types: The System/38 environment
Most object types can be saved from System/38 commands do not allow the specification of the
and restored on the AS/400 system. *PRTIMG new object types (for example, *MENU).
object types saved on System/38 cannot be However, a generic request (for example, SAVLIB)
restored on the AS/400 system. saves all of the object types.

Some device files saved on System/38 with attri- Security considerations: On System/38, if a
butes that are not valid are not restored by the new object was restored and the owner did not
OS/400 restore. Examples include card files and exist on the system, the owner was changed to
display, mixed, or communications files with QSECOFR. On the AS/400 system, the owner
unsupported DDS functions. See “Data name is QDFTOWN.
Description Specifications (DDS)” on page 2-6
and the System/38 to AS/400 Migration Aid User’s The RSTUSRPRF command on the OS/400
Guide and Reference for more information. program can be used on SAVSYS media created
from System/38, but only if saved on Release 8.
Documents and folders: The SAVDOC and
RSTDOC commands do not operate in either the Database files: A change has been made to the
System/38 environment or the OS/400 program. way database files are restored on the system.
The OS/400 commands are SAVDLO and On System/38, spreading on different disk
RSTDLO. RSTDLO cannot be used to restore a actuators did not occur for files less than 16
*DOC object from System/38. AS/400 documents megabytes. On the AS/400 system, better
saved by SAVDLO cannot be restored on spreading occurs if the space utilization of the disk
System/38. units is approximately the same. The technique
approximates what would happen if you created a
The Migration Aid can be used to migrate docu- new file and used a program to write records to
ments to the AS/400 system. the file. If you add a new disk unit, spreading will
not occur until the new disk unit has approximately
A Personal Services/38 user can mail a document the same amount of space utilization as the
to a user on the AS/400 system. The AS/400 existing units.
user could file the document in a folder. (A folder
is used to group related documents and to find
Security
documents by name. It is similar to a library.)
| Levels: Five different security levels exist and
The new SAVDLO command can save specific
| are controlled by the system value QSECURITY:
folders and documents while other work is occur-
ring on the system. However, if you request that Level 10 No password. All users have essen-
all documents and folders be saved, the restricted tially all authority. A few functions are
condition (all active subsystems ended) must be reserved for the security officer and
used. service profiles.
Level 20 Password is required. All users have
SAVSYS: The SAVSYS command saves both
essentially all authority. A few func-
QSYS and related OS/400 objects (as it did on
tions are reserved for the security
System/38). On the AS/400 system (using either
officer and service profiles. It is pos-
the System/38 environment or the OS/400

2-36 AS/400 System/38 Environment Programming


sible to constrain the user to user- User profile: The user profile has significant
written menus. changes from System/38. There are additional
parameters, different defaults, and different intent
Level 30 Password is required. Object level
for some parameters. The Migration Aid primarily
authority is enforced.
converts the existing attributes. It does not
| Level 40 The system requires a user ID and attempt to take advantage of new support.
| password for sign-on. The security of
| resources is enforced. Additional integ- The Migration Aid does not migrate the
| rity protection features are also IBM-supplied user profiles. Any authorities that
| enforced. existed for the IBM-supplied user profiles are not
migrated. See Chapter 7 for suggestions on the
| Level 50 The system requires a user ID and
IBM profiles.
| password for sign-on. The security of
| resources is enforced. Level 40 integ-
The CRTUSRPRF command in the System/38
| rity protection and enhanced integrity
environment does not have the new parameters.
| protection are enforced. Security level
If you issue CRTUSRPRF in the System/38 envi-
| 50 is intended for AS/400 systems with
ronment you will see some differences from the
| high security requirements, and it is
OS/400 CRTUSRPRF command.
| designed to meet C2 security require-
| ments. Read the parameters described next to decide on
your strategy. You may want to use the OS/400
Level 30 is similar to the type of security on
CRTUSRPRF command for entering new profiles
System/38. Level 30 specifies that you require
and the OS/400 CHGUSRPRF command to
passwords to sign on and that users can only do
change existing profiles after migration.
what they are authorized to do.
Existing System/38 keywords: The following
The default value is level 10 and you may want to
table shows System/38 keywords, the defaults in
change to level 30 to achieve the same type of
the System/38 environment and the OS/400
support as existed on System/38.
program, and information about what happens
during migration. (New keywords also exist. See
Single-level sign-on: No support exists for the
the CL Reference and the Security – Reference
System/38 option of single-level sign-on (pass-
books for a complete list of the new keywords.)
word only). Users must enter both their user
name and a password to sign on. See “Sign-On”
on page 2-46.

Figure 2-6 (Page 1 of 4). Existing System/38 Keywords


S/38 OS/400
Environment Program Migration
Keyword Default Default Notes
USRPRF Required Required No changes.
PASSWORD Required Required The password that was on System/38 is converted.
If it was not encrypted on System/38 (single-level
sign-on was used), it is encrypted on the AS/400
system (the user password does not change even
though it is stored differently on the system).
The default passwords assigned to the IBM supplied
profiles now begin with a Q. For example, the
default password for QSECOFR is QSECOFR.

Chapter 2. Changes Needed after Migration 2-37


Figure 2-6 (Page 2 of 4). Existing System/38 Keywords
S/38 OS/400
Environment Program Migration
Keyword Default Default Notes
MAXSTG *NOMAX *NOMAX The current value is migrated from System/38. The
meaning differs on the AS/400 system. On
System/38, the office objects did not contribute to the
user’s total. On the AS/400 system, the office
objects are owned by individual users and contribute
to the total.
PTYLMT 5 3 The current value is migrated from System/38. The
IBM-supplied profiles that had PTYLMT 3 or less are
changed to 0. This allows the new function of being
able to move jobs on job queues to the top of the
queue. You need to consider a 0 value for those
profiles that you want to have the same capability.
The same function exists for output queues (see
“Spool” on page 2-49), but the OUTPTY parameter
accepts only 1 to 9.
SPCAUT *NONE *USRCLS SPCAUT. The current value is migrated from
System/38. System/38 supports *SAVSYS,
*JOBCTL, and *ADMIN. The *ADMIN function
becomes *SECADM on the AS/400 system and
differs in that users with this authority can only
change user profiles that they are authorized to
change (for example, those the user created).
*ADMIN still exists on the System/38 environment
command, but it is displayed and retrieved as
*SECADM.
The new special authorities are *ALLOBJ,
*SERVICE, and *SPLCTL. The *ALLOBJ authority is
the same function the security officer uses to work
with any object on the system. The *SERVICE
authority is necessary to perform certain service func-
tions. The *SPLCTL authority allows the user to
work with any spooled file on the system.
The default is *USRCLS, which refers to the
USRCLS parameter.
The QSECOFR profile is shipped with all the special
authorities. The QSRV profile is shipped with the
*SERVICE authority. The QSYSOPR and QPGMR
profiles remain as they were shipped on System/38.
INLPGM *NONE *NONE The current value is migrated from System/38.
Assuming the defaults are taken on System/38, a
change occurs if the initial program does a return.
On System/38, the Command Entry was shown. On
the AS/400 system, the INLMNU parameter is tested.
See “Sign-On” on page 2-46.

2-38 AS/400 System/38 Environment Programming


Figure 2-6 (Page 3 of 4). Existing System/38 Keywords
S/38 OS/400
Environment Program Migration
Keyword Default Default Notes
JOBD QDFTJOBD.QGPL QGPL/QDFTJOBD If the System/38 value is other than *NONE, the
value is migrated from System/38. If *NONE exists,
then the AS/400 default of QDFTJOBD in QGPL is
used. The intent of this parameter changes so that it
becomes the base for attributes to be established for
the user’s job.
If you use the CRTUSRPRF command in the
System/38 environment, a JOBD(*NONE) entry is
translated to QGPL/QDFTJOBD.
GRPPRF *NONE *NONE No changes. The current value is migrated from
System/38.
OWNER *USRPRF *USRPRF No changes. The current value is migrated from
System/38.
GRPAUT *NONE *NONE No changes. The current value is migrated from
System/38.
ACGCDE *BLANK *BLANK No changes. The current value is migrated from
System/38.
DOCPWD *NONE *NONE This is the document password used for office docu-
ments. The current value is migrated from
System/38.
MSGQ *USRPRF *USRPRF If the System/38 value is other than *NONE, the
value is migrated from System/38. If *NONE exists
or the System/38 environment CHGUSRPRF
command is issued and specifies *NONE, then the
OS/400 default of *USRPRF is used. This creates a
message queue in QUSRSYS with the same name
as the user profile. The intent of this support has
significantly changed, as described in “Message
Handling” on page 2-19. The message queue
defined should be for the majority of messages that
are sent to the user.
If you use the CRTUSRPRF command in the
System/38 environment, a *NONE value is translated
as *USRPRF. See also the new parameters of
DLVRY and SEV.

Chapter 2. Changes Needed after Migration 2-39


Figure 2-6 (Page 4 of 4). Existing System/38 Keywords
S/38 OS/400
Environment Program Migration
Keyword Default Default Notes
OUTQ *DEV *DEV If the System/38 value is other than *NONE, the
value is migrated from System/38. If *NONE exists,
then a default of QPRINT in QGPL is used.
The intent of this support has significantly changed,
as described in “Spool” on page 2-49. The default
allows users to be able to easily direct all of their
output to a specific printer. If you already have
output queues associated with individual users or you
do not print all of the spooled output, this value
should be set to the desired queue.
If you use the CRTUSRPRF or CHGUSRPRF
command in the System/38 environment, a *NONE
entry is translated to *DEV.
Spool operations specify different defaults on the
AS/400 system. The default is to the system printer
(see “Spool” on page 2-49). If you want a specific
output queue to be used as the default, you should
specify the queue in the user profile. Note that the
Migration Aid will change all of the *NONE values to
QPRINT. This allows all of the migrated profiles to
operate as they did on System/38.
PUBAUT *NONE *EXCLUDE The current value is migrated from System/38. The
Migration Aid combines the public authorities with the
private authorities as described later in this section.
The name of the PUBAUT parameter changes to
AUT for all of the CRT commands in the OS/400
program, and the values that may be entered
change. The System/38 environment supports the
System/38 keyword name and values.
TEXT *BLANK *BLANK No changes. The current value is migrated from
System/38.

2-40 AS/400 System/38 Environment Programming


Checking authorization: Authorization differs the read and update authorities. He uses the
significantly on the AS/400 system in that it is no group authority (GROUPA) to gain the delete
longer additive. For example, on System/38 the authority.
authority to an object was the sum of the following
authorities to the object: On the AS/400 system, if the object authority
looked just like this, JONES would not have the
Ÿ Public authority
authority to read, update, or delete records in the
Ÿ Private authorities
file because he has a specific authority. The
Ÿ Group authorities
public and group authorities would not be added.
Ÿ Program adopt authorities
The Migration Aid must be used to migrate the
On the AS/400 system, a check is made for an
user profiles before any other objects are
individual authorization. If found, the authority is
migrated. The restore of user profiles saved by
then checked and no further checking occurs.
the Migration Aid causes the public authorities and
The following sequence is used:
group authorities to be added to the individual
Ÿ *ALLOBJ authority (new special user profile authorities, which would look as follows on the
authority) AS/400 system:
Ÿ Private authority to the object
Ÿ Private authority in authorization list (new à@ ð
function to allow multiple objects to be User Object -----Object---- -------Data-------
Authority Opr Mgt Exist Read Add Upd Dlt
secured by a common list of users and their \PUBLIC \USE X X X
authorities) JONES
GROUPA
\CHANGE
USER DEF
X
X
X
X
X X
X
X
X

Ÿ ALLOBJ authority for the group profile


Ÿ Group profile private authority to the object
Ÿ Group profile private authority using authori-
Note: The authorities for both JONES and
zation list
GROUPA have been changed during migration.
Ÿ Public authority to the object
Ÿ Public authority in the authorization list
Assume JOHNSON is a member of GROUPA.
He has the same authority that he had on
Program adopt authority remains additive (it accu-
System/38 and will not see any difference on the
mulates all the authorities from each adopted
AS/400 system.
program and adds them to the user’s authority).
As on System/38, if the owner of the program
Assume SMITH is not a member of GROUPA.
being adopted is a member of a group profile, the
SMITH is not specifically authorized to the object
group profile’s authorities are not considered.
and continues to operate using the *PUBLIC
Only the owner’s authorities are added for as
authority. He will not see any difference on the
many programs as are active in the program stack
AS/400 system.
that adopt authorities.
In most cases, when you begin processing on the
To better understand the differences, assume the
AS/400 system, you will not see a difference in
following authority to a file object is displayed
authority checking because of the changes that
using DSPOBJAUT on System/38:
occur when user profiles are restored using the
Migration Aid. However, as you change authori-
à@ ð ties, you must take into consideration that OS/400
| OBJECT RIGHTS | DATA RIGHTS
USER NAME | OPER MGT EXIST | READ ADD UPD DLT authorities are not additive. If you have programs
| |
\PUBLIC
JONES
| X
| X
| X
| X
X that grant and revoke authorities, you may need to
GROUPA | X | X
make changes to achieve the same function.

Only the Migration Aid performs the function of


Assume JONES is a member of GROUPA. On adding the public and group authorities. The
System/38, JONES can process the file with all RSTUSRPRF command can be used to restore
data authorities. JONES is specifically given the user profiles from System/38 SAVSYS media.
add authority. He uses the public authority to gain However, only media from Release 8 can be
used.

Chapter 2. Changes Needed after Migration 2-41


Object authorities: The System/38 environment
commands (for example, GRTOBJAUT) continue
à@ ð
User Object -----Object---- --------Data-------
Authority Opr Mgt Exist Read Add Upd Dlt
to allow parameter entries such as *NORMAL and
JONES \CHANGE X X X X X
*OPER. When the user grants or revokes \PUBLIC \USE X X

*NORMAL in the System/38 environment,


*OBJOPR, and all four data authorities are
granted or revoked. When *OPER is granted or
revoked, *OBJOPR and *READ are granted or The term *USE normally indicates that the object
revoked. can be read only (not changed).

Most of the OS/400 commands have changed as Excluding a user: On the AS/400 system, new
follows: support has been added for exclusion of a user.
The *EXCLUDE authority means the user cannot
System/38 access the object. For example, if the display
Environment OS/400 Program appears as:
*NORMAL *CHANGE
*OPER *USE
*NONE *EXCLUDE
à@ ð
User Object -----Object---- --------Data-------
Authority Opr Mgt Exist Read Add Upd Dlt
– *OBJOPR
JONES \EXCLUDE
\PUBLIC \USE X X

The *OBJOPR right is new for the OS/400


program and sets only the operational right for an
object.
The user JONES cannot access the object.
The OS/400 CRT commands now use the Note: Even though the public can read the
keyword AUT instead of PUBAUT. Most of the object, JONES cannot. You cannot mix any of the
CRT commands default to *CHANGE. See the other authorities with the *EXCLUDE authority for
Security – Reference book for the details. a single user.
When you use DSPOBJAUT, you only see the The *EXCLUDE right is significantly different from
OS/400 terminology if it can be used (for example, revoking all authorities for a user on System/38. If
if the combination of authorities translates to the user’s rights are totally removed on
*CHANGE). If the authorities cannot be translated System/38, the user’s name is removed from the
to a descriptive word, the word is shown as USER display and the user can access the object using
DEF (user defined). the public authorities. On the OS/400 program,
the *EXCLUDE entry remains and the user cannot
You can see the Xs displayed by the System/38
access the object.
DSPOBJAUT command by pressing F11. You
can switch back and forth between the descriptive The *EXCLUDE authority differs for public authori-
wording and a display that has both the descrip- zation (the *PUBLIC user) versus individual users
tive wording and the Xs. Also, a user profile as follows:
option controls whether you first see the descrip-
tive wording like *USE or the display with both the Ÿ For the *PUBLIC user, the *EXCLUDE
wording and the Xs. See the user profile param- authority can be set in either the System/38
eter USROPT and specify *EXPERT to see the environment or the OS/400 program . If you
System/38 Xs first. specify PUBAUT(*NONE) in the System/38
environment, you set the *PUBLIC authority to
The display with both types of entries is shown *EXCLUDE. If you specify RVKOBJAUT
similar to the following: AUT(*ALL) or remove all the authorities, you
set the *EXCLUDE authority.
When objects that have no *PUBLIC authority
are converted from System/38, they are
shown on the AS/400 system with the
*EXCLUDE authority set.

2-42 AS/400 System/38 Environment Programming


Ÿ For individual users, no method exists in the If you want JONES excluded, you can change
System/38 environment to set the *EXCLUDE either the word *USE to *EXCLUDE or remove all
authority. You must use the OS/400 of the Xs. You can also do both, but if you are
EDTOBJAUT or GRTOBJAUT command. inconsistent (for example, not removing all of the
Xs), you receive a message. Assuming you
The *PUBLIC user cannot be removed from the changed the word to *EXCLUDE and pressed the
authorization to an object. It must be given some Enter key, the display would now be shown
authorities or be excluded. without the Xs:

An individual profile or group profile can have


private authorities, be excluded, or have no
à@ ð
User Object -----Object---- -------Data-------
Authority Opr Mgt Exist Read Add Upd Dlt
authorities. If the profile has no authorities, the
JONES \EXCLUDE
user has public authority (or the group’s authori- SMITH
\PUBLIC
\USE
\CHANGE
X
X
X
X X X X
ties, if the group has authorities).

For individual user profiles (not *PUBLIC), you


now have a choice of explicitly authorizing users If you want to remove JONES entirely (for
or explicitly excluding them. You need to decide example, make him part of *PUBLIC), you must
on a strategy to follow. If you use *EXCLUDE, insert blanks for the *EXCLUDE special value that
you must be careful when you add a new user appears in the Object Authority column. If you
profile that objects that should not be accessible want to remove SMITH entirely (also make him
to the new user profile are excluded. part of *PUBLIC) you must insert blanks for both
the special value *USE and the Xs.
One of the advantages of *EXCLUDE is that you
may have you want to control differently. For If you want to set JONES to have read and
example, the a group user group is able to access update authorities (but not add or delete authori-
an object, but a specific member of the group is ties), there is no special value to set for this com-
excluded. If you use this approach, you must con- bination. You can achieve this by doing either:
sider how to handle a new user profile being Ÿ Set the Xs the way you want them. The
added to the group. display is then shown with the special value
USER DEF.
Changing authorities: The DSPOBJAUT
command (in either the System/38 environment or Ÿ Set the special value to *USE. When the
the OS/400 program) only shows the authorities display is shown again, it has Xs in the Oper
and does not allow any changes. The and Read authority columns. Add the X to the
EDTOBJAUT command (OS/400 program only) Upd authority column. The display is shown
provides a similar function to allow changes like with the special value USER DEF.
that for the System/38 DSPOBJAUT command.
However, the EDTOBJAUT command can only be The OS/400 GRTOBJAUT command can set the
used by a user who has authority to make a *EXCLUDE authority for either the *PUBLIC or an
change and will immediately show a display (as individual user by granting *EXCLUDE. This
opposed to the System/38 approach of using a revokes any existing individual authorities. For
function key). example, to exclude JONES from the PAYMST file
you could specify:
The EDTOBJAUT display allows you to make GRTOBJAUT OBJ(LIBX/PAYMST) OBJTYPE(\FILE)
changes using either the special values (for USER(JONES) AUT(\EXCLUDE)
example, *CHANGE) or by changing the Xs.
Assume the display is shown as follows: Normal authority: Most of the System/38 envi-
ronment commands that set security (the CRT
à@ ð commands PUBAUT parameter, and
User Object -----Object---- -------Data------- GRTOBJAUT and RVKOBJAUT commands AUT
Authority Opr Mgt Exist Read Add Upd Dlt

JONES \USE X X
parameter) have changed for the definition of
SMITH
\PUBLIC
\USE
\CHANGE
X
X
X
X X X X *NORMAL. The value *NORMAL now specifies all

Chapter 2. Changes Needed after Migration 2-43


of the data authorities (read, add, update, and been updated for the Security – Reference book
delete) to the object. Some object types exist on the AS/400 system.
where all of the data authorities are not mean-
ingful, but all of the Xs are shown by Debugging: Debugging a program requires
DSPOBJAUT. *CHANGE authority to a program rather than the
*READ right as on System/38. See “Debug” on
For a message file object, this is different from page 2-7.
System/38 if *NORMAL is specified. The add,
update, and delete authorities were not granted on Changes to IBM-supplied profiles: The QCE
System/38. ADDMSGD requires the add and QPSR profiles do not exist on the AS/400
authority, CHGMSGD requires the update system. Two new profiles exist named QSRV and
authority, and RMVMSGD requires the delete QSRVBAS. See “Service” on page 2-45.
authority. All of these functions can be used on
the AS/400 system using *NORMAL authority. The new profile QTSTRQS (Test Request) is used
when the 5250 test request function is specified.
This is only a consideration if a message file is On System/38, the QCE profile was used.
created on the AS/400 system (in either the
System/38 environment or OS/400 program) or a The new profile QDFTOWN (Default Owner) is the
GRT or RVK is used. Migration of existing objects owner for these typical cases:
keeps the authorities as they were on System/38. Ÿ Restoring a new object when the owner does
not exist on the system
The public authorization for the objects created by Ÿ Finding an object with RCLSTG and the
CRTJOBQ and CRTOUTQ remains the same as owner cannot be determined
on System/38. However, *NORMAL applies to all
data authorities on the GRT and RVK commands. The purpose of the separate profile (QDFTOWN)
The additional data authorities control the ability to is to allow you to determine what objects have no
use the CHG, CLR, HLD, and RLS commands for owner.
job queues and output queues.
The QUSER profile still exists, but cannot be used
The public authorization for the objects created by without entering a password on a level 20 or 30
CRTUSRPRF and CRTSAVF remains as it was system. The shipped password is QUSER. You
on System/38 (*NONE for the System/38 environ- may change the value or enter *NONE.
ment and *EXCLUDE for the OS/400 program).
Details are provided in the Security – Reference The IBM-shipped profiles do not have the same
book. default passwords. The defaults now are the
same as the profile name. For example, the
List of passwords: The DSPUSRPWD QSECOFR default password is now QSECOFR
command that produced a list of users and pass- instead of SECOFR.
words on a single sign-on option is not supported.
The AS/400 system has only a two-level sign-on Displaying and changing user profiles:
which encrypts passwords so they cannot be DSPUSRPRF only shows the profile parameters.
meaningfully displayed. If users forget their pass- No function key exists to allow changes. An
word, the security officer should assign a new OS/400 command (WRKUSRPRF) allows a simple
one. method of changing existing profiles. The
CHGUSRPRF command still exists.
New library support consideration: The new
functions for current library and product library Shipped authorization: The authorization
(see “Library” on page 2-16) create additional shipped on IBM commands has changed from
exposures to writing secure functions. If you have System/38. This is true for both AS/400 com-
programs that are intended to be secure, you mands and the System/38 environment com-
should have considered the library list implications mands. Predominantly, this change makes more
as discussed in the System/38 CPF Programmer’s commands public (for example, many of the CRT
Guide, SC21-7730-9 security chapter on Library commands were authorized to QPGMR on
List implications. The corresponding section has System/38 and are public on the AS/400 system).

2-44 AS/400 System/38 Environment Programming


If your end users are operating from user menus Service
(not IBM menus) and cannot access a Command
Entry display, you should see no significant differ- Major service functions: The OS/400 program
ences. For those users who can access supports two major service functions:
command entry, you need to review the authori-
Ÿ System Service Tools (SST)
zations described in the Security – Reference
book. SST allows access to service functions while
the OS/400 program is operational. It has
When the Migration Aid performs the restore similar functions to the Concurrent Service
authority (RSTAUT) function, the authorities asso- Monitor (CSM) on System/38 plus additional
ciated with the IBM-supplied profiles are not functions. You must have authority to perform
granted. the functions. Two profiles are shipped with
the system (QSRV and QSRVBAS) to assist
System request function: If you have secured in performing the service functions and you
the system request function on System/38, a may authorize other profiles.
change is required. See “System Request” on
page 2-56. The QSRV profile is intended for full servicing
capabilities and allows the display/alter func-
Logical file creation: See “Database” on tion for any information on the system. The
page 2-5 for a change regarding the requirement QSRVBAS profile is intended for display of
to have object management authority to create a service information and prevents modifications
logical file. to critical system functions.
Most of the functions of SST only need to be
Authorization list: The new authorization list performed under IBM direction.
function allows you to secure multiple objects
using a single authorization list. The authorization Ÿ Dedicated service tools (DST)
list is maintained with commands to designate The DST support replaces the SM/1 diskette
users and their authorities. function on System/38 and adds other func-
tions. Three passwords are associated with
DST: The DST display is protected by three pro- specific DST functions. The first two pass-
files. Each has a password that is set as part of words allow functions which correspond to
the DST support. The DST profiles and pass- those provided by the QSRVBAS and QSRV
words have no connection with the OS/400 profiles. The third password includes the
program. A different function is used to sign on QSRV type functions and also the capability to
DST and to change the passwords. See change the DST passwords. The passwords
“Service.” are set with DST and not with the OS/400
program.
An exception has been made to the concept that
DST and the OS/400 program are separate secu- DST allows you to perform low-level service-
rity functions. If you forget the QSECOFR pass- oriented functions. DST is normally accessed
word, you can reset the password to QSECOFR by performing an IPL with the keylock in the
as a function of the DST master profile. The Manual position. The console device is used
inverse is also true; if you forget the DST master by DST. See “Initial Program Load (IPL)” on
profile password, the security officer can reset it page 2-13 for the definition of the console
with the OS/400 CHGDSTPWD command. device.
Most of the functions of DST only need to be
References: See “Cross-Reference” on performed under service direction. However,
page 2-5 for a change in the DSPPGMADP the disk device configuration functions associ-
outfile. ated with checksums or user ASPs must be
done by you with DST instead of OS/400
The Security – Reference book contains more
commands.
information on security.

Chapter 2. Changes Needed after Migration 2-45


Unsupported functions: The System/38 com- Security levels: When level 20 or 30 is used for
mands DSPSTGCFG and CLCSTGCFG are not the Security Level (see “Security” on page 2-36),
supported. The same functions can be accessed a two-level sign-on is required. This means the
by either the DST or SST service functions. user must enter both the user name and pass-
word. System/38 single-level sign-on (password
DST is used to configure checksums or ASPs. only) is not supported. If you are migrating the
The System/38 CHGSTGCFG command is not System/38 user profiles from a single-level
supported and the CFGSTG parameter is ignored sign-on, the same passwords are in effect and
on PWRDWNSYS. they are encrypted.

The following service functions on System/38 no Optional values: Optional values are shown on
longer exist on the AS/400 system: the Sign-On display for:
Ÿ CSNAP Ÿ Initial program
Ÿ BSC diagnostic Ÿ Initial menu
Ÿ SLV update Ÿ Current library
Ÿ Vary power control
Ÿ MCR update The user profile parameter LMTCPB (limit capa-
Ÿ Error logging control bility) controls whether the user can enter these
Ÿ Diskette Repair Utility values on the Sign-On display. The Migration Aid
Ÿ QSRV Log uses the System/38 user profiles as the default
which results in a value of LMTCPB(*NO). This
References: See also the sections on: means the user signing onto the profile can
Ÿ “Problem Determination” on page 2-26. change these values. The LMTCPB default also
Ÿ “Programming Temporary Fix (PTF)” on lets a user enter commands on a Command Entry
page 2-28. display.
Ÿ “Problem Log” on page 2-27.
On System/38, only the initial program function
Ÿ “Problem Analysis Function” on page 2-26.
was supported and there was no option on the
Ÿ “System Support” on page 2-57.
Sign-On display to allow a change. Many end
See also the change in “Security” on page 2-36 users were controlled by user-written menus that
relative to the new service profiles and also the were started by an initial program and never
resetting of passwords. allowed access to a Command Entry display. To
achieve the same type of support as existed on
System/38, you need to change the end user pro-
Session Description: Created by the RJE files to say LMTCPB(*YES).
utility. No changes. See “Remote Job Entry
(RJE) 5714-RC1” on page 2-66. The LMTCPB(*PARTIAL) function allows users to
change only the INLMNU parameter on the
Shipped Objects: The IBM objects that are Sign-On display and allows them to enter com-
shipped in QGPL have changed. See the dis- mands on a Command Entry display.
cussion in Chapter 7.
If the QCMD routing program is used (it is the
The objects which you can change in QSYS (for default), the sequence of functions performed is:
example, print files) must be changed in the same
1. The user profile ATNPGM is set.
manner that you changed them following a new
release on System/38. A job stream or CL 2. The initial program is run.
program should be used to change such things as
3. If the initial program does not exist or com-
the form size for the print files.
pletes without a sign-off, the initial menu is
run.
Sign-On

2-46 AS/400 System/38 Environment Programming


QCMD as
Routing Step

Yes ATTNPGM No
= *NONE

SETATNPGM

Yes INLPGM No
= *NONE

Call Initial
Program

Did
No Sign-Off Yes
Occur?

End
Yes INLMNU = No
*SIGNOFF

Sign-Off Go Initial Menu

End
Did
Yes No
Sign-Off
Occur?

End
RV2W318-0

Ÿ If a sign-off occurs in the initial program, the If your approach to security on System/38 was
initial menu is never run. to control the user through a menu presented
Ÿ The initial program must either not exist or do by an initial program, you may want to set the
a return for the initial menu to be run. migrated profiles to INLMNU(*SIGNOFF).
Ÿ A special value is allowed for the initial menu
which is *SIGNOFF. This means that a user User defined sign-on display: On System/38
is signed off if the initial program does a the CPF Programmer’s Guide Work Management
return. This entry is designed for those users chapter describes how to create your own
who are controlled solely with an initial Sign-On display. If you have done this, the
program. A message is sent to the operator if display file must be changed to adhere to the new
this occurs. requirements.

Chapter 2. Changes Needed after Migration 2-47


You can create your own Sign-On display so that Migration Aid). You should not attempt to save
your users do not see the initial program, initial the files used by SNADS in the QUSRSYS library
menu, or current library options. This forces the on System/38 because the format of the files
values in the user profile to be used regardless of differs on the AS/400 system.
the setting of LMTCPB in the user profile. The
| “Changing the Sign-On Display File” in the See Chapter 7 for suggestions on migrating the
docid=3306.Work Management book contains SNADS configuration information.
more information.
The major change is the use of the remote
Displaying the command entry function: If you location name instead of the device description
want to see the Command Entry display imme- name in the next system table. Because of this
diately at sign-on, the QCMD routing entry change, the table is now referred to as the distri-
requires you to specify the initial program as bution queue and certain parameters reflect the
QCMD. This puts QCMD twice in the program new terminology. Because device files are not
stack. used, the system names must uniquely identify the
system, to which you intend to communicate.
With QCL as the routing entry, the System/38
environment Command Entry display is shown if Database: The distribution log associated with
there is no initial program. SNADS is a journal. Database file definitions are
provided to use in conjunction with DSPJRN to
Note: The functions of ATNPGM and INLMNU
convert the data so it may be processed by user
occur only if the routing entry is QCMD. The QCL
applications.
routing entry only performs the function it did on
System/38, which was to start the INLPGM func- The database file formats used for these defi-
tion or show the Command Entry display if the nitions have changed to reflect changes in field
initial program ended or did not exist. Therefore, names, attributes, and values. The files which
with QCL as the routing entry, the initial menu have changed are:
function is ignored.
SNADS Logging QAZDCFLG
If you have your own routing entry program, you SNADS Logging QAZDERLG
can receive a message indicating the values that SNADS Logging QAZDRTLG
were passed in from the Sign-On display and SNADS Logging QAZDJRNL
retrieve information from the user profile to deter-
| mine the processing requirements. In the The SNA Distribution Services book contains a
| docid=3306.Work Management book, see: description of these files.

| Ÿ “Creating Another Subsystem Description for Parameters: The Node ID (NDEID) parameter
| the Controlling Subsystem” supported on several SNADS commands is
| Ÿ “Retrieving the Sign-On Information in an ignored in the System/38 environment and
| Application Program” dropped on the corresponding OS/400 commands.
This specified the two part name in the next
Inquiry message: The inquiry message that system table.
occurred when QCL was to be ended and was the
first program in the program stack still exists. The DSPDSTLOG command ENTTYP parameter
QCMD also supports the inquiry message, but the allowed the value next system table (*NST). This
message only occurs if QCMD is the second has changed to distribution queue (*DSQ).
program in the program stack.
Source Attribute: See “Object Attributes and
SNADS Source Types” on page 2-23.

Migration: SNADS operates only in the OS/400


program. Most of the System/38 SNADS com-
Source Files: Other than the source type
changes described in “Object Attributes and
mands continue to operate unchanged in the
Source Types” on page 2-23, no changes have
System/38 environment, but you must configure
been made from System/38.
the SNADS objects (they are not migrated by the

2-48 AS/400 System/38 Environment Programming


Spelling Aid Dictionary: See “Dictionary Ÿ All of a user’s spooled output can be directed
5714-DCT” on page 2-63. to a specific output queue by specifying the
user profile OUTQ parameter. The queue
may currently be attached to a print writer,
Spool
may eventually be attached or may never be
Operational displays: The operational displays attached. For example, the user may select
have changed significantly. In general, more infor- those files to be printed by moving the
mation is available for an individual spooled file spooled files to a queue that is attached to a
such as the date and time the file was created. print writer (for example, by use of the
The program name that opened the file is also CHGSPLFA OUTQ parameter).
available if the program was created on the Ÿ A user can have a default function that occurs
AS/400 system in either the System/38 environ- and yet have some files specified to go to a
ment or the OS/400 program (the conversion func- specific output queue. Specify the print file
tion performed by restore does not cause this). OUTQ or DEV parameters on the print file or
The program name appears in the User Data the OVRPRTF command.
column. See “Spool” on page 4-14 for how to
Ÿ Flexibility allows you to tailor for unique situ-
override this.
ations.
New support: New support allows a spooled file
Migration: From a System/38 migration view-
to be easily moved to the top of the queue. The
point the key things to consider are:
OUTPTY parameter has been added to
CHGSPLFA to allow this and can be conveniently Ÿ If you take all the defaults on System/38, the
entered on a display with a parameter line like output goes to the QPRINT output queue. If
DSPOUTQ. you take all the defaults on the AS/400
system, the output goes to the output queue
New support exists to allow you to control the associated with the device specified for the
name of the spooled file. See “Spool” on QPRTDEV system value. Be sure the
page 4-14. QPRTDEV system value represents your
default printer.
New support allows an entry in the user profile to
easily specify that all spooled output should be Ÿ The Migration Aid migrates the user profiles
directed to a specific printer. Several objects, that specify OUTQ(*NONE) to be
parameters, and defaults are used to cause this. OUTQ(QGPL/QPRINT). Any System/38
It is not completely necessary to understand the migrated profiles use the same defaults as
details of this approach. However, several conclu- they did on System/38. You should consider
sions can be drawn: specifying an output queue for new user pro-
files.
Ÿ To direct the spooled output of all users to a
single system printer, use all the defaults. Ÿ If your applications use the OUTQ parameter
to direct spooled output to different queues,
Ÿ It is important that the QPRTDEV system the applications continue to operate in the
value specify a real printer. This should be same way. In the following discussion, it is
the default device you want the spooled files important to remember that the OUTQ param-
directed to. If the print device for a spooled eter overrides the PRTDEV parameter. If you
file does not exist, the output is sent to the specify an OUTQ, it is honored if the file is
QPRINT output queue. spooled.
Ÿ All of a user's spooled output can be directed
to a special printer by changing the PRTDEV
parameter in the user profile.

Chapter 2. Changes Needed after Migration 2-49


Destination of printed output: The following page 2-7.) If you choose not to use auto-
describes the approach and the steps used in matic configuration or want a different default
deciding where the spooled output is sent: printer, you must change this system value. It
must contain the name of a valid printer on
1. When a printer device is created, an output
your system for the defaults to work correctly.
queue is implicitly created of the same name
and is placed in library QUSRSYS. This is a
System Value
new function on the OS/400 program. It is the QPRTDEV
intent of this approach that normal output to
the print device would be spooled to the PRT01
output queue associated with the device.

Command Entry Display

Printer Printer
PRT01 PRT02
CRTDEVPRT DEV(ABC) . . .
RV2W320-0

3. When a job starts, it always has both a job


QUSRSYS/ABC description and a user profile. (See the fol-
Printer lowing illustration.)
Device Output
Description Queue .A/ The job description is copied into the job
and provides the initial values for the job
attributes. Some of the job description
parameters have values that default to
the user profile. The two that are impor-
Printer
tant to this discussion (PRTDEV and
RV2W319-0
OUTQ) both have a default value of
*USRPRF.
2. A new system value QPRTDEV is used as the
.B/ If the defaults are used, the real values
default name for printing activity. The system
are accessed from the user profile. The
value is shipped with a value of PRT01. (If
user profile value for PRTDEV defaults to
you ordered a TSP system, the name is P1.)
the QPRTDEV system value.
This is the name that is assigned to the first
printer if automatic device configuration is .C/ When job initialization is complete, the
requested. (See “Device Configuration” on two attributes are filled.

2-50 AS/400 System/38 Environment Programming


Job Description

PRTDEV(*USRPRF)
OUTQ(*USRPRF)

System Value
Initial Job Attributes User Profile QPRTDEV
PRT01
PRTDEV(*SYSVAL)
PRTDEV(*USRPRF) OUTQ(*DEV)
OUTQ(*USRPRF)

Completed Job Attributes

PRTDEV(PRT01)
OUTQ(*DEV)

RV2W321-0

These attributes provide the base values for printer. The OUTQ parameter contains either
the job. The printer file also has the PRTDEV an output queue name or the value *DEV.
and OUTQ parameters that may specify to
4. Once the job starts, the values in the job
use these job attributes (described in step 5).
description, the user profile, or the system
The default is *JOB.
value are no longer used to determine the job
Note: The OUTQ parameter can specify attributes. Any changes are ignored for active
*DEV. If the printer file is directed to use the jobs. The CHGJOB command can be used to
job attributes, the output queue to be used is change the PRTDEV or OUTQ job attributes
the queue associated with the PRTDEV while the job is active.
parameter specified in the printer file. The
5. When a program opens a print file, the open
PRTDEV attribute contains a name of a
routine goes through a series of steps.

Chapter 2. Changes Needed after Migration 2-51


Override Statement
OVRPRTF FILE(X)

Program Print FILE(X)

Open

DEV(*JOB)
SPOOL(*YES)

OUTQ(*JOB)

Open Data Path Job Attributes

PRTDEV(PRT01)
DEV(PRT01)
SPOOL(*YES)

OUTQ(*DEV) OUTQ(*DEV)

Direct Attach

Yes No
SPOOL(. . .) Printer
Determine Which
Output Queue

Output Queues
PRT01
QPRINT2
QPRINT
RV2W322-0

.A/ If the OVRPRTF command is specified .B/ The DEV parameter value is determined if
before your program opens the print file, the file is not spooled. The DEV param-
the overrides are merged with the print eter in the Open Data Path is evaluated
file attributes to create the temporary as follows:
object called an Open Data Path (ODP).
DEV = *JOB Use the job attribute
Only one set of attributes exists after the
PRTDEV
merge. If no overrides are specified, the
DEV = *SYSVAL Use the name in
print file attributes are used. If the
QPRTDEV system
defaults were taken, the important values
value
to this discussion are:
DEV = xxx Use the xxx printer
DEV = *JOB device
SPOOL = *YES
In the previous illustration, the Open Data
OUTQ = *JOB
Path DEV attribute of *JOB causes the
job attribute of PRT01 to be used.

2-52 AS/400 System/38 Environment Programming


.C/ The Open Data Path is checked to see if Devices: Card devices are not supported, so
it should be directly attached to a printer. card spooling is not supported.
Attached directly means that you are not
using spooling, but will specifically allo- Diskette spooling is limited to a single slot. The
cate a physical printer device. If LOC keyword may be specified on System/38
SPOOL(*NO) is specified in the Open environment spool commands (for example,
Data Path, direct attach printing is STRDKTWTR), but is ignored.
requested and step D would not occur.
File names: The spooled file names used by the
.D/ Determine the OUTQ to use. Assuming commands that create objects from source will
SPOOL(*YES) in the Open Data Path, the change. See “Languages” on page 2-66, “Data
OUTQ parameter in the Open Data Path Description Specifications (DDS)” on page 2-6,
is evaluated: and “Command Definition” on page 2-2.
OUTQ = *JOB Use the job attribute
OUTQ WRKSPLF: The new WRKSPLF command
OUTQ = *DEV Use the DEV name allows various options to assist in displaying
determined in step B spooled files. For example, it can display all
OUTQ = xxx Use the xxx output spooled files belonging to a specific user. This
queue can be very helpful in problem determination.

Note: If *DEV is specified (either in the


Open Data Path or as the job attribute),
System Service Tools (SST): See
“Service” on page 2-45.
spooling occurs as long as SPOOL(*YES)
is specified. The output queue selected
is the queue associated with the device. Subsystem Description
If the device does not exist, the output is
sent to the QPRINT output queue. This Work station allocation: One of the significant
refers back to step 1 which describes an enhancements on the AS/400 system from
implicitly associated output queue with System/38 is the dynamic work station allocation
every device. function. See “Work station allocation” on
page 2-9.
While it appears that the keyword values
are pointing at a device, they are really Backup subsystem: A new subsystem
pointing at the output queue associated description exists (QSYSSBSD in the QSYS
with the device. library) which you cannot change. Its purpose is
to give you a usable subsystem in case another
If the file is spooled, the DEV parameter is not dis- user-created subsystem description fails or you
played for a spooled file. The CHGSPLFA have changed your working version to an extent
command (in the OS/400 program) supports both that it is unusable. QSYSSBSD is also used
the DEV and OUTQ parameters. If you specify a during the IPL if the controlling subsystem speci-
value for DEV, the spooled file is moved to the fied in the system value QCTLSBSD is not found.
output queue associated with the device you spec-
ified. IBM-supplied subsystems: The subsystems
QBASE, QBATCH, QCMN, QCTL, QINTER, and
Authority: The user-profile special authority QSPL are in the QSYS library and can be
*SPLCTL allows a user to access, change, and changed. These subsystem descriptions are
delete any spooled file on the system regardless designed to meet different requirements. You
of authority. This function allows the security may use the subsystems in QSYS without any
officer and any other user with *SPLCTL to work changes, make changes, or create your own sub-
with any spooled file on the system. systems.

*READ authority to an output queue is now To create your own subsystems, you may use the
required to place a spooled file on that output CRTDUPOBJ command to create copies of these
queue. On System/38, *ADD authority was IBM-supplied subsystems in a user library.
required.

Chapter 2. Changes Needed after Migration 2-53


Note: If you want the system to check your For some System/38 users, the simple subsystem
copies of the controlling subsystems for perfor- approach may be adequate. It is designed for
mance adjustment, the copies must be in the simple approaches where the IBM defaults are
QGPL library. See “Performance adjustment adequate, the changes to the subsystem are infre-
option” on page 2-54 for more information on per- quent, and the need to control independent types
formance adjustment. of work is infrequent.

There are two subsystem approaches: The multiple subsystem approach allows you to
start and end classes of work (for example, batch
Ÿ Simple subsystem approach. A single sub-
and interactive) in a more convenient manner by
system (QBASE) is used as the controlling
starting and ending subsystems.
subsystem and is also used for interactive,
batch, and communications work. Spooled
The multiple subsystem approach is also much
work is done in the QSPL subsystem. For
more convenient to work with if you have complex
QBASE, multiple storage pools exist and
routing entries to deal with or a frequent need to
routing entries direct the work to the pools
change the subsystems. On the AS/400 system,
with different processing priorities. However,
as on System/38, some of the attributes of a sub-
all the pool entries use *BASE so that all
system cannot be changed while the subsystem is
batch and interactive work is done in the
active.
same pool.
QBASE is the default controlling subsystem For example, if you need to change an interactive
shipped in the QCTLSBSD system value. routing entry, it is much easier to do it with the
multiple subsystem approach. With the simple
An automatic start job exists using a special
subsystem approach, you must change the
job description QSTRUPJD. See “Automatic
QCTLSBSD system value to QSYSSBSD in
job start” on page 2-55.
QSYS, power down, do another IPL, change the
Ÿ Multiple subsystem approach using the fol- QBASE subsystem, change the system value
lowing subsystems: back to QBASE, power down, and do another IPL.
With the multiple subsystem approach you need
Controlling subsystem QCTL
only end the QINTER subsystem, make the
Interactive work QINTER
change, and then start QINTER again.
Batch work QBATCH
Spool work QSPL
Both subsystem approaches contain the special
Communications work QCMN
entries needed to allow both the System/36 and
System/38 environments to be operational.
The multiple subsystem approach is similar to
what was shipped as a default for System/38.
Performance adjustment option: In conjunction
However, the QCTL subsystem also supports an
with the two subsystem approaches, the system
automatic start job using the same job description
has a new function called performance adjust-
(QSTRUPJD) as in the QBASE subsystem.
ment which is controlled by the system value
QPFRADJ. The default is to cause a performance
To use the multiple subsystem approach, you
adjustment at IPL. This function sets the storage
must change the system value QCTLSBSD to
pool sizes and activity levels based on the system
QCTL QSYS.
model, main storage size, and the configuration-
Note: The QCTLSBSD system value is not related descriptions that exist.
migrated by the Migration Aid.
Note: This function only occurs when you do an
The storage pools set up are the same for both IPL. It resets the values on each IPL when the
approaches. The shipped entries all use *BASE system value is set. It is not a dynamic adjust-
as the pool to run in. Note the later discussion of ment function that changes as your work load
IPL performance adjustment and how it may affect changes.
these pools.
If an adjustment is requested by the QPFRADJ
system value, the following occurs:

2-54 AS/400 System/38 Environment Programming


Ÿ The QMCHPOOL system value is set based Ÿ The QBASE and QCTL subsystems are
on the size of your system and the shipped with an automatic start job entry
configuration-related descriptions that exist defined. The automatic start job operates
(for example, how many communications line under the new QSTRUPJD job description.
object types are in existence). This uses the QPGMR user profile and
causes an IBM program (QWDAJPGM) to be
Ÿ The QSPL subsystem is changed for the
run.
storage pool size and activity level based on
the number of printer device descriptions that Ÿ The IBM program (QWDAJPGM) checks the
exist. system value QSTRUPPGM and if it is not
*NONE, transfers control to the program spec-
Ÿ The system checks the controlling subsystem
ified in the system value. The system value
to see if QBASE or QCTL is specified. The
QSTRUPPGM supports the following:
system also checks whether the controlling
subsystem is in the QSYS or QGPL library. If – QSTRUP: This is the name of the
the controlling subsystems are not found in IBM-supplied program. This is the default.
either library, a message is sent to QSYSOPR It performs the following:
and IPL tuning completes.
- All subsystems in either subsystem
Ÿ If the controlling subsystem is QBASE, the approach (as defined previously) are
QBASE subsystem is changed to provide a started.
unique storage pool value and activity level for
- All spool writers are started if the
the pool associated with interactive work. The
system value QSTRPRTWR is set to
QBASACTLVL system value is also set. The
yes. An IPL Options display sets the
pool sizes and activity levels are set based on
system value on each IPL. The
the size and model of your system.
default is yes and is used if the oper-
Ÿ If the controlling subsystem is QCTL, the ator does not make an entry or an
system performs the same function as for the unattended IPL occurs.
QBASE subsystem except that the QINTER
– Qualified program name: Your own start
subsystem is changed for interactive work.
up program should be run.
The QBASACTLVL system value is also set.
– *NONE: No startup program should run.
Note: The assumption is that the typical system
achieves the best performance results by sepa- Routing entry: The routing entries shipped for
rating the interactive and batch work in separate the IBM-supplied QBATCH and QINTER subsys-
pools, not necessarily separate subsystems. tems each contain entries for QCMD and
QCMD38. The QCMD entry calls QSYS/QCMD.
The intent of the performance adjustment is to
The QCMD38 entry calls QSYS/QCL. The
provide a workable solution for many small system
SBMJOB RTGDTA default differs between the
configurations. If you have a large system config-
System/38 environment and the OS/400 program
uration or unique requirements, you should con-
as follows:
sider the same type of performance adjustments
you did on System/38. Another alternative is to let System RTGDTA Default
the system perform the adjustment after you have System/38 Environment QCMD38
created your configuration-related descriptions. OS/400 Program QCMD
Then set QPFRADJ off. This provides a base set
of values from which you can begin making the If you operate interactively from the OS/400
changes. program, you should use the new CMD parameter
to enter the command you want to run in batch.
Automatic job start: The purpose of the control- The proper syntax is passed to the QCMD pro-
ling subsystem having an automatic start job is to cessing program.
simplify what you need to do to automatically start
certain functions at IPL. Refer to the Work Man- If you use the RQSDTA parameter in either the
agement book for details. The highlights include: System/38 environment or the OS/400 program,
you must enter the proper syntax to match the

Chapter 2. Changes Needed after Migration 2-55


RTGDTA value. For example, if you are in the If you have changed the System/38 supplied sub-
OS/400 program and specify: systems, you need to review the changes and
SBMJOB RQSDTA ('CALL PGMA.LIBRARY1') may need to make changes to the OS/400 ver-
sions.
the command fails when processed by QCMD.
You need to either use OS/400 syntax See the discussion on subsystem descriptions in
(LIBRARY1/PGMA) or specify RTGDTA(QCMD38). Chapter 7.

Job description: One of the major changes from


System Reply List: The System Reply List
System/38 is the default association of a job
is not migrated from System/38 by the Migration
description with a user profile. The AS/400
Aid. You must perform a manual conversion.
system is designed to allow you to use a general
purpose job description (QDFTJOBD in QGPL) or Operationally, there are no changes from
to assign a specific job description to user profiles. System/38. PL/I has been added. See also the
In conjunction with this support, the work station discussion on “System reply list” on page 7-4.
entries (for example, ADDWSE) now use the job
description of the user who signs on as the default
rather than the job description of the same name
System Request
as the subsystem. The CRTUSRPRF default for
Menu changes: The System Request menu has
the JOBD parameter has changed to QDFTJOBD.
the following changes:
The result of these changes means that the job Ÿ Option 3 (Display current job) is changed so
description used at sign-on is now user oriented that it uses the OS/400 DSPJOB command.
instead of being subsystem oriented. You may The user is not allowed to make any changes
want to take advantage of this support for many, if such as CHGJOB or deleting objects from the
not all, applications. display library option.
Ÿ Wording changes have occurred. The menu
Monitor job: On System/38, each subsystem
now checks for whether a pass-through job or
has a monitor job which runs in the first storage
secondary job is active and changes the
pool assigned to each subsystem (this is normally
wording of the options to better describe the
the QBASE pool). The activity caused by the
choices. The pass-through options are only
monitor jobs had to be accounted for when deter-
displayed if pass-through is active.
mining the activity level for the pool.
Ÿ The prompter is always used for the
On the AS/400 system, the subsystem monitors DSPMSG, SNDMSG, or SIGNOFF options
continue to operate in the first pool assigned to when entered from the menu.
each subsystem, but the activity is now handled
Ÿ The system request line can still be used to
internally. Consequently, you do not have to con-
enter the command parameters for any option.
sider the monitor jobs when determining an
activity level for the subsystem pools. The activity Ÿ A new option is shown to display the
still counts toward the system wide activity level QSYSOPR message queue.
(QMAXACTLVL system value).
Security changes: On System/38, the System
Pool size: The minimum pool size has been Request menu was created as a display file. On
changed from 16K to 32K. the AS/400 system, it is a panel group (*PNLGRP)
object type. Consequently, the technique of pre-
Other changes: Other changes in the definition venting the use of the system request function by
of the subsystems concern the shipped defaults revoking the authority to the QMNSYSRQ file can
on System/38 and those shipped on the AS/400 no longer be used. To prevent the public from
system. If you have used the System/38 defaults, accessing the System Request menu, issue the
little must be done other than to determine which following command (the grant of *EXCLUDE will
subsystem approach you want by specifying the revoke any individual rights).
QCTLSBSD system value.

2-56 AS/400 System/38 Environment Programming


GRTOBJAUT OBJ(QSYS/QGMNSYSR) QPRTDEV Default print device name. See
OBJTYPE(\PNLGRP) “Spool” on page 2-49.
USER(\PUBLIC)
AUT(\EXCLUDE) QSTRUPPGM Startup program name for IPL.
See “Subsystem Description” on
You can then grant the use of the System page 2-53.
Request menu by specifying AUT(*USE) to the QIPLDATTIM When to automatically IPL the
appropriate users. system.
QRMTIPL For specifying a remote IPL.
System Support: To fully use most of the
new system support functions, you must have a QIPLTYPE IPL type to perform (attended or
communications line and the system must be unattended). See “Initial
operational. (question-and-answer local does not Program Load (IPL)” on
need communications.) System support has page 2-13.
several functions: QIPLSTS Type of IPL that was performed
(replaces QAUTOIMPL).
Service: Both hardware and software service
functions are supported. The software aspects QPWRRSTIPL For specifying automatic IPL
include reporting problems and receiving program after power is restored. See
temporary fixes (PTFs) electronically. “Uninterruptible Power Supply”
on page 2-60.
Marketing information: This includes access to
QSTRPRTWTR Should print writers be started at
IBMLink*. (available in U.S.A. only) or IBMDIAL
IPL. See “Initial Program Load
(available in most European countries) for informa-
(IPL)” on page 2-13.
tion to such things as announcements, education
schedules, and file exchanges. QSECURITY Security level (10, 20, or 30) of
the system. See “Security” on
Question-and-Answer Database (Q & A): This page 2-36.
includes the capability to create your own Q & A.
QKBDTYPE Keyboard language selection.
You may also access other remote Q & A data-
bases. See the System Operation book. QSPCENV Default for special environment
user profiles. See “Security” on
System Values page 2-36.
QDEVNAMING Device naming convention for
New values: Several new system values are automatic configuration.
associated with various functions. You need to
review the new system values to determine how QPFRADJ For specifying performance
the values should be specified. Only the OS/400 adjustments at IPL. See “Sub-
commands can access the new system values system Description” on
(they cannot be accessed in the System/38 envi- page 2-53.
ronment). (See the Work Management book for QPWDEXPITV Controls the number of days for
details about all system values.) Some of the new which a password is valid.
system values are:
QDSPSGNINF Controls the display of sign-on
Name Description information.
QAUTOCFG For specifying automatic device QMODEL Allows users to determine on
configuration. See “Device which model of the AS/400
Configuration” on page 2-7. system they are running.
QCONSOLE Name of console device. The
value cannot be changed. See
“Initial Program Load (IPL)” on
page 2-13.

Chapter 2. Changes Needed after Migration 2-57


Changed values: The following system values Unsupported values: The following system
have been changed: values are no longer supported:
Name Description Name Description
QSYSLIBL QSYSLIBL is shipped with the fol- QCSNAP The function is no longer sup-
lowing libraries: ported. Some of the same func-
tion can be achieved using the
QSYS
device configuration
QUSRSYS
THRESHOLD parameter.
QHLPSYS
QBADPGFRM The function is no longer
QMAXSIGN Changed from DEC(5 0) to
needed on the AS/400 system.
CHAR(6). The default value is
now 15. It is now used for both QSIGNLVL A two-level sign-on is supported
sign-on attempts. with security levels 20 and 30.
Ÿ Sign-on for a work station QSRVONLY The function is no longer
(System/38 QMAXSIGN defi- needed on the AS/400 system.
nition)
QCHGLOGSIZ The QCHG log function is no
Ÿ Sign-on for attended IPL
longer supported.
(System/38 QSCPFSIGN
definition) QSRVLOGSIZ The QSRV log function is no
longer supported.
QAUTOIMPL This returns additional values (for
example, IPL at time of day) to QSYSOPRDEV The function is no longer sup-
reflect the new types of IPL. ported on the AS/400 system.
QAUTOIMPL may only be speci- QAUXSTGTH The function is now supported
fied in the System/38 environ- using SST. The method of
ment. The new name in the specifying the value has
OS/400 program is QIPLSTS. changed so you now express a
The new name is shown on the percentage of used storage.
DSPSYSVAL display. The default is 90%.
QCTLSBSD The default value is now QBASE. QSCPFSIGN This function is included in the
See “Subsystem Description” on QMAXSIGN system value.
page 2-53.
QSCPFCONS The default value is now 1. Migration: In addition to the System/38 system
values that are not supported on the AS/400
QBASPOOL Expanded to a zoned field of (10 system, some system values are not migrated by
0). The new default value is 500. the Migration Aid because they are read-only
QMCHPOOL Expanded to a zoned field of (10 values:
0). The new default value is QABNORMSW Previous termination of CPF indi-
1500. cator.
QUPSMSGQ See “Uninterruptible Power QAUTOIMPL Start CPF IMPL indicator.
Supply” on page 2-60.
QIGC Indicates whether DBCS is
QUPSDLYTIM See “Uninterruptible Power installed.
Supply” on page 2-60.
QSRLNBR System serial number.

2-58 AS/400 System/38 Environment Programming


The following date and time system values are not QSYSLIBL The AS/400 system is shipped with
migrated by the Migration Aid. QDATE and three libraries listed in this system
QTIME values should be set on the AS/400 value. If you have modified this
system. system value on System/38, make
similar modifications to the AS/400
QDATE
list.
QYEAR
QMONTH QUPSMSGQ The definition has changed. See
QDAY “Uninterruptible Power Supply” on
QTIME page 2-60.
QHOUR
QUPSDLYTIM The definition has changed. See
QMIN
“Uninterruptible Power Supply” on
QSECOND
page 2-60.
The following system values are not migrated:
Table: Tables are used for several functions on
Name Description System/38 including the translation table used with
QBASPOOL Consider a new value based on system-attached printers. Only work station
the size of your system or use the printers are supported on the AS/400 system and
performance adjustment option. therefore the TRNTBL parameter on print files is
See “Subsystem Description” on removed on the OS/400 commands.
page 2-53.
No changes have been made to the table source
QCTLSBSD Use the new IBM-supplied version entries or the commands.
until you have successfully
migrated.
Tape
QMAXSIGN The function and type of attribute
have changed. See the discussion Supported devices: Some of the tape devices
on “Changed values” on supported are shown in the following table. The
page 2-58. approximate capacities and rates shown are for
save and restore operations. For data inter-
QMCHPOOL The AS/400 system requires a
change, capacities and rates may vary. For a
larger value. See the Work Man-
complete list, see the Backup and Recovery –
agement book or use the perfor-
Advanced book.
mance adjustment option.

AS/400
Media Models
Width Sup- Maximum Rewind
Tape in ported Megabytes Time in
Device Inches Type On Per Hour Minutes Maximum Media Capacity (MB)
6346 1/4 Streaming 9404 320 3.0 120
9404 and
9346 1/4 Streaming 9406 320 3.0 120
9404 and
9347 1/2 Streaming 9406 550 2.7 44
2440 1/2 Start/Stop 9406 1500 2.4 167
3422 1/2 Start/Stop 9406 2230 1.1 167
3430 1/2 Start/Stop 9406 950 3.0 167

Chapter 2. Changes Needed after Migration 2-59


The streaming devices can only reach the DSPTAP output: The DSPTAP format differs so
maximum speed if they can be kept streaming. If only one file at a time is presented if used interac-
the device becomes ready to read or write and the tively. Once you display a file using
system is not ready to read or write, a backhitch DATA(*SAVRST), you cannot go back to a pre-
occurs. A backhitch requires that the tape come vious file unless you repeat the command.
to a stop and then go back to the point where it is
ready to read or write again. If several back- Tape device naming: The QDEVNAMING
hitches occur, the speed is reduced considerably. system value controls the name of the default tape
device. It is either T1 or TAP01, not QTAPE or
Streaming devices should not be used for an QTAPE1 as it was on System/38. If your system
excessive amount of data interchange (for is installed with the automatic configuration option,
example, reading or writing by CPYF). If data the device description already exists.
interchange is used, you should use large blocks
to reduce the exposure of backhitching. If you prefer to use a name like QTAPE and you
are using automatic device configuration:
The 6346 and 9346 Tape Units (1/4 inch) cannot
Ÿ Create the description QTAPE.
be read by the other supported devices. The
9347 and 2440 Tape Units can be used to read Ÿ Change the system created device description
and write to each other, but only if written at the to ONLINE(*NO). This will prevent varying on
common density of 1600 bpi. the device (it must exist if you are using auto-
matic configuration).
The 9347 Tape Unit operates at either 1600 or
3200 bpi. Test: See “Debug” on page 2-7.
The 2440, 3422, 3430, and 9348 Tape Units
operate at either 1600 or 6250 bpi.
Uninterruptible Power Supply:
System/38 and the AS/400 system support two
The 6346 and 9346 Tape Units must set the types of uninterruptible power supply functions
tension of the tape before they can start reading called basic and full.
or writing. Depending on where the tape is posi-
tioned when the cartridge was removed, the time The full support requires that the processing unit
to set the tension is from 1-1/2 to 3 minutes. As and all disk devices are supplied electrical power
with all tape processing, if you plan to write mul- by the uninterruptible power supply. 9404 Models
tiple files to the same tape (for example, multiple B10 and B20 also support an optional Battery
save commands), you should specify Power Unit. The system values that control the
ENDOPT(*LEAVE). Because of the tension support have been changed and additional
requirement, you should only specify support exists. The three system values are:
ENDOPT(*REWIND) on the 6346 or 9346 when QUPSMSGQ Message queue for messages
you intend to remove the cartridge.
QUPSDLYTIM Uninterruptible power supply
The 6346 and the 9346 Tape Units do not support delay time
read backwards. Some high-level languages (for QPWRRSTIPL IPL if power is restored (new)
example, COBOL) have language statements for
read backwards. The two system values that existed on System/38
are not migrated by the Migration Aid.
The 3422 and 3430 tape drives support hardware
data compression (HDC). The basic support is similar to System/38 basic
support, but does not perform the full microcode
System-supplied tape files: The default value completion function after an abnormal IPL caused
of the RCDLEN parameter has changed from 80 by a power loss. The basic support supplies
to *CALC for the system-supplied tape files power only to the processing unit, Unit 1 (load
QSYSTAP/SYS, QTAPE/QGPL, and source disk), and the storage controllers.
QTASRC/QGPL.

2-60 AS/400 System/38 Environment Programming


The QUPSDLYTIM system value definition has Assuming the defaults are used in the job
changed. It allows the system to wait for a desig- description and not changed during the job, the
nated period of time when utility power is lost. If results are the same as on System/38.
the QUPSMSGQ value does not identify a user
message queue, the system powers down when WRKUSRJOB commands: A new command
the delay time ends. This should allow many WRKUSRJOB allows you to work with all of the
users to use the uninterruptible power supply jobs for a given user or all users. It provides a
without requiring a user-written power-handling simpler form for the system operator. You may
program. QUPSDLYTIM is changed from a 6-byte want to use it for normal handling of work instead
character value to a 20-byte value on the RTV of DSPACTJOB. DSPACTJOB is still useful for
command. The first 10 bytes are the value you investigating performance questions.
specify. The second 10 bytes allow for the
system to respond with an actual value when References: Specific work management topics
*CALC or *BASIC is specified. are covered elsewhere in this book. See the
sections on:
The Backup and Recovery – Advanced book con- “Sign-On” on page 2-46
tains more information. “Subsystem Description” on page 2-53
“Job Queue” on page 2-15
User Profile: See “Security” on page 2-36. “Job Description” on page 2-15
“Initial Program Load (IPL)” on page 2-13
Work Management “Job streams” on page 2-16

Default changes: The default for RTGDTA on IBM-supplied nonchangeable objects: IBM
SBMJOB and JOB on the System/38 environment ships the following objects that can be used if your
commands is changed from *JOBD to QCMD38. subsystem objects become damaged or inoper-
This allows the job to be processed by the correct able:
routing entry in the IBM-supplied subsystems.
This change may cause the following differences: Description Object Library
Controlling subsystem QSYSSBSD QSYS
Ÿ If you have your own subsystems or have
changed the IBM subsystems, you may need Class for routing entry in QSYSCLS QSYS
to change your routing entry to QCMD38 subsystem QSYSSBSD
instead of QCMDB. JOBD for use with the QSYSJOBD QSYS
ADDWSE command for
Ÿ If you were making use of unique RTGDTA the subsystem
values in job descriptions, you need to change QSYSSBSD
the JOB or SBMJOB JOBD parameters to
Job queue QSYSSBSD QSYS
specify *JOBD (otherwise, the default of
QCMD38 will occur). You will need to con-
sider which program is used in the routing For example, if your controlling subsystem
step for your unique RTGDTA. description becomes inoperable, you could specify
QSYSSBSD at the IPL Options display and IPL
Significant changes in the OS/400 program have the system.
been made regarding the SBMJOB command.
See “Work Management” on page 4-15. Work Station
User message queue: A user message queue is Additional input fields: Additional input fields
now associated with the job and is transferred for are supported for all local devices. The limit of
any group job. See “Message Handling” on 128 on System/38 has been raised to 256. See
page 2-19. the Data Management book for reductions caused
by certain DDS keywords. The 5294 Display
Date format and separator character: New job Station or Work Station supports 254 fields. The
attributes, DATFMT and DATSEP, describe the 5251 M12 remote Work Station Controller con-
date format and the date separator character. tinues to support 126.
These default to the corresponding system values.

Chapter 2. Changes Needed after Migration 2-61


Work station device naming: The
QDEVNAMING system value controls the name of Utilities and Other Licensed
the default work station device. The special value Programs
*DEVADR from this system value causes the
system to derive a device name from the resource The System/38 licensed program numbers are
name for a device description that is being used so you can cross-reference to the function.
created.
Advanced Printer Function (APF)
New local work station controller function:
5714-UT2: APF is no longer a separate
The local work station controller uses a different
licensed program, but is part of the Application
approach for sending data to the display.
Development Tools on the AS/400 system
Depending on the type of display requested, a
(5763-PW1). No changes exist in the function.
faster response may appear. For example, if the
The APF function continues to operate only to the
display is being completely rewritten, a burst mode
5224 Printer and 5225 Printer.
is used to display the screen.

References: See “Data Description Specifica- Business Graphics Utility (BGU)


tions (DDS)” on page 2-6. 5714-GP1: BGU is a separate licensed
program. No changes exist in the function except
See “Return Codes” on page 2-35. that the chart heading is now part of the chart
format and not in the chart data. New support has
X.25: The status information commands been added.
(DSPCHLSTS and DSPLNKSTS) are not sup-
ported on the AS/400 system. X.25 statistics data Cryptographic Facility (CRP) 5714-CR1
is now gathered by entering the STRPFRMON and the Cryptography RPQ: If you need
command to begin collection of data, and the to migrate the cross-domain key table
ENDPFRMON command to end collection of data (QACRKTBL) from System/38, you need to install
(refer to the online help information for each a master key on the AS/400 system that is equiv-
command). The X.25 data is collected along with alent. This must be done before restoring the key
system data and other communications data by table.
specifying *ALL for the DATA parameter on the
STRPFRMON command. You can access this The DSPCRPHLP command is not supported on
data in a database (see the Work Management the AS/400 system. Help information is available
book), or you can access this data with the IBM from the operational displays.
Performance Tools. For more information on the
Performance Tools program, refer to the Perfor-
Distributed Data Management (DDM)
mance Tools/400 book.
5714-DD1: The separate licensed program on
You can display status of your X.25 configuration System/38 is now part of the OS/400 program.
using the WRKCFGSTS command. To display
packet size and window size, use the Grouping: The grouping function for database
WRKCFGSTS or DSPCTLD command to display query operations has changed internally. Conse-
the X.25 Controller Description. DFTPKTSIZE is quently, both source and target systems must be
the X.25 packet size and DFTWDWSIZE is the of the same type (both the AS/400 systems or
default window size. If the X.25 Controller both System/38s). The following functions may
Description is varied on or active, the negotiated use group by:
packet and window sizes are also displayed as Ÿ OPNQRYF
NEGOTIATED PACKET SIZE and NEGOTIATED Ÿ Any Client Access/400 file transfer download
WINDOW SIZE. Note that these negotiated function
values are for switched virtual circuits and only
available after a call has successfully completed.

2-62 AS/400 System/38 Environment Programming


Request to Download

IBM Personal Computer

Not Valid System/38

AS/400 System

Valid AS/400 System

RV2W323-0

Similarly, if the personal computer is attached to a IDU - CGU (Character Generator Utility)
System/38, the request to download using DDM is
5714-UT1: CGU is no longer a licensed
only valid to a System/38 (it is invalid to an
program, but is part of the Application Develop-
AS/400 system).
ment Tools on the AS/400 system (5763-PW1).
CRT commands: The CRTPF and CRTLF com- 18-by-18 ideographic tables are not supported.
mands can now be used to create files on a
remote system. The PFILE and JFILE DDS
keywords must describe a file which is located on IDU - DFU (Data File Utility) 5714-UT1:
the same system as the file being created. OS/400 DFU exists and is part of the Application
Development Tools.
Changes: Changes to the DDM file definition
may be required on the source system if the target The System/38 DFU product is only supported in
System/38 system is replaced with an AS/400 the System/38 environment. The System/38 envi-
system. See “Interchanging Using DDM” on ronment product is found in the DFU/38 User’s
page 5-2. Guide and Reference.

A significant change has been made in the There are no changes from the System/38 DFU to
OS/400 program for creating DDM files. See “Dis- the System/38 environment DFU.
tributed Data Management (DDM)” on page 4-6.
Library qualifying commands: To use a
System/38 DFU command from an OS/400
Dictionary 5714-DCT: The IBM-supplied command entry function, you must qualify the
System/38 language dictionaries cannot be command with the QSYS38 library. For example,
migrated to the AS/400 system. New dictionaries no option exists on the Programmer Menu to
are available. Information on dictionary com- access System/38 DFU. You must enter the fol-
mands is available in the CL Reference book. lowing type of command in OS/400 syntax.

User created dictionaries will be migrated and can QSYS38/DSNDFUAPP .....


be used by the Office Text editor.
To use a DFU application from an AS/400
The Dictionary product includes all languages (for program, you must also qualify the command such
example, French, English, and German). You can as:
choose to restore only specific dictionaries or to QSYS38/CHGDTA .....
delete those you do not need.

Chapter 2. Changes Needed after Migration 2-63


The CHGDTA and DSPDTA commands are some- IDU - SEU (Source Entry Utility)
what unique in that they exist in both the 5714-UT1: SEU is part of the Application
System/38 environment and the OS/400 program, Development Tools on the AS/400 system
but the function differs. If you enter the CHGDTA (5763-PW1). The System/38 environment com-
or DSPDTA commands in the OS/400 program mands use the new AS/400 support.
expecting the System/38 environment DFU, the
command attempts to use an AS/400 DFU for the System/38 attributes are accepted. See “Object
name you specified. Attributes and Source Types” on page 2-23.

If you enter the DFU commands on a System/38 Enhancements: The find and change functions
environment Command Entry display or in a have been changed to be more compatible with
CLP38 type program, you do not have to use a the Systems Application Architecture function.
library qualifier. The Member List Function and Services displays
have been enhanced. More line commands have
IDU - Query 5714-UT1: OS/400 Query been added including tab columns and copy
exists as a separate licensed program. repeat. Full language prompts and user prompts
are also available.
The System/38 Query product is only supported in
the System/38 environment. The System/38 envi- Intelligent Work Station Support
ronment product is found in the Query/38 User’s
Guide and Reference.
5714-PC1
Devices: The IBM Personal Computer/Display
No changes have been made from the System/38
Station Emulation Card (part 6851206) is not sup-
Query to the System/38 environment Query.
ported by Client Access/400. All other IBM 5250
Library qualifying commands: To use a adapter cards are supported.
System/38 Query command from an OS/400
The Client Access/400 DOS Ext Memory Setup
command entry function, you must qualify the
book contains information on other ways personal
command with the QSYS38 library. For example,
computers may be attached to the AS/400 system.
no option exists on the Programmer Menu to
access System/38 Query. You must enter the fol-
A PC device used with Client Access/400 cannot
lowing type of command in OS/400 syntax:
be used for those functions associated with an
QSYS38/DSNQRYAPP ..... IPL. See “Initial Program Load (IPL)” on
page 2-13.
To use a Query from an OS/400 program, you
must also qualify the command such as: Environment: The Client Access/400 utility oper-
QSYS38/QRYDTA ..... ates in the OS/400 program. You must convert to
OS/400 commands. For example, if you were
If you enter the Query commands on a System/38 using the CPYFRMVDSK command, you must
environment Command Entry display or in a convert to the CPYFRMPCD command. See
CLP38 type program, you do not have to use a Appendix A for the command changes.
library qualifier.
Functions: The function provided by the
EXITPGM parameter on BGNIWSSRV is replaced
IDU - SDA (Screen Design Aid)
by the new network attribute PCSACC.
5714-UT1: SDA is part of the Application
Development Tools on the AS/400 system The transfer function has minor changes to the
(5763-PW1). The System/38 environment com- API on the personal computer. For example, a
mands use a System/38-compatible form of the register pair is used on an open request to
new AS/400 support. address the system name that files are transferred
to or from. The Client Access/400 DOS, OS/2
Different source types are supported. See “Object Technical Reference contains more information.
Attributes and Source Types” on page 2-23.

2-64 AS/400 System/38 Environment Programming


There are differences with the support installed on some function is now included in the OS/400
the PC device. For example: program. For example, the display of disk statis-
tics that was in the DSPPFD command is now
Ÿ The 5250 emulation application programming
supported by the WRKSYSSTS command.
interface (API) cannot be used. Instead the
Work Station Feature API, which has similar
No graphing of output is available.
support, must be used.
Ÿ The PC Support router must be started in a A new capacity planning function is part of the
different sequence and by the AS/400 Performance Tools licensed program. See the
STARTRTR command instead of the command MDLSYS. This includes expert system
BEGINRTR command used on System/38. function to assist in capacity planning.

The Client Access/400 DOS Ext Memory Setup Data: Because the data is machine dependent,
book describes the differences for the PC user. data captured on System/38 cannot be processed
by the OS/400 commands.
DOS requirements: The PC user must be using
DOS level 3.3 or a later release. The database formats that were used by the
PRPQ have been changed. Programs that use
Virtual disks: The Migration Aid converts virtual those formats must be reworked.
disks to folders on the AS/400 system.
Personal Services/38 5714-WP3: The
If you do not use the Migration Aid, you can Using OfficeVision/400 book describes the differ-
migrate the virtual disks as database files and use ences.
the CVTTOFLR command. This command is part
of the Client Access/400 Utility.
Reformat Utility 5714-CV2: The separate
There is no support for virtual diskettes. These licensed program on System/38 has been incorpo-
were created by the File Support Utility PRPQ rated into the OS/400 program.
which was used prior to the System/38 PC
Changes: The printer file name used for the
Support Utility. Virtual diskettes must be copied to
printed output is the name of the source member
PC diskettes or converted to System/38 virtual
instead of QSYSPRT.
disks using the PC Support/38 Utility before
migrating to the AS/400 system.
Card files are no longer supported.

Performance Tools PRPQ 5799-BJK: As on System/38, no syntax check is supplied for


The System/38 Performance Tools PRPQ includes Reformat Utility specifications in SEU. The source
a variety of functions. Many of the data collection type is TXT.
functions have become part of the OS/400
program and are supported by OS/400 com- Enhancements: The following enhancements
mands. See the Work Management book and the have been made, but existing System/38 specifi-
Performance Tools/400 book for more information. cations should operate in the same way.
Ÿ SORTR/FILE in the header specification is
Commands and functions: The PRPQ no now in positions 7 through 12 instead of 7
longer exists. The functions are incorporated in through 10.
the new Advanced Performance Tools Licensed
Program (5763-PT1). The files, displays, and Ÿ Summary sort (SORTRS) and sorting records
commands are different and in some cases the with identical control fields (SORTRE) are now
approach is different. The System/38 commands supported.
do not operate in either the System/38 environ- Ÿ Alternate collating sequence for specific keys
ment or the OS/400 program. is supported.

Several of the command names and functions Ÿ Two hundred fifty six bytes are allowed for the
have changed from the System/38 PRPQ. In key instead of 248, but performance is
general, the level of the function is similar, but degraded occurs if the length exceeds 248.

Chapter 2. Changes Needed after Migration 2-65


Ÿ Comment (*) is allowed in column 7 of the Ÿ 6670 and Displaywriter printer functions are
record specification. not supported.
Ÿ Factor 2 keyword in the record specification is
The support is similar to that which exists in the
supported.
Personal Services/38 Editor as of Release 8 with
the following significant exceptions:
Remote Job Entry (RJE) 5714-RC1:
Ÿ There is no access to OfficeVision/400 func-
RJE is no longer a licensed program, but is part of
tions.
the Communications Utilities on the AS/400
Ÿ No support exists for the 6670 or Displaywriter
system (5763-CM1).
printers.
The CRTRJECFG function has been changed to The Text Management/38 User’s Guide and
account for the changes in device configuration. Reference contains more information.
Two new commands (CRTRJEBSCF and
CRTRJECMNF) exist and must be used to estab-
lish BSC or LU-1 RJE. Languages
Text Management 5714-WP2: System/38 For some languages, the name of the spooled file
Text Management is now part of System/38 Utili- used for the compilation printed output will be the
ties (5738-DB1). The documents created using source member name specified on the create
these functions can be migrated to command and not QSYSPRT. This assists in
OfficeVision/400 documents with some changes in determining which printing belongs to what source.
the document and the way in which you work with This may affect some applications that are
the file. On System/38, the type of printer was dependent on the QSYSPRT name. Refer to the
specified (such as *5219). On the AS/400 system, individual languages.
the actual device name is given (such as P2). For
more information on the differences between The command definition source for both the
System/38 Text Management and Office, System/38 environment and OS/400
see the Using OfficeVision/400 Word Processing, CRTXXXPGM commands has been changed to
SH21-0701 book. For more information on take advantage of the product library support.
migrating documents to Office, see the System/38 This avoids the requirement of having the lan-
to AS/400 Migration Aid User’s Guide and guage libraries (for example, QRPG) on the library
Reference. list. See “Library” on page 2-16.

Text Management/38 on the AS/400 system The compilation printed output format has
allows users to create, store, retrieve, revise, changed somewhat for all languages. The mes-
check document spelling, provide synonyms and sages produced by the System/38 environment
automatic hyphenation, and print documents. The products are shown in OS/400 form. See “Sup-
user may access the AS/400 database interac- ported programs” on page 2-12 for more informa-
tively from the Text Management/38 program at tion about supported programs.
edit time or at print time to include database infor-
The System/38 licensed program numbers are
mation in a text document. In addition, forms may
used so you can relate to the function.
be created and filled in on the display or stored in
the system for later use.
BASIC 5714-BA1
Text Management/38 on the AS/400 system sup-
plies most of the editing functions supplied with Interactive sessions: The BASIC interactive
System/38 Personal Services/38, 5714-WP3. session differs from System/38 as follows:
Exceptions are listed below: Ÿ Operational and color changes have been
Ÿ Office functions, such as sending a document made on the Command Entry and Help dis-
or filing a document in the document library, plays.
are not supported.

2-66 AS/400 System/38 Environment Programming


Ÿ Help information is available in the System/38 version (for example, CPYSPLF) may need to be
environment, but displays examples of OS/400 changed.
syntax (LIB/OBJ).
Unsupported functions and files: The 6346
Printer output: The compilation printed output and 9346 Tape Units do not support read back-
appears in OS/400 syntax (LIB/OBJ). wards.

Printer spooled file names have changed: Card files are not supported.
Ÿ QBASESSION is used for output created by
the OFF LIST command. PASCAL RPQ 5799-CPK: PASCAL was a
Ÿ QBASDMP is used for the file created by a PRPQ on System/38 and is a licensed program on
call to QBADTREE. the AS/400 system (5763-PS1). No support for
Ÿ The source member is used by the COMPILE PASCAL exists in the System/38 environment. All
BASIC and CRTBASPGM commands. System/38 PASCAL program objects must be re-
Ÿ QBAWRKSPC is used for the spooled file created from source on the AS/400 system
created by the COMPILE command if no (restore cannot be used).
name is specified.
Ÿ QBALISTP is used for the spooled file created PL/I 5714-PLI: The AS/400 licensed program
by the LISTP command. is 5763-PL1.

DDM: New support allows DDM access to CICS Card devices are not supported.
direct files.
The name of the spooled file used for the compila-
Defaults: The format of the date used when the tion printed output is the source member specified
program is run is in the format described in the job on CRTPLIPGM.
value (set by the job description or CHGJOB)
rather than the system value. If the defaults are RPG 5714-RG1: The AS/400 licensed
taken for the job value, the system value deter- program is 5763-RG1. RPG supports both an
mines the format. Therefore, unless you have AS/400 system version and a System/38 environ-
made a specific change, you will not see any dif- ment version. Using the System/38 environment
ferences. support, you can update programs migrated from
System/38 or create new System/38 environment
COBOL 5714-CB1 programs.

New support: The AS/400 licensed program is The System/38 environment RPG is different from
5763-CB1. It supports two levels. the System/38 RPG in these ways:
Ÿ The System/38 COBOL is ANSI 74 level. The Ÿ The source member name specified on the
same level is available in the System/38 envi- create command is used for the spooled file
ronment. name. System/38 programs that read a
spooled version may need to be changed.
Ÿ The AS/400 COBOL is ANSI 85 intermediate
level. Differences when converting from the Ÿ The format of the date used when the
ANSI 74 level are described in Chapter 4. program is run is in the format described in
the job value (set by the job description or
The format of the date used when the program is CHGJOB) rather than the system value. If the
run is in the format described in the job value (set defaults are taken for the job value, the
by the job description or CHGJOB) rather than the system value determines the format. There-
system value. If the defaults are taken for the job fore, unless you have made a specific change,
value, the system value determines the format. you will not see any differences.
Therefore, unless you have made a specific
Ÿ When IGNDECERR(*YES) is specified in the
change, you will not see any differences.
complier option of CRTRPGPGM and decimal
The source member name for the spooled file is data that is not valid is involved in an arith-
used. System/38 programs which read a spooled metic calculation, the result may be different

Chapter 2. Changes Needed after Migration 2-67


between System/38 environment RPG and To convert using source and re-compilation, you
System/38 RPG. must have all the source members that are used
by a /COPY statement.
Ÿ Card devices are no longer supported. See
the RPG/400 Reference book for specific
Differences between the System/38 environment
information.
RPG and the OS/400 support are described in
Chapter 4.

2-68 AS/400 System/38 Environment Programming


Chapter 3. Converting from the System/38 Environment to
the OS/400 Program
This chapter assumes that you have already made In the following discussion, it is assumed that the
the migration step to the OS/400 program and are functions are correctly operating in the System/38
using the System/38 environment (for example, environment. This means that you have made
running System/38 programs). If you are going to any changes necessary to successfully migrate.
convert directly from System/38 to the OS/400
program, you must also consider the differences
outlined in Chapter 1 and Chapter 2. CL Programs and Job Streams
It is assumed that you are operating the system There is no real difference in conversion for job
using the OS/400 program. streams versus CL programs. However, if your
Note: It is important to understand the difference job streams are entered from diskette or some
between running programs in the System/38 envi- other form other than database members, you
ronment and operating the system in the OS/400 must access the source and convert it.
program. Running a program in the System/38
You must re-create the CL programs. You may
environment means that the program was written
need to make modifications to some of the source
using System/38 syntax. Operating the system
before you can re-create the programs.
includes such things as using OS/400 syntax to
run the system, using OS/400 displays, and han-
Converting CL source: The CVTCLSRC
dling messages. To convert fully to the OS/400
command is designed to assist you in converting
program, you must convert your programs, job
CL source. It requires your source to be in data-
streams, and files that are operating in the
base source members. CVTCLSRC reads the
System/38 environment.
commands in a source member and writes the
converted commands to another source member
(it does not re-create the CL program). A single
Overview member, a list of members, or all members in a
file can be converted on each use of CVTCLSRC.
Normally, you convert gradually to the OS/400
The CVTCLSRC command converts the source
program. It is not necessary that you convert all
statements for the simple types of changes
at once or that you convert everything. The
including:
advantages of making the conversion are:
Ÿ Conversion of qualified names whether they
Ÿ Less confusion in switching back and forth
are literals or variables. For example:
between System/38 and AS/400 syntax,
command names, and function keys System/38 AS/400
Ÿ The ability to take advantage of OS/400 func- Environment Conversion
tion without embedding it in System/38 envi- PGM(PGMX.LIBY) PGM(LIBY/PGMX)
ronment programs PGM(&PGM.&LIB) PGM(&LIB/&PGM)
Note: There is no significant performance advan- Ÿ Conversion of command name, keyword
tage in converting to the OS/400 program. name, and keyword value changes. For
example:
You need to consider the following items:
System/38 AS/400
Ÿ Control language (CL) programs and job Environment Conversion
streams DSPJOBQ WRKJOBQ
Ÿ Files and data management changes OUTPUT(*LIST) OUTPUT(*PRINT)
Ÿ High-level languages PUBAUT(*OPER) AUT(*USE)
Ÿ Data file utility (DFU) and Query
Ÿ Conversion of comments. Different rules
govern what is a valid comment. See “CL” on
page 4-2.

 Copyright IBM Corp. 1994 3-1


If the original source statement width can be com- variables. For example, if you specified the fol-
pletely displayed on the SEU display, the re- lowing, the source would convert without error.
created source also fits on the SEU display. CHGVAR &TYPE '\LIST'
Thus, if you normally see your complete source DSPOUTQ QPRINT OUTPUT(&TYPE)
statements without using windowing in SEU, the
re-created source is shown in the same way. The program would fail, however, when it is run
because *LIST is no longer a valid value for the
If the CVTCLSRC command makes a change to a OUTPUT parameter on the OS/400 WRKOUTQ
command, it always inserts keywords for the command.
parameters you have specified. Consequently,
you may see more lines of source created than Other functions you need to review are the use of
your existing source. If a source statement is the QCAEXEC or QCACHECK programs. These
changed, it will appear formatted in a manner functions have been replaced by QCMDEXC and
similar to the way SEU returns a prompted QCMDCHK. Because you pass the entire
command. If you normally indent for DO loops, command as a parameter to these programs, you
the CVTCLSRC command output will appear dif- need to ensure that the command is in OS/400
ferently if a change has occurred. If a statement syntax if you change to QCMDEXC and
is not changed, it is shown as it originally was with QCMDCHK.
the same definition.
Note: It is not required that you change from the
CVTCLSRC (or a manual conversion of just use of QCAEXEC and QCACHECK.
command changes) cannot do a complete conver-
sion because some programs are written using You can have an OS/400 program that issues a
call to a System/38 environment program, or you
can use QCAEXEC as follows:

CL Program Type=CLP

DLTPGM LIBB/PGMA

PGMX Type=XXX
or XXX38
CHGVAR &CMD 'CALL PGMX.LIBY'
CALL QCAEXEC PARM(&CMD 500)

RV2W324-0

In this case, the OS/400 CL program uses a call CVTCLSRC does not convert qualified field names
to QCAEXEC even though it may be calling an such as those found in the OPNQRYF command
OS/400 program. Thus, if you have a complex for the parameters QRYSLT, GRPSLT and
System/38 command that is used in QCAEXEC, MAPFLD.
you can continue to use the same specifications in
most cases. Minor changes exist relative to the number of
parameters that can be entered positionally
Note: CVTCLSRC does not convert the names
(without keywords) for some OS/400 commands.
of the programs QCAEXEC and QCACHECK nor
This may prevent a few System/38 commands
the values in the parameters passed. You must
from being properly converted by CVTCLSRC.
manually convert these to QCMDEXC and
QCMDCHK. Commands: For the list of differences by
command, see Appendix A.
CVTCLSRC does not convert the CRT and CHG
device configuration commands. You must Commands using the System/38 environment
convert these manually to the new commands DFU and Query (for example, CHGDTA and
required on the AS/400 system.

3-2 AS/400 System/38 Environment Programming


QRYDTA) must be fully qualified (for example, Ÿ LSTCMDUSG
QSYS38/CHGDTA) if you intend to use the Ÿ SCNSRC in QUSRTOOL, as described in
System/38 environment version. “Files and Data Management Changes”

Parameters: The values of the defaults are


changed for some parameters. The most signif- Files and Data Management
icant changes are: Changes
Ÿ The default for create commands changes
from QGPL to the current library. If the user Not all files need to be converted. When files are
profile has *CRTDFT as the current library, no migrated to the AS/400 system that were not
change is needed (QGPL is be used). If, created directly from source, they are marked as
however, you change the user profile value, OS/400 files (for example, PF). If a file is created
you must consider the following: using CRTDUPOBJ, the DSPOBJD information of
the new file does not reflect the original source file
– The effect on the CRT commands that do
or member. However, the file type reflects the
not specify a library.
type (such as PF38) from which it was duplicated.
– The effect on the library list caused by the
current library. See the discussion in You can use the OS/400 CHG commands against
Chapter 1. either an OS/400 program or a System/38 file.
For example, you might want to specify new print
Ÿ The following SBMJOB defaults are changed:
file attributes that are only available using the
– The JOBD parameter uses *USRPRF as a OS/400 CHGPRTF command even though the file
default instead of QBATCH. type is PRTF38.
– The INLLIBL parameter uses *CURRENT
A System/38 program can access either a
as a default instead of *JOBD.
System/38 or an OS/400 file. Similarly, an
– The OUTQ parameter uses *CURRENT OS/400 program can access either a System/38
as a default instead of *JOBD. or OS/400 file.
– The RTGDTA parameter uses QCMDB as
Many of the file conversions require only a simple
a default instead of QCMD38. (The
re-creation from the existing source. In some
System/38 default was *JOBD, but the
cases, source changes are required.
default in the System/38 environment is
QCMD38.) No system support command exists for converting
files. A command is supplied in the QUSRTOOL
The CVTCLSRC command will not insert values to
library to assist in conversion of DDS source. See
make the program identical to the System/38 envi-
the tool CVTDDSSRC command. It is modeled
ronment. In the example that follows, the new
after the CVTCLSRC command. CVTDDSSRC
defaults for the OS/400 SBMJOB command will be
converts the DDS source to a different file. You
used.
must issue the create command because OS/400
System/38 syntax is assumed.
Environment Source SBMJOB RQSDTA('CALL PGMA')
Converted Source SBMJOB RQSDTA('CALL PGMA') Physical files: Physical files generally have little
If the RQSDTA had been ('CALL PGMA.LIBB'), conversion required to make them OS/400 files
the batch job will fail because OS/400 syntax is (consider the change to FIFO sequencing dis-
assumed. Since a period is a valid character in a cussed in Chapter 4, however). In general, you
name, the system would try to call the program should be looking for the use of qualified names in
'*LIBL/PGMA.LIBB'. DDS. Appendix B has a list of the keywords that
allow qualified names.
To properly convert, you need to manually inspect
each CRT and SBMJOB command. To assist in The OS/400 program does prevent a physical file
finding these commands, you could use one of the from being created that used the FORMAT
following commands: keyword to specify a format in a logical file.

Chapter 3. Converting from the System/38 Environment to the OS/400 Program 3-3
Assume you want to manually convert the DDS OS/400 program. See “Return Codes” on
source for a typical physical file. You would page 2-35 for the changes from the System/38 to
normally use the Programmer Menu or PDM and the System/38 environment.
specify the OS/400 type of PF instead of the
System/38 environment type of PF38. You could For qualified name use, see the discussion under
use the SEU scan function to scan the source “Physical files” on page 3-3.
looking for the use of a period as the separator for
qualified names. For example, assume you have Printer files: No changes have been made to
used the REF keyword as: the return codes used between the System/38
environment and the OS/400 program. See
REF(FILEX.LIBY)
“Return Codes” on page 2-35 for the changes
from the System/38 to the System/38 environ-
You need to change this to:
ment.
REF(LIBY/FILEX)
For qualified name use, see the discussion under
If you had used the unqualified form or the “Physical files” on page 3-3.
unqualified form with a format name, you would
not need to change. For example: Communication files: The System/38 forms of
REF(FILEX) BSCF, CMNF, and MXDF are not supported in the
REF(FILEX FORMAT1) OS/400 program. The files must be converted to
the new ICF file. For the most part, the DDS con-
would not need to be changed. version effort is the same as it is for a database
file.
Instead of using SEU to scan individual source
members, you could have a scan program look for Return codes: Return code differences may
periods in all of the DDS source. A command is cause differences for the programs that are using
supplied in the QUSRTOOL library for general the file. In the System/38 environment, the return
source scanning. See the TAA tool SCNSRC codes are mapped to the definition used on
command. System/38. In the OS/400 program, new return
Note: Scanning for a period finds the qualified codes exist and changes to the old codes have
names that must be changed, but may also find been made.
decimal points (for example, in edit words and
comments) that should not be changed. See “Return Codes” on page 4-13 and “Data
Description Specifications (DDS)” on page 4-4.
As on System/38, whenever you prepare to
replace a physical file you must remove the
dependencies (for example, logical files and jour- Languages
naling) and copy the data in the existing file.
In general, most of the programs convert to the
Logical files: For qualified name use, see the OS/400 program without the need to make any
discussion under “Physical files” on page 3-3. For source code changes. For most programs, the
ACCPTH keyword change, see the discussion on program need only be re-created using the
“Data Description Specifications (DDS)” on OS/400 CRT command. An automated conver-
page 4-4. sion of high-level language source programs is not
supported. See “Mass Changes of Source Types”
Display files: The use of the DSPSIZ keyword on page 3-5 for a discussion of mass changes of
with types *DS1 and *DS2 is not supported. source types.
These are for the System/38 console (16-by-64)
and (12-by-80) display that is not supported on the COBOL programs may require some changes to
AS/400 system. convert from the ANSI 74 version to the ANSI 85
intermediate level.
The RTGXXX keywords are not supported.
To convert fully to an OS/400 program, look for
No changes have been made to the return codes calls to QCAEXEC and QCACHECK, and convert
used between the System/38 environment and the

3-4 AS/400 System/38 Environment Programming


these to QCMDEXC and QCMDCHK, respectively. Ÿ Batch creation commands
If you are using a qualified name syntax in the Ÿ Validity checking
command being passed as a parameter, change Ÿ Verify mode
the syntax.

It is not required that you change from the use of Query


QCAEXEC and QCACHECK. You can have an
OS/400 program that issues a call to a System/38 Converting from the System/38 environment
environment program or, as stated for CL pro- Query to the AS/400 Query is not supported. You
grams, you can use QCAEXEC to call an OS/400 must create a new AS/400 Query manually.
program.
Not all functions in the System/38 environment
A typical use for QCAEXEC in a high-level lan- Query are included in the AS/400 Query.
guage program is to issue an OVRDBF command Depending on your use of Query, you may want to
so that the file can be opened multiple times keep the System/38 environment version. A list of
within the same program using different open differences is in Chapter 4. The following are a
parameters (for example, a different member). If few of the significant items that are not included in
you are using a qualified name, you must convert the AS/400 Query:
to OS/400 syntax if you convert to QCMDEXC.
Ÿ Tables
See also the comments described in processing of Ÿ Retrieving of source
message text in the “CL” on page 4-2. Ÿ Batch creation commands
Ÿ Record sampling
If your language supports and you use qualified Ÿ DDM support
names, convert these (for example, COBOL copy
statements and the RPG /COPY function).
Mass Changes of Source Types
Data File Utility (DFU) For some of your source files, you may prefer to
change the source types of all or specific source
Converting from the System/38 environment data types and then try to create the objects without
file utility (DFU) to the AS/400 Application Devel- making any preliminary changes to the source
opment Tools DFU is not supported. You must statements. For example, many high-level lan-
create a new AS/400 DFU manually. guage programs require only a re-create with the
proper source type. There are two ways to
Not all functions in the System/38 environment achieve this:
DFU are included in the AS/400 DFU. Depending Ÿ SEU and PDM allow a display of member lists
on your use of DFU, you may need to keep the where you can change the source type manu-
System/38 environment version. A list of differ- ally.
ences is in Chapter 4. The following are a few of
the significant items that are not included in the Ÿ A QUSRTOOL command exists named
AS/400 DFU: CHGSRCTYP that allows a batch method of
changing all or specified source types in a file.
Ÿ Retrieving of source

Chapter 3. Converting from the System/38 Environment to the OS/400 Program 3-5
3-6 AS/400 System/38 Environment Programming
Chapter 4. Changes Needed to Convert to the OS/400
Program
This chapter describes the changes needed to Display and work commands: Most DSP com-
convert from the System/38 environment to the mands that allow changes have been changed to
OS/400 environment support; you should have the verb WRK. Other WRK commands exist to
already migrated to the System/38 environment. If allow a set of functions against a particular object
you are converting directly to the OS/400 program, type (for example, WRKJOBD).
also see Chapter 1 and Chapter 2.
The DSP and WRK commands that support the
No hardware changes must be made between the OUTPUT parameter have changed to use a value
System/38 environment and the OS/400 program. *PRINT instead of *LIST.

Not all new programming functions are described. Outfile support: Commands which support an
In some cases, new OS/400 functions are men- outfile have changed from OUTPUT(*NONE) to
tioned to assist in your understanding. Specific OUTPUT(*OUTFILE).
command changes are described in Appendix A.
These affect many of the OS/400 functions dis- Authority: The commands using the keyword
cussed in the following pages. PUBAUT have been changed. The new keyword
is AUT and the values have changed as follows:
For some functions (for example, recovery and
System/38
Client Access/400), no special System/38 environ-
Environment AS/400 System
ment support exists. This means the commands
*NORMAL *CHANGE
and functions are only in QSYS. If this is the
*OPER *USE
case, the section in this chapter is described as
*NONE *EXCLUDE
the OS/400 program only.
The same values also exist on the
GRT/RVKOBJAUT commands.
General
Calls: Any calls to QCAEXEC, QCACHECK, or
Several changes have been made to commands QCL should be changed to QCMDEXC,
where different verbs are used, keyword names QCMDCHK, and QCMD. The syntax of the
have changed, or keyword values have changed. parameters being entered to QCMDEXC and
Appendix A lists the changes by command. Most QCMDCHK must adhere to the OS/400 program.
of these changes are not described in this The calls can be made from CL or any high-level
chapter. However, the highlights of the changes language programs. See Chapter 3 for a dis-
are as follows: cussion of when it is not necessary to change.

Verbs: Some command verbs have been


changed. Most System/38 verbs of STR, BGN, Operating System/400 Program
DFN, and ENT have been standardized to STR.
Most System/38 verbs of END, TRM, CNL, and
STP have been standardized to END. The LST Access Paths: With the exception of the
verb becomes PRT. change in the default sequence described in the
“Database” on page 4-3, no changes are neces-
Current library: The CRT commands use the sary from the System/38 environment. Access
defaults to create the object into the current library paths do not need to be re-created to operate with
(*CURLIB). (Most System/38 commands used OS/400 programs. If the file is specified as
QGPL as the default.) The current library concept System/38, re-creating the file as the OS/400
allows you to designate a library for created program results in a rebuilding any access path
objects that do not specifically describe a library. unless access path sharing results.

 Copyright IBM Corp. 1994 4-1


Address regeneration: Address regener- /\AA where the / begins in position 1 is always
ation is performed automatically at each IPL. See treated as a comment (assuming the pre-
“Initial Program Load (IPL)” on page 2-13. vious line did not have a continuation
character).
Alerts: Alerts can be displayed on the AS/400 In the following examples a 'b' is used to repre-
system with the new WRKALR command. sent a blank. A valid comment must be one of the
following:
Support to define a sphere of control and to
/\b A blank following the /*
display the status (see the WRKSOC and
b/\ A blank before the /*
DSPSDCSTS commands) has been added.
/\\ An * following the /*
The Network and Systems Management book A/\b A blank follows the /*
contains more information. See also “Network /\n If the /* begins in position 1, any character
Attributes” on page 2-22 and “Message Handling” can follow the /*. This assumes that the
on page 2-19. previous line did not have a continuation
character.
APPC: No changes are needed to the device The following comment is not valid:
configuration requirements. To use the new
APPN support, you must change to APPN(*YES). A/\A No blank prior to or after the /*

See also “Data Description Specifications (DDS)” The division operator ‘/’, must be preceded by a
on page 4-4. blank if the first operator is not a constant.
Valid 1/2
Auxiliary Storage Pools (ASP): Available &A /2
in the OS/400 program only. All specifications are &A / 2
made using DST. &A /&B
Not valid &A/2 (No blank between
BSC: The BSC38 file type is not supported. the variable and the /)
You must convert to the ICF file type. See “Data
Description Specifications (DDS)” on page 4-4. OPNQRYF always requires a preceding blank
before the division or remainder operator.
RJE and 3270 device emulation continue to use a
BSC file. Data areas: Commands which work with data
areas (DCLDTAARA, SNDDTAARA, and
RCVDTAARA) are not supported in the OS/400
Card: Card devices and card files are not sup- program. You must convert to the CHGDTAARA
ported on the AS/400 system.
and RTVDTAARA commands.

Chart Format: No changes from the Convert command: The CVTCLSRC command
System/38 environment. converts most of the typical kinds of changes such
as those described in Chapter 3 for commands,
Checksums: Available in the OS/400 keywords, and values. Appendix A lists the differ-
program only. All specifications are made using ences by command.
DST.
Programs: The CL source must adhere to the
OS/400 syntax for qualified names and comments.
CL
When a replacement variable is used to substitute
Syntax: The syntax of a valid comment has
into a keyword of type *NAME, the content of the
changed to avoid conflicts with the new slash sep-
variable is not folded to uppercase. For example,
arator for qualified names. The beginning of a
if you did the following:
comment is specified by a /*. It must be preceded
or followed by a blank. Two exceptions are made: CHGVAR &A 'abcde'
CALL PGM(&A)
/\\... is always treated as a comment.

4-2 AS/400 System/38 Environment Programming


The PGM keyword is specified as a name type in “RA/DHCF” on page 4-13
command definition. Therefore, the program “Return Codes” on page 4-13
name to be searched for would be the lowercase “SNADS” on page 4-14
name on the AS/400 system. This change is “X.25” on page 4-16
required to allow for the expanded name rules.
Lowercase names are now valid, but if you are Communications Configuration: Avail-
converting from the System/38 environment you able in the OS/400 program only.
probably want an uppercase name. See “Naming”
on page 4-10.
Communications File: The CMNF38 is not
supported in the OS/400 program. See “Data
The maximum size of a character variable has
Description Specifications (DDS)” on page 4-4.
been increased from 2000 to 4096.
RJE and 3270 device emulation continue to use a
Command changes are described in Appendix A.
communication file.
Convert date: The CVTDAT command allows a
new option of *JOB on several parameters. This Console: No changes from the System/38
allows access to the job date format and separator environment.
character, as described in “Work Management” on
page 2-61. Copy File: Other than the command changes
described in Appendix A, no changes from the
Class Object: Other than the command System/38 environment are needed.
changes described in Appendix A, no changes
are required from the System/38 environment. Cross-Reference: In the QAFDPRT outfile,
the field PRDRAW contains the System/38 envi-
Command Definition: Appendix A ronment version of the DRAWER parameter value,
describes the command changes. The command and the field PRDREN contains the OS/400
definitions have a change in the ordering of version of the DRAWER value. Change
prompts for qualified names. In general, this will PRDRAW references to PRDREN.
probably not require a change. See the dis-
cussion in Chapter 2. Customer Support: Available in the OS/400
program only.
Commitment Control: Other than the
command changes described in Appendix A, no Data Area: Changes to data area commands
changes from the System/38 environment are are discussed in “CL” on page 4-2. Other
needed. command changes are described in Appendix A.

Communications: Specific communications Database


topics are covered elsewhere in this book. See
the sections on: DDS: DDS use of qualified names must adhere
“Alerts” on page 4-2 to OS/400 syntax rules.
“APPC” on page 4-2
DBCS types: Two new DDS data types are sup-
“Data Description Specifications (DDS)” on
ported for physical and logical files in the OS/400
page 4-4
program for DBCS systems. The new data types
“Emulation (3270)” on page 4-7
are E (DBCS Either) and J (DBCS Only). The
“Exchange ID” on page 4-7
existing DBCS data type O (DBCS Open) is still
“LU-1” on page 4-10
supported. The REFSHIFT keyword is not
“Object Distribution” on page 4-11
allowed on the E or J data types nor is it allowed
“Pass-Through” on page 4-11
on the O data type in the OS/400 program.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-3


Concatenation of DBCS fields is allowed in the Ÿ Both files specify FIFO.
OS/400 program. The resulting data type is as Ÿ Both files specify LIFO.
follows:
Note: For an OS/400 file, the default is to share
Fields Result an access path with any file (LIFO or FIFO) with
O, J or E with O, E, A, S, P, B → O (DBCS-Open) matching keys or partial keys. Consequently,
J with J → J (DBCS-Either) some of the AS/400 files that you create may
O, J, E, A ,S ,P ,B, or H with H → H (Hexadecimal)
share an access path with a System/38 file.

Because of this change, the function of explicitly


OPNQRYF: OPNQRYF use of qualified names shared access paths is being dropped. This also
must adhere to OS/400 syntax rules. results in the removal of the ACCPTHMBR param-
eter on the CRTLF and ADDLFM commands. The
The OPNQRYF division operator ‘/’ and the ACCPTHMBR parameter is ignored if the file is
remainder operator ‘//’ must be preceded by a created or if the member is added in the
leading blank. System/38 environment.
OPNQRYF supports the %DIGITS function for If you re-create files using DDS source, you must
converting decimal data directly to character be aware of the type of sequence you require and
format. The System/38 solution requires two specify FIFO if appropriate. In general, you
steps (convert to zone and then convert to char- should change your DDS to FIFO if you have
acter). duplicate keys and the order of the duplicates is
important.
Sharing: On System/38, implicit sharing is the
default for access path sharing, but constraints For unique keyed files, the use of FIFO or LIFO is
exist, such as the makeup of the keys and meaningless.
selection specifications.
To assist in your conversion, the FIFO keyword
A change has been made on the AS/400 system can be used in System/38 environment source. A
to allow more situations where implicit access path warning message occurs because FIFO is
sharing can occur. To achieve this, the default for assumed for System/38 files.
access path sequencing has been changed.
In the OS/400 program, the ACCPTH DDS
On System/38, the files default to run in a first in, keyword is replaced with the REFACCPTH
first out (FIFO) sequence. When a file is con- keyword. REFACCPTH functions the same as
verted from System/38, FIFO is also assumed. If ACCPTH in the System/38 environment, except
you create a System/38 file on the AS/400 system that some restrictions have been lifted.
(for example, type LF38), it also assumes a
default of FIFO sequence. New commands: The new command POSDBF
allows setting the file cursor position to the start or
For file types in the AS/400 system, the default is end of file. This is of value when using
no specific sequence. A new keyword exists for OPNQRYF and you want to reprocess the file with
FIFO sequence. multiple programs or read backwards from the end
of the file.
For example, on System/38 if you had an access
path with the key on DEPT and EMPLOYEE and See the new CHKRCDLCK command described in
no selection specifications, a new logical file would “Group Jobs” on page 4-7.
not share this access path if its key requested
only DEPT. On the AS/400 system, the new file
shares the access path. This assumes that no Data Description Specifications (DDS)
selection specifications exist on either file (or is
Database functions: For database files, the
the same or DYNSLT is used) and one of the fol-
ACCPTH keyword has been replaced and new
lowing:
data types and functions have been defined for
Ÿ The new file takes the default. DBCS fields. See “Database” on page 4-3.

4-4 AS/400 System/38 Environment Programming


Qualified names: Qualified names must be in Ÿ On System/38, a record format had to contain
OS/400 syntax. Appendix B has the list of the at least a field or the EVOKE keyword. This
keywords that support qualified names. is no longer a restriction in ICFF.
Ÿ Additional error checking is performed on the
ICF: The BSCF38, CMNF38, and MXDF38 types
source.
are not supported. For BSCF38 and CMNF38, a
conversion must be made to the ICFF type. For Ÿ A record format name in an ICF file cannot
MXDF38, a conversion must be made to either or begin with ‘$$’.
both DSPF or ICFF types. For the most part, the
DDS conversion effort is minimal. With the excep- Check for valid name: CHECK(VN) checks for a
tion of a few keywords, the keywords used in the valid name using the System/38 syntax rules. A
System/38 file types are valid in the ICFF file type. new keyword, CHECK(VNE), allows checking
against the extended names.
The changes needed are:
Editing date: The EDTCDE keyword Y value
Ÿ You must be sure that your program is han-
uses the date format and date separator from the
dling the return codes used by an ICFF file.
job attributes rather than from the system value. If
This is not a change to your DDS specifica-
you do not change the job attribute, the function
tions, but may be a change to your program.
operates like it did in the System/38 environment.
See “Return Codes” on page 4-13.
Ÿ The following keywords have been renamed: Help support: New keywords define help infor-
mation provided externally to the user application.
System/38
When the Help key is pressed, the system deter-
Environment AS/400 System
mines the action to perform based on the
RCVCFM RCVCONFIRM
keywords specified.
TRNRND RCVTRNRND
Ÿ The RTGXXX keywords are not supported for DDS files containing the HELP keyword are not
OS/400 files. changed if they are re-created (control is passed
back to the program when the key is pressed).
Most of the information from these keywords
can be found in the I/O feedback area. The new keywords are specified to control the
Ÿ The new ICFF file type does not support the action that occurs when the Help key is pressed
System/38 mixed file function of allowing a for a particular format. A file can have some
display device and a communications device formats with the new support and some that use
in the same file. Some uses of this support the System/38 support (return to the program).
can be converted to a display file and an ICFF
files. If your application is performing a When the new support is used, you can control
common wait on either device having input, which help information is shown based on where
you should consider the continued use of the the cursor is positioned on the display when the
mixed file. Help key is pressed. Keywords are used to define
help areas on the display (a beginning and ending
Ÿ For an APPC application, there is no default row or column). A default area can also be
positive response to a received confirm described.
request. Use the new RSPCONFIRM
keyword to positively respond to the If you have a subfile, the HELP keywords must be
CONFIRM request if needed. specified on the subfile control record. Multiple
Ÿ Device entries are added with separate com- columns can be defined on the display so that if
mands and are not on the CRTICFF the Help key is pressed within one of the columns
command. The support on the AS/400 (such as in the subfile record), the appropriate
system is similar to the approach used with help information can be displayed.
the mixed file on System/38. The
ADDICFDEVE command is used to add the When the new support is used, your application
device entry after the file is created. program is not aware that the user has requested

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-5


help. The function is performed by work station Device Files: Refer to “Files” on page 4-11,
data management. “Display Files” and “Data Description Specifica-
tions (DDS)” on page 4-4 for the specific device
When the user requests the new help function, the file.
current display is saved and the help information
is shown. When the help function is ended by the
Diskette
user, the original display is restored as well as the
cursor (the cursor is restored to the location where
Parameters and commands: The LOC param-
it was when the Help key was pressed). You
eter is not supported in the OS/400 commands
have a choice of how to create user-defined help
(no magazine exists).
information. This can be in the form of:
Ÿ One or more display formats. The format can CPYFRMDKT and CPYTODKT have a different
be in the same or a different display file. positional parameter order.
When help information is displayed and the
paging keys are pressed, additional help infor- The OS/400 commands allow the support of mul-
mation can be displayed. The information is tiple diskette devices.
dependent on DDS keywords and the help
specifications. DUPDKT supports an input and output diskette
being different and also allows multiple copies.
Ÿ A document. A single document can contain
help information for many functions. Labels
Display Commands: See “Display
within the document identify sections which
Commands” on page 2-11.
can be directly accessed by DDS keyword
specifications.
Display Files: See “Data Description Specifi-
The DDS Reference book and the Application cations (DDS)” on page 4-4.
Display Programming book contain more infor-
mation.
Display Format: No changes from the
Display file function: Some enhancements have System/38 environment.
been made to display file function; see “Data
Description Specifications (DDS)” on page 6-4. Distributed Data Management (DDM)

The routing keywords are not allowed. See Replacing a System/38 with an AS/400
Appendix A for a list of these keywords. system: A change may be required for the
systems communicating with a System/38 if the
Data Queue: Other than the command System/38 is replaced with an AS/400 system.
changes described in Appendix A, no changes This is discussed in Chapter 5.
from the System/38 environment are required.
Remote location name: The DDM commands
support a new parameter RMTLOCNAME. See
Debug: Other than the command changes “Remote Location Name (RMTLOCNAME)” on
described in Appendix A, no changes are required page 2-29.
from the System/38 environment. “Debug” on
page 2-7 describes the change of authority for New parameters are required for the local location
what is required to debug a program. The default name and the remote network ID.
for the program create commands is *CHANGE
which allows debugging. To prevent debugging Refer to the Distributed Data Management book
specify *USE. and the Communications Configuration book for a
description of this support.
Dedicated Service Tools (DST): No
changes from the System/38 environment. When a DDM file is created in the System/38
environment or migrated from System/38, the
RMTLOCNAME function defaults to *DEVD. In
Device Configuration: Available in the
OS/400 program only.

4-6 AS/400 System/38 Environment Programming


the OS/400 program, the CRTDDMF command Group Jobs: The new Check Record Lock
requires that you enter a name for the (CHKRCDLCK) command can be used to deter-
RMTLOCNAME parameter. However, the mine if any record locks exist in the current job.
CHGDDMF command allows the use of This can be used to prevent transferring to a dif-
RMTLOCNAME(*DEVD). This allows you to use ferent group job in the middle of a complex trans-
the WRKDDMF command to display a list of the action.
DDM files created in either environment and still
use the default for RMTLOCNAME. Other than the command changes described in
Appendix A, no changes are required from the
Database files: A database file can be created, System/38 environment.
renamed, or deleted on a remote system.
Help: IBM displays that provide help text
MODE value: The MODE value of *FIRST is not
remain the same in the OS/400 program.
supported in the OS/400 command. If the value is
IBM-supplied OS/400 commands provide help
specified on the System/38 environment, it is
information. User written help functions for appli-
translated to the new *NETATR special value.
cation are now supported.

Edit Descriptions: Other than the command See “Data Description Specifications (DDS)” on
changes described in Appendix A, no changes page 4-4.
are required from the System/38 environment.
IBM-Supplied Programs: The System/38
Emulation (3270): The 3270 Pass-Through environment programs are replaced by the
function is standard in the OS/400 program for the OS/400 programs as shown in Figure 4-1. The
STREML3270 command to a remotely attached System/38 environment programs (for example,
3270 Display Station. QCAEXEC) exist in QSYS (not in QSYS38) and
may still be used in the OS/400 program if
Changes in commands and parameters exist. System/38 syntax is needed.
See Appendix A.
System/38 AS/400
Additional keyboard types are supported. Environment System
QCL QCMD Command entry
Error Handling: See “Return Codes” on QCAEXEC QCMDEXC Run a command
page 4-13. from a string
QCACHECK QCMDCHK Validity check a
Exchange ID: Available in the OS/400 command
program only. See “Exchange ID” on page 5-1.

Files: See “Database” on page 4-3 and “Data Intersystem Communications Function
Description Specifications (DDS)” on page 4-4. (ICF): New commands include:
Add ICF program device entry ADDICFDEVE
Finance: Other than the command changes Change ICF program device
described in Appendix A, no changes are needed entry CHGICFDEVE
from the System/38 environment. Change ICF file CHGICFF
Create ICF file CRTICFF
Graphical Data Display Manager Delete override ICF device
(GDDM): No changes from the System/38 entry DLTOVRDEVE
environment. Override ICF device entry OVRICFDEVE
Override ICF file OVRICFF
Remove ICF device entry RMVICFDEVE
Graphics Symbol Set: Other than the
command changes described in Appendix A, no The ICF Programming book contains specific
changes are required from the System/38 environ- information.
ment.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-7


See “Data Description Specifications (DDS)” on LOG parameter: LOG(4 0 *NOLIST) is used
page 4-4. instead of the System/38 default of (1 10 *MSG).
This causes more logging during the job, but no
Initial Program Load (IPL): Available in logging if the job completes normally. No perfor-
the OS/400 program only. mance loss is experienced while the job is running
using the logging level (4 0 *NOLIST) versus the
System/38 default. Job log processing does not
Install: Available in the OS/400 program only.
occur until job completion and the *NOLIST entry
is very efficient at normal job completion.
Independent Work Station Support:
This is now called Client Access/400 and is avail- RTGDTA parameter: The job description default
able in the OS/400 program only. is RTGDTA(QCMDI) instead of (QCMDB). This
works in conjunction with the SBMJOB and
Jobs: See “Naming” on page 4-10. No other BCHJOB defaults which have changed to
changes are needed from the System/38 environ- RTGDTA(QCMDB). The RTGDTA values are
ment. designed to allow both interactive and batch jobs
to use the same job description and cause a dif-
ferent routing entry to be selected in the sub-
Job Accounting: Other than the command system. If the defaults are taken, interactive jobs
changes described in Appendix A, no changes
can be sensed by the QCMDI routing data and
are required from the System/38 environment.
batch jobs sensed by the QCMDB routing data.

Job Descriptions

Sign On Display Command Entry Display

USER SMITH SBMJOB JOBD(ABC) RTGDTA(QCMDB)

User Profile Job Description


SMITH ABC Routing Entry Table
1. QCMDI . . .
JOBD(ABC) 2. QCMDB . . .
RTGDTA(QCMDI)

Establishes interactive
job environment.

Establishes batch
job environment.
RV2W325-0

Figure 4-1. Using the RTGDTA Parameter

4-8 AS/400 System/38 Environment Programming


In Figure 4-1, SMITH signs on and uses the job Journal: See “Programs” on page 4-12 for a
description ABC that is specified in his user discussion of how the replace entry affects journal
profile. The QCMDI routing data is used to deter- entries.
mine the subsystem routing entry to be used. In
this case, the routing entry establishes an interac- Other than the command changes described in
tive environment. Appendix A, no changes are required from the
System/38 environment.
When SBMJOB is used by SMITH, the defaults
can be taken for both JOBD and RTGDTA. In the
Library
example, they are shown with the default values
specified. This causes the second routing entry to Current library: The default for most create
be used which establishes a batch environment. commands changes from QGPL to the current
library. If the user profile has *CRTDFT as the
The SBMJOB command would normally be speci-
current library, no change is needed. If, however,
fied as:
you change the user profile value, you must con-
SBMJOB CMD(xxxx) sider two things:

User profile job description: The system Ÿ The default for CRT commands that do not
support is now designed to encourage the use of specify a library is the user profile value.
a job description assigned to a user profile. The Ÿ The current library affects the library list. The
JOBD parameter in a user profile has the default sequence of the library list is:
value of QDFTJOBD in QGPL. The default value
– System portion (for example, as set by the
for the ADDWSE JOBD entry is *USRPRF which
QSYSLIBL system value)
allows a job description to be assigned when
– Product library #1
signing on.
– Product library #2
The default for the SBMJOB JOBD parameter has – Current library
changed to use the JOBD assigned to the user – User portion (for example, as set by the
profile. You may want to specify unique job CHGLIBL command)
descriptions for certain user profiles and specify Because many user CL statements specify an
unique requirements for such things as library list unqualified object name, the library list is often
and priorities. You may also want to tailor the used to find objects. Specifying a current
QDFTJOBD job description in QGPL. As on library can cause a change in the library in
System/38, the CHGJOB command can be used which an object is found.
during a job to change the values.
You can specify the same library name in both
the current library and in either the system or
Job Queue: A new job priority of 0 can be user portion. The typical approach for con-
used to move a job to the top of the job queue. verting to the current library would be to
specify the library, which is normally first in
Job Streams: To convert a job stream, the the user portion. Because no error occurs if
System/38 environment command JOB must be the current library is also in the user library
changed to BCHJOB. The default for the JOBD portion, you do not have to immediately
parameter will cause all of the other commands in change the user portion to take advantage of
the job stream to be syntax checked for the the current library approach.
OS/400 environment.
Product library: This allows commands to desig-
The ENDJOB command from the System/38 envi- nate a library that appears on the library list for
ronment has been changed to ENDBCHJOB. It is the duration of the command. (See Chapter 2 for
important that ENDJOB be changed in any job more information.) This is of particular value in
streams which are converted because the that it avoids the need to have libraries like QRPG
ENDJOB command is the valid new spelling for or QCBL on either the interactive library list (for
the System/38 environment CNLJOB command. use by SEU syntax checking) or in the batch
library list (for use by high-level languages compi-

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-9


lations). User commands can also specify the Most of the IBM menus are created by new
PRDLIB keyword in command definition. internal support. This support is not available for
user menus. However, the CRTMNU command
The second product library is only supported for allows menu objects to be created so the end user
internal IBM functions. There is no user access to can access either an IBM or user menu with the
this value. GO command.

There are implications for both the current and


Message Handling
product library functions relative to writing secure
functions. An example on how to write a secure Sending messages: The SND commands
program can be found in the CL Programming and support new parameter values to allow sending a
Security – Reference books. message to QSYSOPR. The SNDMSG command
can be used to send a message to all active
Commands: The DSPOBJD uses *LIBL as the
users. A new keyword allows sending a message
default instead of *USRLIBL. This will assist in
to a user message queue. A message can also
searching for object types that can only be found
be sent to *REQUESTER meaning the interactive
in QSYS.
user for interactive jobs and QSYSOPR for batch
jobs.
The EDTLIBL command is available to provide a
simple prompt to change the current library list.
Messages to active users: A new function
exists on the AS/400 SNDMSG and
QUSRTOOL: The QUSRTOOL library is
SNDPGMMSG commands to allow the message
optionally installable as option 7 of the base oper-
to be sent to all active users (the user message
ating system. The library contains examples of
queue is used). To send a break message to all
various tools that can assist you with functions,
active users, see the SNDBRKACT command in
such as applications development and system
QUSRTOOL.
management. The tools are in multiple source
files. The source file named QATTINFO contains
Second level message length: The length of
the documentation for all the example tools. To
the second-level message text has increased from
use the tools, browse the general documentation.
1435 to 3000 bytes.
For example, use the command:
STRSEU SRCFILE(QUSRTOOL/QATTINFO) SRCMBR(AAAMAP) Changing message descriptions: An option for
the WRKMSGD display allows retrieving the
Logs: Other than the command changes current message description information for the
described in Appendix A, no changes are required CHG command parameter values. This allows a
from the System/38 environment. much simpler approach to changing message text.

LU-1: LU-1 is not supported using ICF. If you Mixed File: The MXD file type is not sup-
need ICF support, you should consider converting ported. Communications functions must be con-
to the SNA Upline Facility (SNUF) or APPC. verted to the new ICF file type. Display functions
must be converted to a display file type. See also
RJE and 3270 Device Emulation continue to use “Data Description Specifications (DDS)” on
LU-1 support. page 4-4.

Menu: You may want to take advantage of the Naming


new menu object capability. See the command
CRTMNU. Even if you have existing menus that Syntax: The syntax of qualified names has
are created by CL programs and display files, you changed (as described in Chapter 1). The sepa-
can specify them on the CRTMNU command. rator character is a slash instead of a period and
You can then use the GO command to make your the order has been reversed. The syntax for an
menus appear like IBM menus. unqualified name remains the same (for example,
CALL PGMX). This affects the following:
Ÿ Object names

4-10 AS/400 System/38 Environment Programming


System/38 environment OBJ.LIB Object Types: No changes from the
AS/400 system LIB/OBJ System/38 environment. You may need to
Ÿ Job names account for the new object types in your pro-
grams.
System/38 environment JOB.USER.JOBNBR
AS/400 system JOBNBR/USER/JOB
Out Files: Other than the command changes
Ÿ Field names (for example, OPNQRYF) described in Appendix A, no changes are needed
System/38 environment FIELD1.FILEA from the System/38 environment. A new option
AS/400 system FILEA/FIELD1 exists to allow the output member to be added to
or cleared for most commands. New output files
Extended names: New support allows the use of have been added for DSPOBJAUT and DSPPTF
extended names. This includes the use of lower- (this was DSPPGMCHG on System/38).
case letters, and names beginning with digits and
special symbols. This should not affect the con- Output Queue: See “Spool” on page 4-14.
version from the System/38 environment to the
OS/400 program. However, see “Programs” on Overrides: Other than the command changes
page 4-2 for a change to *NAME type command described in Appendix A, no changes are required
parameters. from the System/38 environment. One of the
command changes is to OVRPRTF. This allows
In general, the use of extended naming requires FILE(*PRTF) which allow you to override all
the use of apostrophes surrounding the name. printer files within the same job. See “Spool” on
The CL Programming book contains the full defi- page 4-14.
nition of valid names.

Qualified names: Because a period is a valid Pass-Through: For 3270 Pass-Through, see
character in a name in the OS/400 program, a “Emulation (3270)” on page 4-7.
typical error is to fail to convert a System/38 quali-
For 5250 Pass-Through, the OS/400 command
fied name. For example, assume you have the
STRPASTHR replaces BGNPASTHR.
following System/38 statement in CL source:
STRPASTHR supports APPN and the OS/400
CALL PGMA.LIB1 method of indicating device used in the pass-
If you re-create the program as an OS/400 type, through by specifying a RMTLOCNAME. (See
the program probably fails with an object not “Remote Location Name (RMTLOCNAME)” on
found message. page 2-29.) If you use multiple systems in the
pass-through and have not converted all systems
to APPN, STRPASTHR also supports the
Network Attributes: No changes from the
System/38 interface of specifying the devices,
System/38 environment, but the new network attri-
rather than the RMTLOCNAME.
butes can only be used by the AS/400 commands.
See “Network Attributes” on page 2-22.
Client Access/400: See “Intelligent Work
Station Support 5714-PC1” on page 2-64.
Object Attributes and Source Types:
See “Object Attributes and Source Types” on
page 2-23. To convert to the OS/400 types, you
Performance Information: No changes
from the System/38 environment.
must re-create the objects that are System/38
types.
Printers
Object Distribution: Other than the Files: Printer files have changed as follows:
command changes described in Appendix A, no
changes are required from the System/38 environ- Ÿ The FORMSIZE parameter is now named the
ment. PAGESIZE parameter.
Ÿ The SCHEDULE parameter default changes
from *JOBEND to *FILEEND.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-11


Ÿ On the DRAWER DDS keyword and Ÿ If the create step is not successful (serious
command parameter, change the value 3 to errors exist), the existing object is left intact
*E1. In the OS/400 program, DRAWER(3) is and the create command issues an escape
used to select the third drawer instead of the message. Thus you can continue to use the
envelope drawer. existing object.
Ÿ For other command changes see Appendix A. Ÿ If the create step is successful (no serious
See also “Return Codes” on page 4-13 and errors), the existing program is moved to a
“Spool” on page 2-49. special library (QRPLOBJ) and given a unique
name. In most cases, this allows users who
Print image: The support is not available on the are using the program (have an active
AS/400 system as it applies to system-attached version) to continue to use the old version
printers. without being aware of the change.
Ÿ If the create step is successful, PUBAUT
Problem Analysis Function: Available in parameter (AUT on the AS/400 commands) is
the OS/400 program only. ignored on the CRT command and the
existing authorizations are copied to the new
Problem Log: Available in the OS/400 object.
program only.
Once the new program is created, any new calls
Programs: Programs must be re-created to to the program use the new version. The support
the OS/400 program. Specific references are allows the same program to be replaced many
found in the following sections: times where each version could have multiple
users who have an active version. The old ver-
Ÿ “Overview” on page 3-1 sions remain in existence until the next IPL.
Ÿ “Programs” on page 4-2
Ÿ “Languages” on page 3-4 While the replace function allows programs to be
Ÿ “Return Codes” on page 4-13 properly replaced in most cases when they are
Ÿ “Object Attributes and Source Types” on being re-created, a lock is not placed on a
page 2-23 program when it is called (this is the same as
System/38). This allows DLTPGM or a restore of
Replace option: A significant enhancement has the program to occur while the program is in use,
been made regarding re-creating programs. This which will cause an error message to be sent to
function is only available with OS/400 commands. any active user of the program.
For a replacement of programs that run in a pro-
duction environment, a clear advantage exists in Creating programs: When creating an OS/400
using OS/400 create commands to achieve this program, the create commands have a default
function. value of REPLACE(*YES).

The OS/400 CRTxxxPGM commands support a When using the Programmer Menu, a message
new option for REPLACE. *YES is the default. If continues to be displayed if a program exists
REPLACE(*YES) is requested and the program when the create option is requested. Pressing the
does not exist, the command works as it does on F11 function key results in a conditional replace-
System/38. If REPLACE(*YES) is requested and ment of the program. The program is not deleted
the program exists: immediately the way it was on System/38. If the
Ÿ The USRPRF parameter value is copied from create is successful, the existing program is
the existing program (the parameter value on deleted and replaced by the new program.
the CRT command is ignored and the existing
program value is used). If the existing When creating a System/38 program, the create
program specifies the adopt function of commands have a default value of
USRPRF(*OWNER), it is correctly replaced. REPLACE(*NO). Pressing F11 on the Pro-
grammer Menu deletes the existing program and
Ÿ The program is compiled into an internal work then creates the new program. (If the create is
area. unsuccessful, the original program has been

4-12 AS/400 System/38 Environment Programming


deleted and no replacement program is created.) Programming Changes: Referred to as
A similar function occurs when using PDM. programming temporary fix (PTF) on the AS/400
Note: This replace function only operates on system.
program objects. Other object types (for example,
display files) must be deleted first. Prompter: The prompter support is only avail-
able in the OS/400 program. However, it can be
When REPLACE(*YES) is requested, only two used to see prompts for System/38 environment
parameters on the CRT command, USRPRF and commands.
AUT, are ignored. All other parameter values are
taken from the CRT command. Thus, options like Programming Temporary Fixes
the CRTRPGPGM command with the
(PTFs): Available in the OS/400 program only.
IGNDECERR parameter must be specified.
Note: If you have a program in existence and RA/DHCF: Other than the command changes
wish to change the USRPRF attribute, you must described in Appendix A, no changes are required
use either the CHGPGM command or delete the from the System/38 environment.
program and re-create it. Similarly, if you want to
change the authorizations, you may do so by the
GRTOBJAUT and RVKOBJAUT commands or
Recovery: Available in the OS/400 program
only.
delete the program and re-create it. If you are
journaling files used by a program that is replaced,
the new journal entries will reflect the date and Remote Location Name
time stamp program name for those users who (RMTLOCNAME): See “Remote Location
remain active to the replaced version. Name (RMTLOCNAME)” on page 2-29. In the
System/38 environment, support exists to mask
REPLACE(*NO) operates differently when using the use of the RMTLOCNAME parameter for
PDM or the Programmer Menu. If certain functions. In the OS/400 program, you
REPLACE(*NO) is requested on the AS/400 com- must specify a value. See “Distributed Data Man-
mands and the program exists, the same type of agement (DDM)” on page 4-6.
processing occurs as if REPLACE(*YES) has
been specified. Both PDM and the Programmer Return Codes: The return codes used by the
Menu will implicitly change the request to System/38 file types CMNF and BSCF have
REPLACE(*YES). changed significantly with the new ICF file.
Observability: A new option on CHGPGM allows An MXDF file must be converted to either or both
the observability of a program to be removed. an ICF or display type. An MXDF uses the return
This removes the program template of the codes for the type of file used. The BSC and
program which significantly reduces the size of an CMN types have changed significantly. The
object program. However, the following functions display types are the same as in the System/38
are lost when observability is removed: environment.
Ÿ Display or change program variables under
debug The return codes used by the other System/38 file
Ÿ Formatted dump on execution errors types had some changes from System/38 to the
Ÿ Restore a program to a previous release System/38 environment. No changes are required
from the System/38 environment to the AS/400
system. Return codes are further described in the
Programmer Menu: Other than the
following:
command changes described in Appendix A, no
changes are needed from the System/38 environ- Ÿ Appendix C of this book
ment. You should consider using the program- Ÿ Data Management book
ming development manager instead of the Ÿ ICF Programming book
Programmer Menu.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-13


Save Files: Other than the command changes Session Description: Other than the
described in Appendix A, no changes are needed command changes described in Appendix A, no
from the System/38 environment. changes are required from the System/38 environ-
ment.
Save and Restore: Changes to parameter
defaults include: Shipped Objects: No changes from the
System/38 environment.
Ÿ Volume ID (VOL) on restores from *SAVVOL
to *MOUNTED.
Ÿ Clear data (CLEAR) from *NO to *NONE. Sign-On: Available in the OS/400 program
New values are *ALL and *AFTER. *YES is only.
deleted.
SNADS: Other than the command changes
The diskette LOC parameter is deleted. described in Appendix A, no changes are required
from the System/38 environment.
The device (DEV) parameter is required. *SAVF
is now supported as a device name.
Source Attribute: See “Object Attributes and
Source Types” on page 2-23.
The FILEMBR parameter has been added to allow
saving and restoring of selected members.
Source Files: Other than the command
See Appendix A for details of parameter changes changes described in Appendix A, no changes
to the Save and Restore commands. A new are required from the System/38 environment.
command exists (SAVSTG) to save all of the used
storage on the system. SAVSTG is designed to Spelling Dictionary: Other than the
assist in a disaster recovery situation. command changes described in Appendix A, no
changes are required from the System/38 environ-
Screen Formatting: No changes from the ment.
System/38 environment.
Spool
Security
OVRPRTF parameters: New parameters that
Authorization: The authorization to IBM com- exist on the OVRPRTF command to help describe
mands does not change from the System/38 envi- the spooled file include:
ronment to the OS/400 environment. Although Ÿ SPLFNAME allows you to change the name of
some command names have changed, the author- the spooled file. For example, assume you
izations remain the same. use the name QPRINT in your program. You
can specify that the name should now be
AUT Parameter: The PUBAUT parameter on
known as PAYROLL. This is desirable when
CRT commands has changed to AUT and the
you do not use externally described printer
defaults vary by command. The values become
files. All further operations (such as
*CHANGE, *USE, or *EXCLUDE. The net result
WRKSPLF) must refer to the new name. The
is identical with the CRT commands supplied for
name of the original printer file can be dis-
the System/38 environment. (See Chapter 2 for a
played with WRKSPLFA.
further discussion.)
Ÿ USRDTA allows you to specify text that is
CHGOBJOWN default change: The shown with the spooled file. Spool commands
CHGOBJOWN command supports a new param- also allow selection on USRDTA. If a
eter, CUROWNAUT. This defaults to revoke the program is created on an AS/400 system, this
owner’s authority. System/38 did not support the parameter uses the name of the program that
parameter and retained the old owner’s authority. opened the spool file as the default.
Ÿ DUPLEX allows you to specify whether the
Service: Available in the OS/400 program only. spooled file will be printed on one side of the

4-14 AS/400 System/38 Environment Programming


page, on both sides of the page with the top Uninterruptible Power Supply: Available
of the page the same for both sides, or on in the OS/400 program only. The Backup and
both sides of the page with the images on Recovery – Advanced book contains more infor-
both sides inverted. mation.

Both the spooled file name and USRDTA appear


User Profile: See “Security” on page 4-14.
on the first display of an output queue.

OVRPRTF file name: On System/38, if you Work Management: When specifying work
specified: management functions within the System/38 envi-
ronment, you must consider the following
OVRPRTF QPRINT TOFILE(XYZ)
changes:
the name of the spooled file on DSPOUTQ was
XYZ. On the AS/400 system, the program name SBMJOB CMD parameter: SBMJOB allows
will be used. If you want to change the spooled either the new CMD parameter or the RQSDTA
file name, you should use the new SPLFNAME parameter. The CMD parameter should be used
parameter. when you are submitting a command. A syntax
check of the command is made before it is sub-
Subsystem Description: Other than the mitted. The prompter is available with F4 for sub-
command changes described in Appendix A, no mitting the command. Expressions are allowed
changes are required from the System/38 environ- within parameter values, but cannot be used to
ment. build the command name or parameter names.

SBMJOB USER parameter: SBMJOB allows the


System Reply List: Other than the USER parameter to specify a user name in addi-
command changes described in Appendix A, no tion to the entry of *JOBD or *CURRENT. You
changes are required from the System/38 environ- must have the *OBJOPR right to the user profile
ment. to use a specific name.

System Request: No changes from the SUBMIT JOB defaults: SBMJOB defaults
System/38 environment. change as follows:
Ÿ JOBD(*USRPRF) instead of QBATCH. The
System Service Tools (SST): Available in *USRPRF entry means to use the JOBD
the OS/400 program only. parameter value specified in the user profile
associated with the submitted job.
System Values: The new system values can Ÿ INLLIBL(*CURRENT) instead of *JOBD. This
only be used by OS/400 commands. Additional
*CURRENT entry means to use the current
information is provided in “System Values” on
library list instead of the library list in the job
page 2-57.
description. In general this is a preferred
default, but some specific applications may
Appendix A provides information about specific
have to be changed rather than using the
command changes.
default.

Table: Other than the command changes Ÿ OUTQ(*CURRENT) instead of *JOBD. This
described in Appendix A, no changes are required means to use the current output queue
from the System/38 environment. assigned to the job instead of the value in the
job description. This may cause any spooled
output to be routed to a different output
Tape: Other than the command changes
queue.
described in Appendix A, no changes are required
from the System/38 environment. Ÿ RTGDTA(QCMDB) instead of *JOBD. The
System/38 environment command uses
Test: See “Debug” on page 4-6. QCMD38 as the default. This change is

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-15


needed to access the OS/400 routing step Ÿ Command changes are described in
program (QCMD) for a batch program. Appendix A.
For those users operating with just the
Data File Utility (DFU): No function exists to
QBASE subsystem, this is an important
assist you in converting from the System/38 DFU
default. If the default were *JOBD, the USER
to the AS/400 DFU. You must reenter each DFU.
parameter default is *CURRENT which
normally results in using the interactive JOBD Several functions in the System/38 DFU do not
to which the user is signed on. The RTGDTA exist in the AS/400 DFU. If you are considering a
value in a JOBD defaults to QCMDI which conversion, you may need to take these into
would cause a batch job to be run with inter- account or continue to use the System/38 environ-
active characteristics (for example, in the ment version. The following are some of the func-
interactive pool). tions that are not included:
Ÿ RQSDTA defaults to *CMD instead of *JOBD. Ÿ Display-oriented design as opposed to record-
Ÿ The SBMJOB MSGQ default has been oriented.
changed from *WRKSTN to *USRPRF. Ÿ User-specified display flow (chaining).
Display and work commands: The DSPJOB Ÿ Display-level design flexibility including such
function has been split into two commands. things as heading location, initial values, field
WRKJOB performs the identical function as the spacing, edit codes, and multiple lines per
System/38 DSPJOB. The OS/400 DSPJOB screen.
command is a display-only function. Some com- Ÿ Validity-checking functions such as mandatory
mands offer an option list of jobs and may allow entry, mandatory fill, and relation operations.
either DSPJOB or WRKJOB. You must be
authorized to the appropriate command. The Ÿ Batch creation.
Work Management book has more information. Ÿ Retrieving source.

Job streams: See “Job Streams” on page 4-9. Ÿ Multiple commands (CRTDFUDEF and
DSNDFUAPP). The CRTDFUDEF command
was used in some applications after asking
Work Station: The new help information
the end user for a valid file name. This
function is described in “Data Description Specifi-
allowed application control of security over the
cations (DDS)” on page 4-4.
files to be operated on by DFU.

X.25: Other than the command changes Ÿ Delete mode.


described in Appendix A, no changes are required Ÿ Verify mode.
from the System/38 environment.
Ÿ Automatic numbering.
Ÿ Search on next format.
Utilities and Other Program
Products Query: No function exists to assist you in con-
verting from the System/38 Query to the AS/400
All utilities are the same as in the System/38 envi- Query. You must reenter each query.
ronment except for those listed in this section.
Command changes exist for some utilities and are The new AS/400 Query has several enhance-
described in Appendix A. See Chapter 2 for the ments over the System/38 Query that you may
enhancements made to the Reformat Utility (now want to take advantage of. These include such
the OS/400 Sort Utility). things as:
Ÿ The RUNQRY command allows a simple
Remote Job Entry (RJE): display of any database file without initially
Ÿ The READFILE command is only supported in creating a query object. A prompt exists for
the AS/400 system. selection specifications. A window function is
Ÿ DDM files are allowed for file names. also available, allowing for debugging and
problem determination aid.

4-16 AS/400 System/38 Environment Programming


Ÿ A function can display either the layout of the
report or the report while defining the query. Languages
Ÿ Changes to the Query definition can be done Not all new functions in the languages are dis-
in the same manner as it was defined. cussed here. See the individual publications
Ÿ On-line help and information search capability. describing each language. This section describes
any source or command changes you need to
Ÿ Collating sequence support. consider from the same user programs running in
Ÿ Text can be specified for report breaks. the System/38 environment.
Ÿ Additional numeric editing. If your language allows and you make use of qual-
Ÿ Create character result field using substring ified names, you need to convert these to OS/400
and concatenation. syntax, such as the COBOL COPY statement or
the RPG /COPY statement. Command changes
Several functions in the System/38 Query do not and parameter differences exist which may affect
exist in AS/400 Query. If you are considering con- programs. For command changes, see
verting, you may need to take these into account. Appendix A for more specific information.
The following are some of the functions that are
not included: BASIC: Qualified object names must appear in
Ÿ Batch creation. OS/400 syntax.

Ÿ Retrieving source.
COBOL: The System/38 COBOL level is ANSI
Ÿ Multiple commands (CRTQRYDEF and 74. The AS/400 version is ANSI 85. The fol-
DSNQRYAPP). The CRTQRYDEF command lowing differences exist:
was used in some applications after asking
Ÿ An index name is a compiler generated
the end user for a valid file name. This
storage area that is 4 bytes in length.
allowed application control of security over the
files to be used by Query. Ÿ A temporary result field is generated by the
compiler when only one identifier is specified
Ÿ Tables.
in the following cases:
Ÿ Record sampling.
– In the ADD statement FORMAT 1, pre-
Ÿ Remainder function available for created result ceding the keyword TO
fields. – In the SUBTRACT statement, FORMAT 1,
Ÿ *OMIT on record selection. preceding the keyword FROM
– In the MULTIPLY and DIVIDE statements,
Ÿ Support of multiple format files. FORMAT 1
Ÿ DDM Support (performing a Query on a file on Ÿ Card-specific language features are not sup-
another system). ported.

Source Entry Utility (SEU): Enhancements for Ÿ The keyword ALPHABET must precede
SEU include: alphabet-name within the alphabet-name
clause of the SPECIAL-NAMES paragraph.
Ÿ More line commands including:
– Exclude and show Ÿ The relative key data item specified in the
– Shift with truncation RELATIVE KEY phrase must not contain the
– Format line and prompt list PICTURE symbol ‘P’.
– COLS and TABS Ÿ The ALPHABETIC class test is true for upper-
– Copy and repeat case letters, lowercase letters, and the space
Ÿ Improved prompts, including user-defined character.
prompts
Ÿ Improved service displays, line command pro- Ÿ When no next statement exists to be pro-
cessing, and member lists cessed in a called program, an implicit EXIT
PROGRAM statement is run.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-17


Ÿ No two files in a MERGE statement may be Ÿ Any subscripts for identifier-4 in the DIVIDE
specified in the SAME AREA or SAME statement REMAINDER phrase are evaluated
SORT-MERGE AREA clause. The only files after the result of the DIVIDE operation is
in a MERGE statement that can be specified stored in identifier-3 of the GIVING phrase.
in the SAME RECORD AREA clause are
Ÿ The phrase ADVANCING PAGE and
those associated with the GIVING phrase.
END-OF-PAGE must not both be in a single
Ÿ READ statement: the INTO phrase cannot be WRITE statement.
specified: (a) unless all records associated
Ÿ The picture character-string of an alphabetic
with the file and the data item specified in the
item can contain only the symbol ‘A’. No
INTO phrase are group items or elementary
editing is allowed for the alphabetic data cate-
alphanumeric items, or (b) unless only one
gory.
record description is subordinate to the file
description entry. Ÿ When a data item described by a PICTURE
containing the character ‘P’ is referred to, the
Ÿ RETURN statement: the INTO phrase cannot
digit positions specified by ‘P’ are considered
be specified: (a) unless all records associated
to contain zeros in the following operations:
with the file and the data item specified in the
INTO phrase are group items or elementary – Any operation requiring a numeric sending
alphanumeric items, or (b) unless only one operand.
record description is subordinate to the file – A MOVE statement where the sending
description entry. operand is numeric and its PICTURE
Ÿ File position indicator: the concept of a current character-string contains the symbol ‘P’.
record pointer has been changed to a file – A MOVE statement where the sending
position indicator. operand is numeric edited and its
Ÿ New reserved words have been added. PICTURE character-string contains the
symbol ‘P’ and the receiving operand is
Ÿ New I/O status values have been added.
numeric or numeric edited.
Ÿ Pseudo-text-1 on the COPY statement must
– A comparison operation where both oper-
not consist entirely of a separator comma or a
ands are numeric.
separator semicolon.
Ÿ Programs using ACCEPT FROM
Ÿ Text word rules are followed for COPY
ATTRIBUTE-DATA require changes because
REPLACING.
format of data returned is different from
Ÿ A data item appearing in the USING phrase of System/38 COBOL.
the Procedure Division header must not have
a REDEFINES clause in its data description PASCAL: Available in the OS/400 program
entry. only. System/38 PASCAL must be compiled on
Ÿ If the FOOTING phrase is not specified, no the AS/400 system.
end-of-page condition independent of the
page overflow condition exists. PL/I: Other than the command changes
described in Appendix A, no changes from the
Ÿ The NO REWIND phrase cannot be specified
System/38 environment are required.
in a CLOSE statement having the REEL.UNIT
phrase.
Report Program Generator (RPG):
Ÿ The CANCEL statement closes all open files.
These are the differences between System/38
Ÿ When a receiving item is a variable length environment RPG and RPG/400:
data item and contains the object of the
Ÿ The INFDS layout has been enhanced to
DEPENDING ON phrase, the maximum length
support additional I/O feedback for the POST
of the item is used.
operation.
Ÿ Within the VARYING ... AFTER phrase of the
Programs using the POST operation for a
PERFORM statement, identifier-2 is aug-
specific device (not to get I/O feedback) must
mented before identifier-5 is set.

4-18 AS/400 System/38 Environment Programming


change because the format of the information Ÿ To convert using source and re-compilation,
returned in the INFDS in RPG/400 has you must have all the source members that
changed from the format used in System/38 are used by a COPY statement.
environment RPG.
Ÿ A new value (*SECLVL) may be specified on
Ÿ The maximum numeric field length has been the OPTION keyword to allow for printing of
increased from 15 to 30 digits. the second level message text.
Ÿ There is a change in source member type for Ÿ New *STATUS values in the INFDS may
Auto Report. See “Object Attributes and require changes.
Source Types” on page 2-23.
For more information, see Appendix E, “Con-
Ÿ The compiler issues a warning message if the
verting RPG from System/38 to the AS/400
source member type is not what is expected.
System,” and the RPG/400 User’s Guide.
CRTRPGPGM expects type RPG and
CRTRPTPGM expects type RPT.

Chapter 4. Changes Needed to Convert to the OS/400 Program 4-19


4-20 AS/400 System/38 Environment Programming
Chapter 5. Coexistence with an AS/400 System
You may have a need to send data from a compatible media and density supported on both
System/38 to an AS/400 system or vice versa. systems. No changes are necessary in the data
You may want to exchange media or be tied interchange format.
together through a communications line. This
chapter covers:
Ÿ How media can be interchanged between
Interchanging Save File Data
System/38 and the AS/400 system
Save file data is considered to be restorable.
Ÿ What you should do if you have a System/38 When data is written to a save file, it is checked to
that is communicating to other systems, and ensure it is restorable on the system. Therefore,
you replace your System/38 with an AS/400 the rules are similar to save and restore:
system
Ÿ System/38 save file data can be written to a
Ÿ What the other systems you are communi- save file on either a System/38 or an AS/400
cating with have to do when you replace a system.
System/38 with an AS/400 system
Ÿ AS/400 save file data can be written to a save
file on another AS/400 system.
Interchanging Media Ÿ AS/400 save file data cannot be written to a
System/38 save file.
The OS/400 object form differs from the
System/38 object form. Consequently, you cannot
save an object from an AS/400 system and Exchange ID
restore it on a System/38. A save from System/38
can be restored on the AS/400 system and the The Exchange ID is used when the system is in
information is mapped into the AS/400 format. an SNA session (such as 5250 Pass-Through,
However, data interchange is supported in either object distribution, LU-0, and DDM). The
direction. You must have compatible media (for System/38 ID prefix is 022. The prefix has
example, 1/2-inch tape, recorded at the proper changed with the AS/400 system because it is a
density) supported on both systems. The fol- new system type. The new prefix is 056.
lowing describes the interchange between the two
systems: On System/38, the line description EXCHID
parameter can be either *NONE or a specific
System/38 AS/400 System value.
Save → Restore
Data interchange → Copy Ÿ If *NONE is used, the system creates a line
Not supported ← Save description ID which is the 3-digit prefix fol-
Copy ← Data interchange lowed by the system serial number. The
value that is used can be displayed by
If your requirement is only to interchange from DSPLIND. If you are migrating your
System/38 to an AS/400 system, you can use System/38 line description object with *NONE
either the save and restore format or data inter- as the original value, the Migration Aid
change. If you want to go from an AS/400 system changes the prefix of the ID to 056 and uses
to System/38, you can only use data interchange. the serial number from the System/38. There-
You must have compatible media (for example fore, your system has a different exchange ID.
1/2-inch tape) and density on both systems.
Note: The serial number does not reflect the
If you are interchanging data between a new AS/400 system.
System/38 and some other system type (for Ÿ If a specific value is described, the first 3
example, System/370) and replace the System/38 characters must be the system prefix. If you
with an AS/400 system, the data interchange migrate the line description object to the
format can continue to be used. You must have AS/400 system, the prefix is changed by the

 Copyright IBM Corp. 1994 5-1


Migration Aid to 056. Therefore, your system If you use the SBMNETJOB command to an
has a different exchange ID. AS/400 system, you must supply AS/400 syntax
for the commands in the input stream.
The system you are communicating with
(assuming you are using the EXCHID feature) New support exists to send messages, files, and
needs to be changed to agree with the new job streams to a System/370. See the SNA Distri-
AS/400 exchange ID. You may wish to change bution Services book and “SNADS” also.
the ID before you start communications to reflect
your own specific value or to use the serial
number of the AS/400 system assigned by the SNADS
default value. If you migrated the device config-
uration objects using the Migration Aid, you must If you are communicating to a System/370 and
delete and re-create the line description object using the new support for the RSCS/PROFS*
(the EXCHID parameter cannot be changed by the bridge, the System/370 must have installed the
CHG command). RSCS Version 1.3 or later and the VM Line Driver
PRPQ.
If the system you are communicating with is a
System/38 or another AS/400 system, the
EXCHID you need to change on that system is Interchanging Using
specified on the controller description. You need Communication or Mixed Files
to delete and re-create the controller description
object on the System/38 or AS/400 systems you On an AS/400 system, the SECURITY keyword in
are communicating to (the EXCHID cannot be DDS does not support the *PASSWORD function,
changed using the CHG command). meaning that the AS/400 support does not retrieve
the password to send to the other system. Files
with the *PASSWORD function cannot be restored
APPC or created on the AS/400 system. If you are cur-
No changes are needed for APPC other than the rently using this technique, you must make a
exchange ID. change that could also affect the systems you are
communicating with. You must either code the
password value or configure your system so that a
Pass-Through password is not required with the EVOKE function.
The exchange ID must be changed as described.

If a user is passing through to a System/38 and it Interchanging Using DDM


is replaced by an AS/400 system, the user must
enter the proper syntax if commands are used and Source system: If a System/38 is replaced with
will see some operational differences. an AS/400 system and it is the source system for
DDM requests, no changes are needed. The
DDM files continue to correctly specify the files to
be accessed in the appropriate syntax of the
Object Distribution
target system.
The SNDNETF, SNDNETMSG, and
Target system: If a System/38 is replaced with
SNDNETSPLF commands can be used to go in
an AS/400 system and it is the target system for
either direction between System/38 and the
DDM requests, the source systems communi-
AS/400 system. However, only System/38
cating to the new AS/400 system may have to
existing attributes can be exchanged using
change. The source systems must specify the
SNDNETSPLF to a System/38. See the example
syntax of the AS/400 target system, regardless of
in Chapter 6 for how you can distribute System/38
whether the file being accessed on an AS/400
objects using OS/400 object distribution.
system is a System/38 or OS/400 type file. If the
source system is a System/38 or an AS/400
system, the RMTFILE value of the DDM files must

5-2 AS/400 System/38 Environment Programming


be reviewed (the equivalent value must be Ÿ In the OS/400 program, the remote file name
reviewed for a non-System/38 and non-AS/400 for another AS/400 system would be specified
system). The DSPFD command can be used to as:
display the RMTFILE value on System/38 or the RMTFILE(LIBY/FILEX)
AS/400 system. The AS/400 system can also use
DSPDDMF or WRKDDMF to display RMTFILE Ÿ In the OS/400 program, the remote file name
values. for a System/38 would be specified as:

Ÿ If you specified the entry as RMTFILE(FILEX), RMTFILE(\NONSTD 'FILEX.LIBY')


the default is no library name and the value Ÿ On a System/38, the remote file name for an
FILEX is passed to the other system. On the AS/400 system would be specified as:
System/38 or the AS/400 system, this is inter-
RMTFILE(\NONSTD 'LIBY/FILEX')
preted as FILEX using the library list of the
target job (the target job’s library list is defined Ÿ If you are on an AS/400 system in the
by the job description specified on the System/38 environment, the remote file name
ADDCMNE command). In this case, no for System/38 is:
change is needed. (The job description could
RMTFILE(FILEX.LIBY)
use the user profile or initial library list associ-
ated with the job.) Ÿ If you are on an AS/400 system in the
System/38 environment, the remote file name
Ÿ If a qualified name was used, such as
for an AS/400 system is:
FILEX.LIBY or FILEX.*LIBL, the new syntax of
LIBY/FILEX or *LIBL/FILEX must be used. RMTFILE(\NONSTD 'LIBY/FILEX')

Note: The syntax of the RMTFILE parameter When a DDM file is displayed (DSPDDMF
differs from most qualified names in that no library command) the file name is shown within apostro-
default of *LIBL is supported. The default for phes such as:
RMTFILE is no library qualifier. If you took the
default, you do not need to make a change. RMTFILE 'ABC.DEF'

RMTFILE: If you need to specify a qualified This is the way the information is stored within the
name, you may have to use the *NONSTD entry system. If migration of a DDM object occurs to an
on the RMTFILE parameter: AS/400 system, no change is needed to communi-
cate as a source system to a System/38.

Chapter 5. Coexistence with an AS/400 System 5-3


The following illustration describes the source and
target system considerations.

System/38 Source System

DDM FILE(X)

RMTFILE('ABC.DEF')

Program
Read FILE(X) System/38 Target System

Library = DEF File

ABC

AS/400 Source System

DDM FILE(X)

RMTFILE('ABC.DEF')

Program
Read FILE(X)

RV2W326-0

Because the target system is a System/38, both on the AS/400 source system to communicate to
source systems use the same specification for the System/38 and need a qualified name, you
RMTFILE. If the source System/38 is replaced by would specify:
an AS/400 system, no changes are needed for the
DDM file. If, however, you create a new DDM file RMTFILE(\NONSTD 'OBJ.LIB')

5-4 AS/400 System/38 Environment Programming


The following shows a System/38 target system
replaced by an AS/400 system.

System/38 Source System System/38 Target System

DDM FILE(X) Library = DEF File


RMTFILE(ABC.DEF) ABC

Program
Read FILE(X)
Replaced by

AS/400 Target System

Library = DEF File

ABC

RV2W327-0

The target System/38 is replaced by an AS/400 If a System/38 sends a pre-generic NMVT alert to
system. The RMTFILE parameter must now be an AS/400 system, it is accepted and can be dis-
changed on the source system to agree with the played.
OS/400 syntax. On the source System/38, you
would specify: On System/38, alerts were logged to a journal
(QALERT). This has been changed to a database
RMTFILE(\NONSTD 'DEF/ABC') file on the AS/400 system. The journal is not
Note: The syntax for an unqualified name is the migrated. A new display command exists to
same regardless of System/38 and System/38 display the alerts.
source target combinations. It would be specified
The ADD/CHGMSGD commands have parameter
as:
changes, as described in Appendix A.
RMTFILE(FILEX)

Any use of a SBMRMTCMD to an AS/400 system Interchanging PC Data


must supply OS/400 syntax.
PC data on the AS/400 system is stored in the
Any System/38s that use DDM to communicate to new folder object type. No support is available to
an AS/400 system must have a compatibility PC extract the information from a folder and convert it
applied. This allows System/38 DDM architecture to a virtual disk for use on a System/38. A
extensions to be sent and received. command (CPYFRMPCD) does exist on the
AS/400 system to copy a document in a folder to
a database file, but the internal format of this file
Alerts is not the same as that used for System/38 virtual
disk.
The AS/400 system uses the SNA management
services generic alerts. The System/370 host Client Access/400 also supports the CVTTOFLR
system must have at least Release 2.0 of NetView command. This allows you to convert files from
installed. System/38 to AS/400 folders. This may be used
solely for migration or on a continuing basis.

The following describes the interchange between


the two systems:

Chapter 5. Coexistence with an AS/400 System 5-5


System/38 AS/400 System
Virtual disk → Folder (using CVTTOFLR)
Not supported
to virtual disk ← Folder

system journaling application using an AS/400


Interchanging Journal Objects system and a System/38.
Journal objects (journals and journal receivers) However, because restore is not supported from
can be moved from System/38 to the AS/400 an AS/400 system to a System/38, you cannot ini-
system using save and restore. The journal tialize (replace or add a new file) on the
restrictions that exist on System/38 for moving System/38 using a save from the AS/400 system.
journal objects to a different system are the same If you need to replace or add a new file, you can
for moving journal objects to an AS/400 system. only use data interchange. Using CPYF for data
interchange does not necessarily cause a mirror
Objects (including journal objects) cannot be
image of the data because the relative record
saved from an AS/400 system and restored to a
numbers are reset.
System/38.
If your user-written journal apply program is
The DSPJRN command output file format is iden-
dependent on relative record numbers, you need
tical between System/38 and the AS/400 system.
to ensure the deleted records are compressed
Therefore, it is valid to have a user-written cross
from the file (using RGZPFM) before you copy it
to the System/38.

5-6 AS/400 System/38 Environment Programming


Chapter 6. Maintaining System/38 Applications on an AS/400
System
For some businesses, you may need to operate gramming development manager on the AS/400
on an AS/400 system and maintain applications system. You need to specify the System/38 types
that are being used on a System/38. This would of source (see Chapter 1). After you have tested
be typical if: the program on the AS/400 system, you need to
move the source to a System/38. You cannot
Ÿ You have both systems for a period of time.
save an object from the AS/400 system and
Ÿ You are a central site maintaining a network
restore it to a System/38. Only data interchange
of systems.
can be used. The following describes the inter-
Ÿ You sell software to both AS/400 and
change between the two systems:
System/38 users.
System/38 AS/400 System
It is feasible in most cases to maintain the Save → Restore
System/38 application code on the AS/400 system Data interchange → Copy
and perform source maintenance and most testing Not supported ← Save
on the AS/400 system. You can only test certain Copy ← Data interchange
functions that are not supported on the AS/400
system (for example, configuration commands) on Data interchange could be in the form of media,
an actual System/38. DDM, or communication files. Once the source is
on the System/38, you can create the object and
If you are planning to use the same application on perform final testing. Either the object or source
the AS/400 system as on System/38, you need a form can now be distributed to other System/38s
strategy for how you will do source maintenance. in save and restore format.
For example, you could plan on maintaining only
one set of source for both systems. While this is The object distribution commands (SNDNETF,
clearly desirable, it may not be achievable due to SNDNETMSG, and SNDNETSPLF) can be used
migration changes or the desire to use new in either direction between the AS/400 system and
AS/400 function. Obviously, any additions to your System/38. However, only System/38 existing
applications of new AS/400 function cannot be attributes can be exchanged using SNDNETSPLF.
used on System/38.
Another alternative is to have source on both
Maintaining System/38 source can be easily systems and maintain the System/38 source by
achieved using the Programmer Menu or the pro- using a function like display station pass-through.

 Copyright IBM Corp. 1994 6-1


It is also possible to use the object distribution to other System/38s. You would typically do the
function of the AS/400 system to distribute objects following:

Command Entry Display

SAVOBJ...

System/38 AS/400 System

PGM

SAVF SAVF
Object
Distribution

Object Distribution

Command Entry Display Command Entry Display

RSTOBJ... RSTOBJ...

System/38 Other System/38s

SAVF SAVF

PGM PGM

RV2W328-0

6-2 AS/400 System/38 Environment Programming


The SAVOBJ command is used on a System/38 manual conversion to change it to System/38
to place a program into a save file. The file is source).
sent to an AS/400 system using object distribution.
The save file on the OS/400 program is then sent Other considerations with different OS/400 func-
to multiple System/38 systems also using object tions to be considered with coexistence are:
distribution. The RSTOBJ command is then used Ÿ You need some method of shipping job
to make a program object on each System/38. streams for those functions that are main-
Note: Object distribution on the AS/400 system is tained by commands (for example, changes to
being used, but only to pass the System/38 object job descriptions).
form to another System/38. The System/38 object Ÿ The OS/400 DFU and Query functions cannot
could be restored to an AS/400 system, but be sent to System/38. The System/38 envi-
normally this is not needed once you have ronment DFU and Query source can be
migrated. extracted using the RTVxxxSRC commands
and sent to a System/38.
See “Interchanging Save File Data” on page 5-1
for a discussion of save file restrictions. Ÿ Chapter 1 describes how a CLP38 type
program can contain OS/400 commands. For
Pass-Through is a good method of operating on example, you could use the OS/400 command
an AS/400 system and working with a System/38. WRKOUTQ in the CLP38 program, but you
You may want the same programmer to perform must enter it using System/38 syntax rules.
the preliminary testing on the AS/400 system and You do not want to distribute this source to a
complete the testing on System/38. Pass-Through System/38. You could write a program that
allows programmers to sign on the System/38 checks your source to ensure it contains only
while they are still signed on the AS/400 system. System/38 commands. An example of this
type of program is included in the
The System/38 environment support allows you to QUSRTOOL library. See the tool
enter certain commands using SEU, which cannot CHKS38CMD.
be run on the AS/400 system. For example, the
CRTDEVD command can be entered in SEU
using type CLP38 and the program creates suc- Automating Most of the Process
cessfully. However, if you try to use the command
on the AS/400 system (even in the System/38 Typically, you want to maintain the source on the
environment), the CRTDEVD command fails with AS/400 system, do some degree of testing on the
an error message. The purpose of this support is AS/400 system, and then automate as much as
to assist in maintaining source on the AS/400 you can of the remaining process. This would
system that you intend to use on System/38. include sending the source to a System/38 (or
using DDM for the source file), creating the
The commands that only exist in the System/38 objects, performing final testing, integrating the
environment for this purpose (they cannot be run) new objects into a production system, and pos-
are described in Appendix A. sibly distributing object form to other System/38s.

If you are migrating to the AS/400 system with the Once you decide what source and data files need
intent of maintaining applications for System/38, to be sent to maintain the application, you want
you may need to make some changes to the some packaging method of placing the data into a
applications to get them to successfully migrate. If convenient container to ship to a System/38
you have changed the source during migration, (assuming you are not using a DDM source file).
you may need to work with multiple versions of
the same source. For example, you could write a user command
that allows multiple source members and data files
The CVTCLSRC command can be used to to be copied to a single member. The single
convert System/38 CL source into OS/400 source. member could then be sent to the System/38
However, the inverse is not supported (if you have using object distribution, DDM, a communications
OS/400 CL source, you would need to do a file, or media (diskette or tape).

Chapter 6. Maintaining System/38 Applications on an AS/400 System 6-3


When the data is placed on the System/38, a Command Definition
similar user-written command could extract the
pieces and put them back into their original file The new keyword PMTCTL on the PARM state-
and member names on the System/38. An ment is valid only on the AS/400 system.
example of this type of command is included in
the QUSRTOOL library. See the tool Note: It is valid to enter these new functions in
SAVICHDTA. the System/38 environment, but if you do, you will
not be able to use the same command definition
A user written function could then schedule the source on a System/38.
CRT commands necessary to create the object
forms required. Another alternative is to send a Commitment Control
request for a compile to the System/38 and use a
DDM file on the System/38 to access the source The number of record locks supported is 4096 on
on the AS/400 system. After the objects are the AS/400 system and 1024 on System/38.
created, pass-through could be used to ensure a
final degree of testing on System/38. When the Data Description Specifications
objects are ready, you could then have a user-
written command on the System/38 which saves (DDS)
the objects and prepares them for distribution to
ICF files are valid on the AS/400 system only.
other System/38s.
See Appendix B for a list of DDS keywords that
are not supported or are changed on the AS/400
List by Function system.

The following list by function describes some of


the typical things you need to exclude from source Database
that you are trying to use on both the AS/400
system and System/38. Obviously, any new The OPNQRYF command supports both qualified
OS/400 commands, parameters, or values cannot file and field names. Both must be in the proper
be specified. Commands and command definition syntax.
statement differences are discussed in
The new OS/400 OPNQRYF %DIGITS function for
Appendix A. DDS keywords are discussed in
converting decimal data to character can only be
Appendix B.
done on the AS/400 system. The System/38 solu-
tion of converting first to zoned and then to char-
APF acter data is compatible between both systems.

Although the System/38 APF files are compatible


with the AS/400 system, you should not attempt to Message Handling
move the AS/400 APF files back to a System/38.
The user message queue support on the AS/400
system can be partially achieved on System/38
CL with a user created queue and specific send
The new qualified name syntax and the use of message commands.
extended names is valid only on the AS/400
system. The increased size of the second level text and
the special formatting characters are only sup-
ported on the AS/400 system.
CL Programs
New commands, parameters, and values are valid
only in the OS/400 program. See Appendix A.

6-4 AS/400 System/38 Environment Programming


Programs Languages
If you are writing programs to be used on The new qualified name syntax is valid on the
System/38, you want to ensure the use of func- AS/400 system only.
tions like QCAEXEC instead of QCMDEXC. If you
are building up command strings in QCAEXEC, COBOL
they should use System/38 syntax.
The ANSI level has changed and introduced new
See “Return Codes” on page 6-5. language elements. Conversion differences are
described in Chapter 4. If you plan to share
Return Codes source, you may want to restrict your use to the
ANSI 74 level.
Changes exist between System/38, the System/38
environment, and the OS/400 program. See
“Return Codes” on page 2-35 and “Return Codes”
Report Program Generator (RPG)
on page 4-13. The use of 30-digit fields is an RPG/400 function
only. Changes exist to STATUS values and the
structure of INFDS for POST operations. If you
plan to share source, you may want to restrict
your RPG use to the System/38-compatible RPG.

Chapter 6. Maintaining System/38 Applications on an AS/400 System 6-5


6-6 AS/400 System/38 Environment Programming
Chapter 7. Summary of Migration Details
This chapter provides you with a summary of the DSPRPYL OUTPUT(\LIST)
following: and save the printed output or write down the
Ÿ What you should do on System/38 before you values. The IBM-shipped values with the AS/400
migrate system have not changed from the System/38
shipped values. However, you may have made
Ÿ What you should do on the AS/400 system
changes.
before you migrate System/38 objects to the
AS/400 system System values: Certain system values are not
Ÿ What you should do after you migrate the migrated by the Migration Aid. See “System
System/38 objects Values” on page 2-57. You should print or write
down the values for the following system values to
assist in re-establishing them on the AS/400
What You Should Do on system:
System/38 before You Migrate QACGLVL
QCTLSBSD
Several things should be done on System/38 QUPSMSGQ
before you migrate. QSYSLIBL
QMAXSIGN
Save and restore restriction: Only objects QAUXSTGTH
saved on System/38 Release 5 or later can be
restored on the AS/400 system. If you have any Job accounting: If you are using job accounting,
historical information that was saved on previous you should either re-create the QACGJRN journal
releases that you may want to restore on the in QSYS on the AS/400 system or save the object
AS/400 system, you should restore it to the and restore it on the AS/400 system. The job
System/38 and save it again. accounting journal is not migrated by the Migration
Aid.
Any media you save to restore on the AS/400
system should be compatible in type and density QSYSMSG message queue: If you are using
to match your save and restore device on the the QSYSMSG message queue function, you
AS/400 system. For example, the only compatible should save the message queue on System/38
density for the 9347 Tape Unit is 1600 bpi. and restore it on the AS/400 system. The
message queue is not saved as part of the
Object descriptions for queues and save files: Migration Aid.
The Migration Aid migrates the object descriptions
for job queues, output queues, data queues, and QSYS library: You should normally not place
save files. However, none of the data in these user objects in the QSYS library. If you have,
objects is migrated. You should ensure that these they are migrated by the Migration Aid. A sample
objects do not contain any critical data before command (CHKLIBOWN) in Appendix D shows
migration. how to check for non-IBM owned objects in
QSYS.
Network attributes: Network attributes are not
migrated. You must manually reenter them on the Licensed program libraries: If you have your
AS/400 system. Use the DSPNETA command own objects or members in a library such as
and get printed output of the values or write them QRPG, you must either move them to a user
down. See the discussion in Chapter 2 of what library or migrate them using save and restore.
network attributes have been deleted or changed. Most licensed program libraries have an
IBM-supplied source file that you could use to
System reply list: The system reply list entries store members.
are not migrated by the Migration Aid. You should
use:

 Copyright IBM Corp. 1994 7-1


Ÿ You should use the following type of AS/400 system. An additional save of the objects
command to check each of the licensed you are planning to migrate would be a reason-
program libraries to see if you have any able approach.
source members stored in an IBM-supplied
file: Device configuration objects: If you plan to use
the Migration Aid to migrate the device configura-
DSPFD QRPGSRC.QRPG TYPE(\MBRLIST)
tion objects, you must be using Release 8.
Ÿ You can use the sample command
(CHKLIBOWN) in Appendix D to check for The device configuration objects are migrated
non-IBM owned objects in the licensed from System/38 to the AS/400 system using the
program libraries. Normally, the IBM objects Migration Aid. However, it would be reasonable to
are owned by QSECOFR. Therefore you keep the information about your device configura-
should specify the command as: tion before you migrate. Appendix D has a
CHKLIBOWN LIB(QRPG) EXCLUDE(QSECOFR) sample program that copies the configuration
information into a source member. The member
If you created objects in the licensed program would then be saved by the migration function.
libraries owned by QSECOFR, you should find The member could then be used on the AS/400
them using the DSPLIB command. system, through SEU, if problems occur.

QGPL library: The QGPL library from System/38 User profiles: The IBM user profiles (such as
should not be restored directly to the AS/400 QSECOFR) are not migrated nor are any of the
system because it will overlay the IBM-supplied specific authorizations. The new AS/400 user pro-
objects you need to operate the AS/400 system. files are used as a base and you must make mod-
The Migration Aid saves QGPL and restores it to ifications to them. Therefore, if you have made
QGPL38. (See the discussion on “Handling changes to the IBM user profiles, you should
QGPL” on page 7-5.) If you are not using the make a printed output of these so that you can
Migration Aid, you should consider a similar change the corresponding user profiles on the
approach. AS/400 system.

Some objects (for example, journal and journal Use the DSPUSRPRF command on System/38
receivers) cannot be restored to a different library. with the OUTPUT(*LIST) function for the following
Therefore, if you have journals and journal user profiles:
receivers in QGPL, you should save them and
restore them directly to QGPL on the AS/400 QPGMR
system. QSYSOPR
QSECOFR
Other Q libraries: The Migration Aid does not QUSER
migrate libraries which begin with Q except for the
QGPL library. If you created libraries beginning The QPSR and QCE profiles are replaced on the
with Q, you must migrate them using save and AS/400 system by the QSRV and QSRVBAS pro-
restore. files. Different functions are performed by the new
user profiles so you must reevaluate your use of
User libraries: If you are migrating all objects in these user profiles as opposed to copying the
a library, you should first review the contents and QCE and QPSR information.
delete any objects that you will not need on the
AS/400 system. Edit descriptions: Edit description objects in
QSYS are not migrated by the Migration Aid. The
The Migration Aid saves your objects and restores same defaults that were used on System/38 are
them on the AS/400 system. Because media is used on the AS/400 system, but you may have
involved, you may want to be sure you have ade- modified some of the values. If you have modified
quate backup of the objects to be migrated. This any edit descriptions, you should use the
is of particular importance if you are transferring DSPEDTD command for each of the modified
the same storage units from System/38 to the descriptions.

7-2 AS/400 System/38 Environment Programming


SNADS: If you are using SNADS, the Migration CHGSYSVAL SYSVAL(QDEVNAMING)
Aid does not migrate the SNADS objects. You VALUE(\NORMAL)
must reenter the SNADS configuration on the Ÿ Delete the programs that are associated
AS/400 system. You should not attempt to save with the System/36 environment. This
the SNADS objects in QUSRSYS on System/38 saves a considerable amount of disk
as the format has changed on the AS/400 system. space:
You should make printed output of the SNADS DLTLICPGM LICPGM(5763SS1) OPTION (5)
configuration on System/38 using: DLTLICPGM LICPGM(5763RG1) OPTION (1)
DLTLICPGM LICPGM(5763CB1) OPTION (1)
DSPDSTSRV OUTPUT(\LIST)
All other system values are shipped with the
A change is required on the AS/400 system for defaults as described in the CL Programming
remote location name, as described in “SNADS” book. You may want to review the device
on page 2-48. descriptions that exist on the system. These
are named using System/36 naming con-
ventions. You may choose to delete and re-
Before Restoring the System/38 create these.
Objects 2. Customized system
Two methods of ordering an AS/400 system are A customized system was the form followed
available and you need to complete this step dif- by System/38. You order hardware and soft-
ferently depending on the method you select. ware and they arrive from different distribution
locations. The licensed internal code is
1. Total System Package
already loaded on your system. If you
This is a convenient method of ordering both ordered the OS/400 program, it is also loaded
the hardware and software items. The system on your system. Follow the installation
arrives with the software loaded, though it will instructions and install each of the licensed
be configured for a System/36 operation. For programs you have ordered. See the Soft-
example, the QDEVNAMING system value will ware Installation book.
contain the value *S36 instead of the default
All system values are shipped with the
(*NORMAL). Therefore, if you use this
defaults described in the CL Programming
approach you will normally want to perform
book.
the following steps before you restore any
objects saved from System/38.
System values: Several system values should
These steps assume that you want to operate be set before you perform the restores as part of
using the OS/400 program and the System/38 the Migration Aid. See the details discussed in
environment. If you want to use the “System Values” on page 2-57 and also the Work
System/36 environment, consult the Management book.
System/36 Environment Reference and you
Ÿ QSECURITY. This is the security setting on
should decide how to specify the system
the system; the default is level 10. Level 30 is
values discussed in this section.
similar to the System/38 level of security. To
Sign on as the security officer. change to level 30 issue the following
command:
Ÿ Change the QSPCENV system value from
*S36 to *NONE. This causes any user CHGSYSVAL SYSVAL(QSECURITY) VALUE('3ð')
profiles that are added to operate using Ÿ QCTLSBSD. This system value is not
OS/400 functions: migrated by the Migration Aid. Therefore, you
CHGSYSVAL SYSVAL(QSPCENV) VALUE(\NONE) may change it now to reflect your controlling
subsystem strategy. The AS/400 default for
Ÿ Change the QDEVNAMING system value
QCTLSBSD is QBASE. This means that a
from *S36 to *NORMAL. This avoids the
single subsystem is used for interactive and
use of the System/36 naming convention
batch work. You may want to use the
for device configuration objects:
QINTER, QBATCH, QCTL subsystem

Chapter 7. Summary of Migration Details 7-3


approach. See “Subsystem Description” on many of them will be overlaid when you
page 2-53. To change to this approach use perform the migration function.
the following command:
System reply list: You should check the current
CHGSYSVAL SYSVAL(QCTLSBSD)
VALUE('QCTL QSYS') System Reply List against the version you printed
in the step before migration. The IBM-shipped
Ÿ QAUTOCFG. This determines if local devices versions have not changed from System/38 (PL/I
should be configured automatically. See has been added), but you may have made
“Device Configuration” on page 2-7. To changes that need to be reflected on the AS/400
change from the default of 1 (meaning the system.
system should do automatic configuration) to
user-controlled configuration, specify: Job accounting: If you were using job
CHGSYSVAL SYSVAL(QAUTOCFG) VALUE('ð') accounting on System/38, you should now re-
create or restore the accounting journal
Ÿ QPRTDEV. This is the print device to be (QACGJRN in QSYS) you saved from System/38.
used with default spooling, as described in The Migration Aid migrates the QACGLVL system
“Spool” on page 2-49. You would normally value. However, if the QACGJRN journal is not
enter the name of your system printer. It is on the AS/400 system when the Migration Aid is
important that this value reflect one of your run, the system value is set to *NONE.
printers.
CHGSYSVAL SYSVAL(QPRTDEV) VALUE(xxxxxx) QSYSMSG message queue: If you were using
the QSYSMSG message queue on System/38,
Ÿ QSTRUPPGM. This is the startup program you should now restore the object you saved from
described in “Subsystem Description” on System/38.
page 2-53. You should consider your
strategy for use of an automatic start job. IPL: When the first IPL of the system occurs, the
Ÿ QPFRADJ. This determines if the system system implicitly creates a work station controller
should do performance adjustment for main and display device to be used for the console.
storage pools and activity levels. See “Sub- These will be named:
system Description” on page 2-53. You QCTL WS controller
should consider your strategy for this function. QCONSOLE Display device only
Ÿ QSYSLIBL. Use the information you printed
from System/38 to establish this value. The You may delete these descriptions, but the system
AS/400 system requires: always creates a description using these names
on the next IPL.
QSYS
QHLPSYS QAUXSTGTH: The System/38 QAUXSTGTH
QUSRSYS system value is not migrated by the Migration Aid.
If you have additional libraries, you should On the System/38, this system value determines
change QSYSLIBL. when you will receive a message from the system
based on the auxiliary storage use. You wrote
CHGSYSVAL SYSVAL(QSYSLIBL) VALUE('...') down the QAUXSTGTH value in the step before
Ÿ QMAXSIGN. This value now controls the you migrated. If the value is other than 10% or
number of sign-on attempts for all work you want a value other than 10%, you need to use
stations (including the IPL device). Use the SST to set the new value. The specification has
information from System/38 to establish this changed from a percentage remaining to a per-
value: centage full. The default is 90%.
CHGSYSVAL SYSVAL(QMAXSIGN) VALUE('...')
Checksums and auxiliary storage pools
Ÿ You may want to set other system values. (ASP): If you are using checksums or ASPs, you
However, you should not set the system should specify the configuration desired with Dedi-
values that existed on System/38 because cated Service Tools (DST).

7-4 AS/400 System/38 Environment Programming


Save the system: If you have not already done See also the discussion on “QGPL38.”
so as part of the installation process, save the
AS/400 system with the SAVSYS command
before migrating the System/38 objects. What Should You Do after
Migration
Migration of System/38 Objects System values: Migration of System/38 objects
resets the QMCHPOOL and QBASACTLVL
This is normally done as part of the Migration Aid. system values and creates device configuration
Complete the steps as described with the objects. The two system values may not be
Migration Aid including such functions as the appropriate for your AS/400 system. You should
restoring of profiles, device configuration objects, now set the two system values. If you are using
and other objects. the IPL performance adjustment function, you can
do another IPL and let the system set the values.
The Migration Aid restores QGPL to QGPL38. You may have to reset the QACGLVL system
Before you run the RSTAUT command you should value if the QACGJRN was not on the AS/400
move your user objects from QGPL38 to QGPL. system when the Migration Aid migrated system
See the discussion in “Handling QGPL.” values.
When migration is complete, your objects are User profiles: The printed output of the user
restored to the system. Some objects may not be profiles for QSECOFR, QPGMR, and QSYSOPR
correctly restored. You need to check the results (see “What You Should Do on System/38 before
of the Migration Aid. You Migrate” on page 7-1) should now be
reviewed with the AS/400 profiles to see if you
Handling QGPL need to change the profiles.
The IBM-supplied objects in QGPL on System/38
should not be restored on top of the AS/400 QGPL38: You need to consider the objects that
objects of similar names. The Migration Aid remain in QGPL38 (those that begin with Q).
restores QGPL to QGPL38. These include such things as subsystem
descriptions and job descriptions that were used
Some objects (for example, journal and journal by CPF on the System/38.
receivers) cannot be restored to a different library.
If you had saved these in the steps prior to The following describes the items you should look
migration, you should now restore these to QGPL. for in QGPL38 and what you should consider. As
each object is considered, you should either
On the AS/400 system you need to move user- delete the object or move it to another library (for
created objects (those that do not begin with Q) example, you could create QGPL38OLD). Moving
from QGPL38 to QGPL. The following could be the object to another library allows you to keep the
done: information until you are sure you are operating
correctly on the AS/400 system.
Ÿ MOVOBJ commands could be issued.
Ÿ The new programming development manager In this step, you also need to consider whether
could be used to simplify the keying of the you had changed the IBM-shipped objects on
MOVOBJ commands. System/38. You may need to compare the attri-
butes of each object to the description in Appendix
Ÿ A program could be used to do the MOVOBJ A of the Release 8 IBM System/38 Control
commands. A sample program is shown in Program Facility Programmer’s Guide.
Appendix D.
If you have made significant changes to the
After your user objects have been moved from IBM-shipped objects (for example, subsystem
QGPL38 to QGPL, see System/38 to AS/400 descriptions), it may be easier to change your
Migration Aid User’s Guide and Reference for spe- object than to change the AS/400 shipped version.
cific instructions on restoring authorities to the
object.

Chapter 7. Summary of Migration Details 7-5


Ÿ The following objects are not restored on the QGPL38 objects, you need to consider
AS/400 system because they specify unsup- making the same types of changes to the
ported functions: QGPL objects.
QCARD96 *FILE QDKT *FILE
QCRDSRC *FILE QDKTSRC *FILE
QPUNCH *FILE QSPLDKTR *JOBD
QSPLDKTW *JOBD
Ÿ You may delete the following objects in
QDKT *OUTQ
QGPL38 because they are not needed on the
AS/400 system: Ÿ The following class objects in QGPL38 should
have a corresponding class object in QGPL.
QSPLCRDR *JOBD
If you have made changes to the QGPL38
QSPLCRDW *JOBD
objects, you need to consider making the
QPUNCH *OUTQ
same types of changes to the QGPL objects.
Ÿ The source files in QGPL38 may contain data.
QBATCH *CLS
If so, you will want to keep the data by moving
QCTL *CLS
or copying the members to the QGPL library.
QDIALOCAL *CLS
For example, you can check the following
QFNC *CLS
source files in QGPL and, assuming no
QINTER *CLS
members exist, delete them. Then move the
QPGMR *CLS
objects of the same names from QGPL38 to
QSNADS *CLS
QGPL.
QSPL2 *CLS
QCLSRC *FILE
| Note: QSPL class priority should be left at
QCMDSRC *FILE
| 15. The QSPL class priority should not be
QTBLSRC *FILE
| changed to match QGPL38.
The QDDSSRC file in QGPL will contain the
The new default for the WAIT parameter for
source for the new QDSIGNON display on the
the OS/400 CRTCLS command is 30. You
AS/400 system. This should not be replaced
should consider this when converting your
by the QGPL38 version. You can:
class objects.
1. Remove the QDSIGNON member in
Ÿ The following job description objects in
QGPL38/QDDSSRC.
QGPL38 should have a corresponding job
2. Ensure there are no other members in
description object in QGPL. If you have made
QGPL/QDDSSRC.
changes to the QGPL38 objects, you need to
3. Copy the other members from QGPL38.
consider making the same types of changes
Ÿ You can delete the following source file from to the QGPL objects.
QGPL38 assuming it was only used to hold
QBATCH *JOBD
print images (these were only used with
QCTL *JOBD
system attached printers on System/38 and
QDIA *JOBD
are not supported on the AS/400 system).
QFNC *JOBD
QIMGSRC *FILE QHOSTPRT *JOBD
Ÿ If you do not have a diskette device on the QINTER *JOBD
AS/400 system, you can delete the following QNFTP *JOBD
objects from QGPL38. It is recommended QPGMR *JOBD
that you leave the corresponding objects in QSNADS *JOBD
QGPL in case you add a diskette device later. QSPLDBR *JOBD
If you have a diskette device on the AS/400 QSPLERROR *JOBD
system and you have made changes to the QSPLPRTW *JOBD

7-6 AS/400 System/38 Environment Programming


Ÿ The following job queue objects in QGPL38 entries on the interactive subsystem. The
should have a corresponding job queue object AS/400 version uses the JOBD associated
in QGPL. If you have made changes to with the user profile as the default. This may
QGPL38 objects, you need to consider cause a different job description to be
making the same types of changes to the assigned.
QGPL objects.
The QCTL subsystem was shipped on
QCTL *JOBQ System/38 in the QSYS library. It was recom-
QBATCH *JOBQ mended that you not change this object, but, if
QFNC *JOBQ you needed to make changes, you created
QINTER *JOBQ your own controlling subsystem. For example,
QPGMR *JOBQ you may have created a subsystem named
QSNADS *JOBQ QCTL2 in QGPL. This subsystem should be
QSPL *JOBQ reviewed for changes.
Ÿ The following output queue objects in Ÿ At this point, the QGPL38 library should only
QGPL38 should have a corresponding output contain the objects that were not being used
queue object in QGPL. If you have made by CPF on Release 8 or objects that you have
changes to the QGPL38 objects, you need to created beginning with the letter Q. You need
consider making the same types of changes to consider if these objects should be moved
to the QGPL objects. to QGPL. After you have accounted for these
objects, you can delete QGPL38.
QPRINT *OUTQ
QPRINT2 *OUTQ
QSYS objects: If you make changes to QSYS
QPRINTS *OUTQ
objects (for example, print files, command authori-
Ÿ The following printer device file objects in zation) on a new release, you should now make
QGPL38 should have a corresponding printer the same changes. In some cases, you will find
device file object in QGPL. If you have made that print file or command names have changed.
changes to the QGPL38 objects, you need to
consider making the same types of changes Sign-on display: If you have a user defined
to the QGPL objects. sign-on display (for example, a company personal-
ized version), it should be changed to account for
QPRINT *FILE
the new input fields on the IBM Sign-On display.
QPRINT2 *FILE
The Work Management book contains more infor-
QPRINTS *FILE
mation.
Ÿ The following subsystem description objects in
QGPL38 should have a corresponding sub- Command authorization: If you authorized
system description object in QGPL or QSYS. certain IBM commands (for example, CRTPF) on
If you have made changes to the QGPL38 System/38 to specific individuals, you should con-
objects, you need to consider making the sider your security strategy. Many of the com-
same types of changes to the corresponding mands that were not public on System/38 are
objects in QGPL or QSYS. public on the AS/400 system. You may be able to
remove some individual authorizations.
QINTER *SBSD
QBATCH *SBSD User version of IBM commands: If you have
QFNC *SBSD created your own version of IBM commands, you
QSPL *SBSD may want to create and use the QUSER38 library
QPGMR *SBSD and place your System/38 version of the
QSNADS *SBSD command in the library. See the discussion in
You need both a QCMD and QCMD38 routing Chapter 1. The OS/400 version of the command
entry. The IBM-supplied version in QGPL is can use the same approach you used on
shipped this way. See “Subsystem System/38, but the parameter list may have
Description” on page 2-53. changed. If you have created validity-checking
programs for IBM commands, you need to con-
You should be careful in determining the
sider the same type of changes.
JOBD value specified for the work station

Chapter 7. Summary of Migration Details 7-7


SNADS configuration: If you are using SNADS, Tape device name: If you are using automatic
you should reenter the SNADS configuration. Use device configuration and want to name your tape
the information you printed as described previ- device something other than TAP01, see “Tape”
ously and the CFGDSTSRV command. See also on page 2-59.
“SNADS” on page 2-48.
Exchange ID: If you use SNA to communicate
Alerts: If you are using Alerts, you should enter with other systems, you should consider the name
the network attributes that control Alerts. Use the you want for the exchange ID. See “Exchange ID”
values you printed in the steps “What You Should on page 5-1.
Do on System/38 before You Migrate” on
page 7-1. Enter the system name for your Migration aid: Delete the Migration Aid. See the
AS/400 system. instructions in the System/38 to AS/400 Migration
Aid User’s Guide and Reference.
Diskette device name: If you have a diskette
device, you should consider creating a diskette
device with the name of QDKT. See “Diskette” on
page 2-10.

7-8 AS/400 System/38 Environment Programming


Appendix A. System/38 Commands and Command
Definitions
This appendix describes the System/38 com- If a command with a blank in this column is
mands and the changes and additions that have attempted on the AS/400 system (in either the
occurred. The new OS/400 commands are not System/38 environment or the OS/400
described. Only the following are described: program) an escape message is issued
stating Function not supported.
Ÿ Command name changes
Ÿ Parameter name changes and new parame- Ÿ The OS/400 New Command column has Xs
ters where the same command name can be run
Ÿ Parameter value changes and new values in the OS/400 program or the name of the
Ÿ Default changes New Command (if different) that replaces the
System/38 command in the OS/400 program.
For some commands, the maximum number of
Ÿ The Comments column provides information
positional parameters (MAXPOS) has been
to assist you in determining what is different.
reduced in the OS/400 program compared to the
For more details about the changes that have
System/38 environment. The CVTCLSRC
been made, see the CL Reference.
command does not detect all of these changes.
They are detected when the converted programs
If the OS/400 New Command column is blank, the
are compiled.
command cannot be run in the OS/400 program.
Either the function is done differently or a new
In some cases, you may be referred to other dis-
approach is used.
cussions in this book or to the CL Reference.
Some functions will not be described for each
The following describes the columns that appear
command because they apply to many com-
in Figure A-1:
mands.
Ÿ All System/38 commands are listed in the left
column. The *CURLIB value can be specified for most
commands in the OS/400 program where the
Note: The full list of OS/400 commands is
parameters support a library qualifier. The default
not included.
remains the same unless otherwise noted.
System/38 commands are allowed to be
entered using the Source Entry Utility (SEU) in
the System/38 environment. However, not all Command Definition Statements
commands can be run in the System/38 envi-
ronment. See the next column. No distinction has been made between System/38
Ÿ The System/38 Environment Run column has environment or OS/400 command definition
Xs for those commands that run in the source. The CRTCMD command in either the
System/38 environment. System/38 environment or the OS/400 program
creates the same form of object (there is no TYPE
The commands that show blanks in this for command definition object). See the
column are only allowed to be entered into “Command Definition” on page 2-2 and
SEU for the System/38 source types of CL38 “Command Definition” on page 4-3.
and CLP38. The intent of this support is to
allow for maintenance of System/38 programs To define the layered prompts, the new command
and job streams on the AS/400 system. The definition statement PMPTCTL exists with an addi-
CL must be moved to a System/38 to be run. tional PARM command.

 Copyright IBM Corp. 1994 A-1


Figure A-1 (Page 1 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
ADDACC X X
ADDAJE X X
ADDBKP X X
ADDBSCDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
ADDCMNDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
ADDCMNE X X The DEV parameter is changed in the System/38 environment. The
OS/400 program adds the RMTLOCNAME parameter.
ADDDEVMODE The device mode function has changed. There is a new object type
for device modes. See “Device Configuration” on page 2-7.
ADDDSPDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
ADDFCTE X X
ADDJOBQE X X The job queue function changes to allow the new parameter of
MAXPTYn in the OS/400 program.
ADDLFM X X The ACCPTHMBR parameter is ignored in the System/38 environment
and not supported in the OS/400 program.
ADDLIBLE X X
ADDMSGD X X The PDPCODE and LOG parameters are ignored in the System/38
environment and are not supported in the OS/400 program. The
OS/400 program command supports the LOGPRB parameter. The
ALRID keyword has been renamed to ALROPT in the OS/400
program. The values have changed for this keyword in both environ-
ments. The SECLVL keyword supports up to 3000 characters in the
OS/400 program (1435 in the System/38 environment). Both environ-
ments allow special control characters to be entered into the message
text to assist in formatting.
ADDNETJOBE X X
ADDPFM X X
ADDPGM X X The user must have *CHANGE authority to debug a program instead
of the read right on System/38.
ADDRJECMNE X X
ADDRJERDRE X X
ADDRJEWTRE X X
ADDRPYLE X X
ADDRTGE X X
ADDTRC X X
ADDWSE X X The default in the OS/400 program changes to JOBD(*USRPRF). See
“Subsystem Description” on page 2-53. The valid WRKSTNTYPE
values have changed.
ADDXDMNK X ADDCRSDMNK
ALCOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 commands. The new values are not valid for the System/38
environment commands.
ANSLIN X X

A-2 AS/400 System/38 Environment Programming


Figure A-1 (Page 2 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
APYJRNCHG X X
APYPGMCHG APYPTF The PGMID parameter has changed to LICPGM and is required.
PGM is no longer supported. A new parameter IPLAPY exists to allow
an automatic apply of delayed PTFs at the next unattended IPL. The
LIB parameter is not supported in the OS/400 program.
BGNBAS X STRBAS
BGNCMTCTL X STRCMTCTL
BGNIWSSRV The BGNIWSSRV command is replaced by APPN/ICF support. The
EXITPGM keyword is replaced by the network attribute PCSACC.
BGNPASTHR X STRPASTHR For the OS/400 program, new parameters exist for MODE,
RMTLOCNAME, LCLLOCNAME and RMTNETID. For the OS/400
program, the MODE parameter defaults to *NETATR on the
STRPASTHR command. In the System/38 environment, the
BGNPASTHR command uses the first mode for each device. The
VRTCTLU parameter changes to VRTCTL in the OS/400 program.
The VRTCTL and VRTDEV parameters do not need to be specified in
the OS/400 program although one of these parameters can still be
specified.
The OS/400 command supports the new parameters RMTUSER,
RMTPWD, RMTINLPGM, RMTINLMNU, RMTCURLIB, and
PASTHRSCN.
BRWPFM X DSPPFM
CALL X X
CFGDSTSRV X X The NDEID parameter is ignored on the System/38 environment
command and not supported for the OS/400 command.
CHGACGCDE X X
CHGAJE X X
CHGBSCF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. Both a CHGICFF and a CHGICFDEVE
command may be necessary. See “Data Description Specifications
(DDS)” on page 4-4.
CHGCMD X X The OS/400 program version of the commands support the new
ALWLMTUSR, CURLIB, and PRDLIB parameters.
The CHGCMD command must explicitly specify the QSYS38 or
QUSR38 library when you want to change a command in QSYS38 or
QUSR38, respectively.
CHGCMDDFT X X To change a System/38 environment command, you must qualify the
command (for example QSYS38/CHGJOB).
CHGCMNE X X The DEV parameter is changed in the System/38 environment. The
OS/400 program adds the RMTLOCNAME parameter.
CHGCMNF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. Both a CHGICFF and a CHGICFDEVE
command may be necessary. See “Data Description Specifications
(DDS)” on page 4-4.
CHGCNPA The CSNAP function does not exist on the OS/400 program. Some of
the same function may be achieved by the device configuration
THRESHOLD parameter.
CHGCRDF Card devices are not supported on the AS/400 system.
CHGCUD The CHG device configurations commands have changed. Use
CHGCTLxxxx, where xxxx is the controller class or type. For example,
use CHGCTLAPPC for APPC. See “Device Configuration” on
page 2-7.

Appendix A. System/38 Commands and Command Definitions A-3


Figure A-1 (Page 3 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CHGDBG X X
CHGDDMF X X The MODE parameter value *FIRST changes to *NETATR in the
OS/400 program. The MODE parameter value *BLANK changes to
BLANK in the OS/400 program.
See the discussion of DDM files in “Distributed Data Management
(DDM)” on page 4-6.
CHGDEVD The CHG device configurations commands have changed. Use
CHGDEVxxxx where xxxx is the device class or type. For example,
use CHGDEVPRT for printers. See “Device Configuration” on
page 2-7.
CHGDEVMODE The device mode function has changed. A new object type exists for
device modes. See “Device Configuration” on page 2-7.
CHGDFUDEF X The System/38 DFU product is only supported in the System/38 envi-
ronment. See the discussion for DFU/38 in Chapter 4.
CHGDKTF X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 commands. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
For the OS/400 program, new parameters exist for OUTPTY and
USRDTA.
CHGDOCOWN CHGDLOOWN Documents are still stored in the object type *DOC. Because of the
new object type for folder (*FLR), some commands which worked only
on documents now work on both documents and folders. The DOC
parameter changes to DLO in the OS/400 program. The abbreviation
DLO means document library object and covers both types.
CHGDSPF X X
CHGDTA X The System/38 DFU product is only supported in the System/38 envi-
ronment. See the discussion for DFU/38 in Chapter 4.
The CHGDTA command from the System/38 IDU product is supported
in the System/38 environment. An OS/400 CHGDTA command is
associated with the OS/400 DFU. These are not the same functions.
Using CHGDTA in the OS/400 program will cause a search for an
AS/400 DFU object. See the discussion on DFU in Chapter 2 and
Chapter 4.
CHGDTAARA X X
CHGFCT X X
CHGFCTE X X The STACKER and PRTIMG parameters are ignored in the System/38
environment and not supported in the OS/400 program.
CHGGRPA X X
CHGHLLPTR X X For the OS/400 program, the INVLVL parameter is renamed to
RCRLVL.
CHGJOB X X CHGJOB is unchanged in the System/38 environment. In the OS/400
program, CHGJOB supports new keywords for PRTDEV, DATFMT,
and DATSEP; the keyword EXCPTY is changed to RUNPTY. The
OUTQ parameter supports the new values of *DEV and *USRPRF;
and the JOBPTY parameter allows 0.
CHGJOBD X X The job description object in the OS/400 program has changed. A
new parameter exists for PRTDEV; the CNLSEV parameter is
renamed to ENDSEV; and the OUTQ parameter supports the new
values of *DEV and *USRPRF.
CHGJOBQE X X The job queue function changes to allow the new parameter of
MAXPTYn in the OS/400 program.

A-4 AS/400 System/38 Environment Programming


Figure A-1 (Page 4 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CHGJRN X X
CHGKBDMAP X X The values *CFnn change to *Fnn for the OS/400 keywords PFnn
through PA2PFnn.
CHGLF X X The RECOVER parameter values have changed on OS/400 com-
mands. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
CHGLFM X X
CHGLIB X X
CHGLIND The CHG device configurations command has changed. Use
CHGLINxxxx, where xxxx is the line class or type, for example use
CHGLINTRN for IBM Token-Ring Network. See “Device
Configuration” on page 2-7.
CHGMSGD X X The PDPCODE and LOG parameters are ignored in the System/38
environment and removed from the command in the OS/400 program.
The OS/400 command supports the LOGPRB parameter. The ALRID
keyword has been renamed to ALROPT in the OS/400 program. The
values have changed for this keyword in both environments. The
SECLVL keyword supports up to 3000 characters in the OS/400
program (1435 in the System/38 environment). Both environments
allow special control characters to be entered into the message text to
assist in formatting.
CHGMSGQ X X
CHGMSTK X X
CHGMXDF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
CHGNETA X X See the discussion on “Network Attributes” on page 2-22. The alert
network attributes have significantly changed. There are new attri-
butes which can only be accessed from the OS/400 command.
The SYSNAM parameter becomes SYSNAME in the OS/400 program.
CHGNETJOBE X X
CHGOBJD X X New values for object types (for example, *MENU) are valid with the
OS/400 commands. The new values are not valid for the System/38
environment commands.
CHGOBJOWN X X New values for object types (for example, *MENU) are valid with the
OS/400 commands. The new values are not valid for the System/38
environment commands.
CHGOUTQ X X A new AUTCHK keyword is supported in the OS/400 program.
CHGPF X X On the OS/400 command, the RECOVER parameter values have
changed. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
CHGPFM X X
CHGPGM X X A new parameter, RMVOBS, has been added in the OS/400 program.
CHGPGMVAR X X For the OS/400 program, the INVLVL parameter is renamed to
RCRLVL.

Appendix A. System/38 Commands and Command Definitions A-5


Figure A-1 (Page 5 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CHGPRTF X X The parameters TRNTBL and PRTIMG are ignored for the System/38
environment command. The parameters are not supported on the
OS/400 command.
The System/38 parameter FORMSIZE is renamed PAGESIZE on the
OS/400 commands.
For OS/400 commands the following parameter changes have also
occurred:
Ÿ DEV supports the new values *SYSVAL and *JOB. *NONE is not
allowed.
Ÿ PRTQLTY supports the new value *DEVD
Ÿ FONT supports the new value *CPI
Ÿ COPIES supports up to 255 copies (instead of 99)
Ÿ New values are supported for the CPI, IGCCPI, and LPI parame-
ters for DBCS printers only.
New parameters are supported for DUPLEX, JUSTIFY, OUTPTY, and
USRDTA in the OS/400 program.
On the OS/400 program, the System/38 DRAWER(3) value is replaced
by DRAWER(*E1), and DRAWER(3) is used to select the third paper
drawer.
CHGPTR X X New values for object types (for example, *MENU) are valid with the
OS/400 commands. The new values are not valid for the System/38
environment commands.
For the OS/400 program, the INVLVL parameter is renamed to
RCRLVL.
CHGQRYDEF X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
CHGRJECMNE X X
CHGRJERDRE X X
CHGRJEWTRE X X
CHGRPYLE X X
CHGRTGE X X
CHGSAVF X X
CHGSBSD X X Pool size minimum is 32K instead of 16K as on System/38.
CHGSPLFA X X The parameters TRNTBL and PRTIMG are ignored for the System/38
environment command. The parameters are not supported for the
OS/400 command.
The OS/400 command supports the new keywords SELECT, DEV,
PRTSEQ, OUTPTY, USRDTA, and ALIGN. New keyword and values
are supported for OUTQ(*DEV), FILE(*SELECT), and
PRTQLTY(*DEVD).
A new parameter, DUPLEX, has been added in the OS/400 program.
CHGSRCPF X X The RECOVER parameter values have changed on the OS/400 com-
mands. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
CHGSSND X X
CHGSSNMAX X X For the OS/400 program, new parameters exist for RMTLOCNAME,
LLCLOCNAME, and RMTNETID. Instead of being required in the
OS/400 program, the MODE parameter defaults to *NETATR and the
DEV parameter defaults to *LOC.
CHGSTGCFG Configuration work is done through DST in a dedicated manner. See
“Checksums” on page 2-2.

A-6 AS/400 System/38 Environment Programming


Figure A-1 (Page 6 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CHGSYSLIBL X X
CHGSYSVAL X X The list of system values has changed. Some System/38 values have
been deleted, some have changed definitions, and new system values
exist. Only OS/400 commands can access the new system values.
See “System Values” on page 2-57 and the Work Management book
for more details about system values.
CHGTAPF X X The DENSITY parameter default is changed from 1600 to *DEVTYPE
on the OS/400 command. New density values are supported.
However, the DENSITY parameter value 800 is not supported.
For the OS/400 program, SEQNBR supports the new values *END
and *NEXT.
The new parameter USRLBLPGM is supported in the OS/400
program.
CHGUSRPRF X X New keywords and values are used with the OS/400 command. See
“Security” on page 2-36.
The GRPAUT value *NORMAL changes to *CHANGE in the OS/400
program.
New parameters are supported in the OS/400 program.
CHGVAR X X
CHGWSE X X The valid WRKSTNTYPE values have changed from System/38.
CHGWTR X X For the OS/400 CHGWTR command, the FILESEP parameter is
added as well as the following values OUTQ(*DEV),
FORMTYPE(*FORMS), and WTR(*SYSVAL).
CHGXDMNK X CHGCRSDMNK
CHKDKT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. *LOC is treated as *MOUNTED in
the System/38 environment VOL parameter. The VOL parameter does
not support the *LOC value in the OS/400 program. See “Diskette” on
page 2-10 for a discussion of the need for a QDKT device description
in the System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value.
CHKIGCTBL X X
CHKOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command. AUT keyword parameter values are changed
from *OPER to *USE and *NORMAL to *CHANGE.
CHKTAP X X CHKTAP in the OS/400 program supports the new values of *NEXT
and *FIRST for the SEQNBR.
CLCSTGCFG The storage configuration commands do not operate on the AS/400
system. The calculation function is available through either DST or
SST. See “Checksums” on page 2-2.
CLNPRT The CLNPRT command is not supported. This command refers only
to system attached printers on System/38. Only work station attached
printers are available on the AS/400 system.
CLOF X X

Appendix A. System/38 Commands and Command Definitions A-7


Figure A-1 (Page 7 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CLRDKT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. *LOC is treated as *MOUNTED in
the System/38 environment VOL parameter. The VOL parameter in
the OS/400 program does not support the *LOC value. See “Diskette”
on page 2-10 for a discussion of the need for a QDKT device
description in the System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value. The SUFFIX
parameter is not supported in the OS/400 program.
CLRJOBQ X X
CLRLIB X X
CLROUTQ X X
CLRPFM X X
CLRSAVF X X
CLRTRCDTA X X
CMPJRNIMG X X
CNLJOB X ENDJOB The System/38 environment command CNLJOB becomes the OS/400
command ENDJOB. There is also a System/38 environment
command named ENDJOB which becomes ENDBCHJOB in the
AS/400 system.
CNLJOBABN X ENDJOBABN
CNLNETF X DLTNETF
CNLRCV X ENDRCV
CNLRDR X ENDRDR
CNLRJERDR X X The CNL verb continues to be used in the OS/400 program to be
similar to the System/370 terminology.
CNLRJEWTR X X The CNL verb continues to be used in the OS/400 program to be
similar to the System/370 terminology.
CNLRQS X ENDRQS
CNLSPLF X DLTSPLF For the OS/400 program, the SELECT parameter is added and
FILE(*SELECT) is supported.
CNLWTR X ENDWTR For the OS/400 program, WTR(*ALL) and WTR(*SYSVAL) are added.
COMMIT X X
CPHDTA X X
CPYF X X The PRTFMT keyword is renamed to OUTFMT in the OS/400
program. The TOFILE value of *LIST has been changed to *PRINT.
The effects of FMTOPT(*MAP) on DBCS fields have changed. See
“Copy File (CPYF)” on page 2-4 for details about these fields.
DDM files can be specified as both a FROMFILE and a TOFILE.
Copy file (CPYF) allows a remote file to be created with DDM.
CPYFRMDKT X X The FROMLOC parameter is ignored in the System/38 environment
and not supported in the OS/400 command. See “Diskette” on
page 2-10 for a discussion of the need for a QDKT device description
in the System/38 environment.
New parameters exist in the OS/400 program for FROMDEV.
The PRTFMT keyword is renamed to OUTFMT in the OS/400
program. The TOFILE value of *LIST has been changed to *PRINT.

A-8 AS/400 System/38 Environment Programming


Figure A-1 (Page 8 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CPYFRMTAP X X The PRTFMT keyword is renamed to OUTFMT in the OS/400
program. The TOFILE value of *LIST has been changed to *PRINT.
For the OS/400 program, FROMSEQNBR supports the new value
*NEXT.
CPYFRMVDSK CPYFRMPCD Replaced by folder support.
CPYIGCTBL X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
CPYSPLF X X The OS/400 CPYSPLF command supports the new keyword/value
CTLCHAR(*S36FMT).
CPYSRCF X X The TOFILE value of *LIST has been changed to *PRINT.
DDM files can be specified as both a FROMFILE and a TOFILE.
CPYTODKT X X The TOLOC parameter is ignored in the System/38 environment and
not supported in the OS/400 command. See “Diskette” on page 2-10
for a discussion of the need for a QDKT device description in the
System/38 environment.
New parameters exist in the OS/400 program for TODEV.
CPYTOTAP X X The default for the TORCDLEN parameter has been changed from
*TAPF to *FROMFILE.
For the OS/400 program, TOSEQNBR supports the new value *END.
CPYTOVDSK CPYTOPCD Replaced by folder support.
CRTBASPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and *YES is the default for the
OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
CRTBSCF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. Both a CRTICFF and an ADDICFDEVE
command may be required. See “Data Description Specifications
(DDS)” on page 4-4.
CRTCBLPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and *YES is the default for the
OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
In the OS/400 program, the FIPS parameter has changed to
FLAGSTD and the values have changed to comply with the new FIPS
1986 standard.
In the OS/400 program, the new parameter TGTRLS is supported.

Appendix A. System/38 Commands and Command Definitions A-9


Figure A-1 (Page 9 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTCLPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and defaults to *YES for the
OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
In the OS/400 program, the new parameter TGTRLS is supported.
CRTCLS X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The CLASS object default in the OS/400 command for DFTWAIT
changes from 120 to 30. The EXCPTY keyword name changes to
RUNPTY in the OS/400 program.
CRTCMD X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The OS/400 program version of the command supports the new
ALWLMTUSR, CURLIB, and PRDLIB parameters.
The CRTCMD command must explicitly specify the QSYS38 or
QUSR38 library when you want to create a command in QSYS38 or
QUSR38, respectively.
CRTCMNF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. Both a CRTICFF and an ADDICFDEVE
command may be necessary. See “Data Description Specifications
(DDS)” on page 4-4.
CRTCRDF Card devices are not supported on the AS/400 system.
CRTCUD The CRT device configurations commands have changed. Use
CRTCTLxxxx where xxxx is the controller class or type. For example,
use CRTCTLAPPC for APPC. See “Device Configuration” on
page 2-7.
CRTDDMF X X See the discussion of DDM files in “Distributed Data Management
(DDM)” on page 4-6.
The MODE parameter value *FIRST changes to *NETATR in the
OS/400 program. The MODE parameter value *BLANK changes to
BLANK in the OS/400 program.
The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTDEVD The CRT device configurations commands have changed. Use
CRTDEVXXXX where XXXX is the device class or type. For example,
use CRTDEVPRT for printers. See “Device Configuration” on
page 2-7.
CRTDFUAPP X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.
CRTDFUDEF X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.

A-10 AS/400 System/38 Environment Programming


Figure A-1 (Page 10 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTDKTF X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The following defaults have changed:
System/38 OS/4ðð
Environment Program
Keyword Default Default
MAXRCDS 2ðððð 1ððððð
SCHEDULE \JOBEND \FILEEND
For the OS/400 program, new parameters exist for OUTPTY and
USRDTA.
CRTDSPF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
CRTDTAARA X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTDTAQ X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTDUPOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command. The *SPADCT object type is not supported in
either the System/38 environment or the OS/400 program.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
CRTEDTD X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36.
CRTFCT X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTGSS X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTIGCDCT X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.

Appendix A. System/38 Commands and Command Definitions A-11


Figure A-1 (Page 11 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTJOBD X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The defaults for the following parameters change in the OS/400
program.
LOG(4 ð \NOLIST)
RTGDTA(QCMDI)
OUTQ(\USRPRF)
The OS/400 program supports a new parameter for PRTDEV; the
CNLSEV parameter changes to ENDSEV; and the OUTQ parameter
supports the new values of *DEV and *USRPRF.
CRTJOBQ X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9. A new AUTCHK parameter has
been added.
CRTJRN X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTJRNRCV X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTLF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The ACCPTHMBR parameter is ignored in the System/38 environment
and not supported in the OS/400 program.
The RECOVER parameter values have changed on the AS/400 com-
mands. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
For the OS/400 program, the SYSTEM parameter is added to desig-
nate the location of the system.
CRTLIB X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36.
CRTLIND The CRT device configurations commands have changed. Use
CRTLINxxxx where xxxx is the line class or type. For example, use
CRTLINTRN for IBM Token-Ring Network. See “Device Configuration”
on page 2-7.
CRTMSGF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.

A-12 AS/400 System/38 Environment Programming


Figure A-1 (Page 12 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTMSGQ X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The SENDER parameter is ignored in the System/38 environment. All
message queues are treated as SENDER(*JOB *PGM *DTS). The
parameter is not supported in the OS/400 program.
For the OS/400 program, the CRTMSGQ SIZE parameter uses (3 1
*NOMAX) as the default instead of (3 1 3).
CRTMXDF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
CRTOUTQ X X The CRTOUTQ JOBSEP default changes on the OS/400 command
from 1 to 0. The SEQ default changes from *JOBNBR to *FIFO.
The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9. A new AUTCHK parameter has
been added.
CRTPF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The RECOVER parameter values have changed on the OS/400 com-
mands. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
For the OS/400 program, new parameters exist for ALWUPD,
ALWDLT, and SYSTEM.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
CRTPLIPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and *YES is used for the default
for the OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.

Appendix A. System/38 Commands and Command Definitions A-13


Figure A-1 (Page 13 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTPRTF X X The parameters TRNTBL and PRTIMG are ignored for the System/38
environment command. The parameters are not supported on the
OS/400 command.
The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36.
The default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The System/38 parameter FORMSIZE is renamed PAGESIZE on the
OS/400 command.
The following defaults have changed for the CRT command:
System/38 OS/4ðð
Environment Program
Keyword Default Default
DEV \NONE \JOB
OUTQ \JOB \JOB
FONT \DEVD \CPI
MAXRCDS 2ðððð 1ððððð
SCHEDULE \JOBEND \FILEEND
For OS/400 commands the following parameter changes have also
occurred:
Ÿ DEV supports the new values *SYSVAL and *JOB. *NONE is not
allowed.
Ÿ PRTQLTY supports the new value *DEVD.
Ÿ FONT supports the new value *CPI.
Ÿ COPIES supports up to 255 copies (instead of 99).
Ÿ New values are supported for the CPI, IGCCPI, and LPI parame-
ters for DBCS printers only.
New parameters are supported for DUPLEX, JUSTIFY, OUTPTY, and
USRDTA in the OS/400 program.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
On the OS/400 program, the System/38 DRAWER(3) value is replaced
by DRAWER(*E1), and DRAWER(3) is used to select the third paper
drawer.
CRTPRTIMG This command refers only to system attached printers on System/38.
Only work station attached printers are available on the AS/400
system.
CRTQRYAPP X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
CRTQRYDEF X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
CRTRJECFG X X
CRTRPGPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and defaults to *YES for the
OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
In the OS/400 program, the new parameter TGTRLS is supported.

A-14 AS/400 System/38 Environment Programming


Figure A-1 (Page 14 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTRPTPGM X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The REPLACE option is supported and defaults to *YES for the
OS/400 command. The REPLACE(*NO) function is implicitly
requested by the System/38 environment command.
For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
CRTSAVF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTSBSD X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
Pool size minimum is 32K instead of 16K as on System/38.
CRTSPADCT X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. The OS/400 command is similar to
the System/38 command. The DCT parameter has changed to
SPADCT. See “Dictionary 5714-DCT” on page 2-63.
The BASDCT parameter changes to BASEDCT in the System/38 envi-
ronment and in the OS/400 program.
The CL Reference contains additional information. The DCT param-
eter changes to SPADCT in the OS/400 program.
CRTSRCPF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The RECOVER parameter values have changed on the AS/400 com-
mands. *AFTSTRCPF becomes *AFTIPL, and *STRCPF becomes
*IPL.
For the OS/400 program, new parameters exist for ALWUPD,
ALWDLT, and SYSTEM.
CRTSSND X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
CRTTAPF X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.
The DENSITY parameter default is changed from 1600 to *DEVTYPE
on the OS/400 command. New density values are supported. The
800 value is not supported.
The default for the RCDBLKFMT parameter has been changed from
*F to *FB. For the OS/400 program, SEQNBR supports the new
values *END and *NEXT.
CRTTBL X X The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36. The
default library qualifier in the OS/400 program has changed to
*CURLIB. See “Library” on page 4-9.

Appendix A. System/38 Commands and Command Definitions A-15


Figure A-1 (Page 15 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
CRTUSRPRF X X Some of the System/38 environment parameters default differently to
the AS/400 values. There are new keywords and values with the
OS/400 command. See “Security” on page 2-36.
The PUBAUT keyword has changed to AUT and the values have
changed in the OS/400 program. See “Security” on page 2-36.
New parameters are supported in the OS/400 program.
CRTVDSK Replaced by folder support.
CVTDAT X X The OS/400 CVTDAT command supports the *JOB value for the
FROMFMT, TOFMT, and TOSEP parameter. It is now the default.
See “CL” on page 4-2.
CVTTOVDSK Virtual diskette is not supported. You must convert the data to docu-
ments in folders.
DATA X X
DCL X X
DCLDTAARA X The DCLDTAARA command is not supported in the OS/400 program.
DCLF X X The RTGDTA keyword is not supported in the OS/400 program.
DFNKBDMAP X SETKBDMAP
DLCOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
DLTCHTFMT X X
DLTCLS X X
DLTCMD X X The DLTCMD command must explicitly specify the QSYS38 or
QUSR38 library when you want to delete a command in QSYS38 or
QUSR38, respectively.
DLTCUD X DLTCTLD The CUD parameter becomes CTLD in the OS/400 program.
DLTDEVD X X
DLTDFUAPP X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.
DLTDKTLBL X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. *LOC is treated as *MOUNTED in
the System/38 environment. The TOVOL parameter does not support
the *LOC value in the OS/400 program. See “Diskette” on page 2-10
for a discussion of the need for a QDKT device description in the
System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value. The SUFFIX
parameter is not supported in the OS/400 program.
DLTDOC DLTDLO Documents are still stored in the object type *DOC. Because of the
new object type for folder (*FLR), some commands that worked only
on documents now work on both documents and folders. The DOC
parameter is changed to DLO in the OS/400 program. The abbrevi-
ation DLO means document library object and covers both types. The
PERIOD parameter is changed to CRTDATE in the OS/400 program.
DLTDOCL X X
DLTDTAARA X X
DLTDTAQ X X
DLTEDTD X X
DLTF X X For the OS/400 program, the SYSTEM parameter is added to desig-
nate the location of the system.

A-16 AS/400 System/38 Environment Programming


Figure A-1 (Page 16 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DLTFCT X X
DLTGSS X X
DLTIGCDCT X X
DLTIGCTBL X X
DLTJOBD X X
DLTJOBQ X X
DLTJRN X X
DLTJRNRCV X X
DLTLIB X X
DLTLIND X X
DLTMSGF X X
DLTMSGQ X X
DLTOUTQ X X
DLTOVR X X In the OS/400 program, FILE(*PRTF) is supported.
DLTPGM X X
DLTPRTIMG This command referred only to system attached printers on System/38.
Only work station attached printers are available on the AS/400
system.
DLTQRYAPP X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
DLTRJECFG X X
DLTSBSD X X
DLTSPADCT X X The OS/400 command, DLTSPADCT, is similar to the System/38
command. The DCT parameter has changed to SPADCT. See “Dic-
tionary 5714-DCT” on page 2-63. The CL Reference contains addi-
tional information. The DCT parameter changes to SPADCT in the
OS/400 program.
DLTSSND X X
DLTTBL X X
DLTUSRPRF X X
DLYJOB X X
DMPCLPGM X X
DMPJOB X X
DMPJOBINT X X
DMPOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
The *PRTIMG object type is not supported in the OS/400 program.
DMPSYSOBJ X X New values for object types (for example, *MENU) are valid with
OS/400 commands. The new values are not valid for the System/38
environment commands.
DMPTAP X X
DO X X
DSNAPF X STRAPF
DSNDFUAPP X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.

Appendix A. System/38 Commands and Command Definitions A-17


Figure A-1 (Page 17 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSNFMT X STRSDA
DSNQRYAPP X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
DSPACC X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPACCAUT X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPACTJOB X WRKACTJOB The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPAUTUSR X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPBKP X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPCHLSTS The X.25 status information is not available on the AS/400 system.
DSPCHT X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPCLS X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPCMD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The DSPCMD command must explicitly specify the QSYS38 or
QUSR38 library when you want to display a command in QSYS38 or
QUSR38, respectively.
DSPCNPA The CSNAP function does not exist on the AS/400 system. Some of
the same function may be achieved by the device configuration
THRESHOLD parameter.
DSPCRPHLP Help support is now available as a function key and not as a separate
command.
DSPCTLSTS X WRKCFGSTS The WRKCFGSTS command replaces DSPCTLSTS. The function is
the same in the OS/400 program except that the OUTPUT parameter
is not supported. The CTLU parameter changes to CFGD in the
OS/400 program.
The CFGTYPE parameter is new in the OS/400 program and is
required.
DSPCUD X DSPCTLD The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program. The CUD keyword changes to CTLD in the
OS/400 program.
DSPDBG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPDBR X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
AS/400 command. The OUTFILE value *NONE is not supported in
the OS/400 program.
The OS/400 command supports a new option on the OUTMBR param-
eter to allow you to control whether the member should be added to or
replaced. The System/38 environment command implicitly does a
replace.
A default of *LIBL is used for the OS/400 program instead of
*USRLIBL as in the System/38 environment.

A-18 AS/400 System/38 Environment Programming


Figure A-1 (Page 18 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPDEVCFG The DSPDEVCFG command is not supported on the AS/400 system.
See “Device Configuration” on page 2-7 for alternative solutions.
DSPDEVD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPDEVSTS X WRKCFGSTS The WRKCFGSTS command replaces DSPDEVSTS. The function is
the same in the OS/400 program except for the OUTPUT parameter is
not supported.
The CFGTYPE parameter is new and is required in the OS/400
program. The DEV parameter changes to CFGD in the OS/400
program.
DSPDIR X The DSPDIR command is replaced by a similar OS/400 command that
uses the same name. Additional parameters are supported. If you
have DSPDIR in a System/38 program, you must specify
DSPDIR.QSYS and prompt for the OS/400 program version. The
OUTPUT parameter value *LIST changes to *PRINT in the OS/400
program.
DSPDKT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 commands. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value.
The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPDOCAUT DSPUSRPMN The OUTPUT parameter value *LIST changes to *PRINT in the
OS/400 program.
DSPDSTLOG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The ENTTYPE parameter value *NST is supported in the System/38
environment. In the OS/400 program, it is changed to *DSQ.
DSPDSTSRV X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The NDEID parameter is ignored on the System/38 environment com-
mands and not supported for OS/400 commands.
DSPDSTSTS X WRKDSTQ The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
The NDEID parameter is ignored on the System/38 environment com-
mands and not supported for OS/400 commands.
DSPDTA X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.
The DSPDTA command from the System/38 IDU product is supported
in the System/38 environment. An OS/400 DSPDTA command associ-
ated with the OS/400 DFU. These are not the same functions. Using
DSPDTA in the OS/400 program causes a search for an OS/400 DFU
object. See “IDU - DFU (Data File Utility) 5714-UT1” on page 2-63
and “Data File Utility (DFU)” on page 4-16.
DSPDTAARA X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPEDTD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.

Appendix A. System/38 Commands and Command Definitions A-19


Figure A-1 (Page 19 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPFCT X WRKFCT The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPFD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
Card devices are not supported on the AS/400 system.
The value of *CURLIB is valid for library parameters.
The OUTPUT value of *NONE is specified as *OUTFILE on the
AS/400 command. The OUTFILE value *NONE is not supported in
the OS/400 program.
The OS/400 command supports a new option on the OUTMBR param-
eter to allow you to control whether the member should be added to or
replaced. The System/38 environment command implicitly does a
replace.
A default of *LIBL is used for the OS/400 program instead of
*USRLIBL as in the System/38 environment.
The OS/400 command supports new values on the file attribute
(FILEATR) keyword that are consistent with the new source and object
type.
Some field values have changed. See “Cross-Reference” on page 2-5
for details.
DSPFFD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command. The OUTFILE value *NONE is not supported in
the OS/400 program.
The value of *CURLIB is valid for library parameters.
The OS/400 command supports a new option on the OUTMBR param-
eter to allow you to control whether the member should be added to or
replaced. The System/38 environment command implicitly does a
replace.
A default of *LIBL is used for the OS/400 program instead of
*USRLIBL as in the System/38 environment.
DSPFNCHLP Help support is now available as a function key and not as a separate
command.
DSPGDF X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPIGCDCT X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPJOB X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPJOB in the System/38 environment performs the same function it
did on System/38 (changes are allowed). In the OS/400 program, the
command does a display-only function. The new command WRKJOB
performs the same function, but allows changes.
DSPJOBD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPJOBLOG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.

A-20 AS/400 System/38 Environment Programming


Figure A-1 (Page 20 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPJOBQ X WRKJOBQ The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPJRN X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program. OUTPUT(*NONE) in the System/38 environment
is changed to OUTPUT(*OUTFILE) in the OS/400 program. The
OUTFILE value *NONE is not supported in the OS/400 program.
DSPJRNA X WRKJRNA The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPJRNMNU X WRKJRN The command name has been changed to WRK, but the function is
the same in the OS/400 program.
DSPJRNRCVA X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPKBDMAP X X
DSPLIB X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPLIBL X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPLIND X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPLINSTS X WRKCFGSTS The WRKCFGSTS command replaces DSPLINSTS. The function is
the same in the OS/400 program except for the OUTPUT parameter is
not supported.
DSPLNKSTS The X.25 status information is not available on the AS/400 system.
DSPLOG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The DSPLOG command does not support the QCHG or QSRV log.
See “Logs” on page 2-18.
DSPMNU GO The DSPMNU command has been primarily replaced with the GO
command and the CMDxxx menus. Only the OS/400 commands
appear on menus. See “Menu” on page 2-18.
DSPMODSTS X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPMSG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The default for DSPMSG is to display both the work station message
queue (if any messages exist) and the user message queue. The
OS/400 command supports the new values *WRKUSR and *SYSOPR
for the MSGQ parameter.
DSPMSGD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The MSGID keyword is dropped from the OS/400 program. The
MSGF keyword defaults to QCPFMSG in the OS/400 program.
The DETAIL keyword is added in the OS/400 program.
In the OS/400 program, the MSGID parameter has been dropped and
*ALL is an added value for the RANGE parameter.
DSPMSGF X WRKMSGF The OUTPUT keyword is not supported.
The OS/400 command, WRKMSGD, has QCPFMSG as the default. It
supports more options than the System/38 environment DSPMSGF
command, which required the user to specify a message file name.

Appendix A. System/38 Commands and Command Definitions A-21


Figure A-1 (Page 21 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPNETA X X See the discussion on “Network Attributes” on page 2-22. The alert
network attributes have significantly changed. Some new attributes
can only be accessed from OS/400 commands.
The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPNETF X WRKNETF The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command.
DSPNETJOBE X WRKNETJOBE The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPOBJAUT X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
In the OS/400 program, the DSP commands perform display functions
only. The EDTOBJAUT command must be used to make changes.
For the OS/400 program, outfile support is added.
DSPOBJD X X The OUTPUT value of *LIST is specified as *PRINT on the OS/400
command.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command. This prevents both the display and outfile support
on the same command as exists in the System/38 environment.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command. If a OBJTYPE(*ALL) is specified, the new
object types are displayed.
In the OS/400 program, the DSP commands perform display functions
only. The WRKOBJ command must be used to make changes.
The OS/400 command supports a new option on the OUTMBR param-
eter to allow you to control whether the member should be added to or
replaced. The System/38 environment command implicitly does a
replace.
The library qualifier for OBJ is *LIBL.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to a
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
DSPOBJLCK X WRKOBJLCK The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
DSPOUTQ X WRKOUTQ The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.

A-22 AS/400 System/38 Environment Programming


Figure A-1 (Page 22 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPOUTQD X WRKOUTQD The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPOVR X X For the OS/400 program, the INVNBR parameter has been renamed
to LVL and parameter value of *CURRENT has changed to *.
The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPPGM X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPPGMADP X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command. The OUTFILE value *NONE is not supported in
the OS/400 program.
DSPPGMCHG DSPPTF The new parameter OUTFILE is supported. The OUTPUT value of
*LIST is changed to *PRINT in the OS/400 program.
The new parameter OUTMBR is supported in the OS/400 program.
The LIB parameter is not supported in the OS/400 program. The
PGMID parameter changes to LICPGM in the OS/400 program.
DSPPGMMNU X STRPGMMNU The LOGRQS parameter is ignored in the System/38 environment and
logging always occurs. The JOBD parameter defaults to *USRPRF.
For other changes in the menu operation, see the “Programmer Menu”
on page 2-27.
DSPPGMREF X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command. The OUTFILE value *NONE is not supported in
the OS/400 program.
The OS/400 command supports a new option on the OUTMBR param-
eter to allow you to control whether the member should be added to or
replaced. The System/38 environment command implicitly does a
replace.
A default of *LIBL is used for the OS/400 program instead of
*USRLIBL as in the System/38 environment.
DSPPGMVAR X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
For the OS/400 program, the INVLVL parameter is renamed to
RCRLVL.
DSPRCDLCK X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPRDR X WRKRDR The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPRJECFG X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPRJESSN X WRKRJESSN The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPRPYL X WRKRPYLE The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.

Appendix A. System/38 Commands and Command Definitions A-23


Figure A-1 (Page 23 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPSAVF X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPSBMJOB X WRKSBMJOB The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
The default for the OS/400 command changes the default of
SBMFROM from *JOB to *USER.
DSPSBS X WRKSBSJOB The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPSBSD X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPSPLF X X
DSPSPLFA X WRKSPLFA The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPSRVSTS X X
DSPSSND X WRKSSND The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPSTGCFG The display function is available through either DST or SST. See
“Checksums” on page 2-2.
DSPSYS X WRKSBS The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPSYSSTS X WRKSYSSTS The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
DSPSYSVAL X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The list of system values has changed. Some System/38 values have
been deleted, some have changed definitions, and new system values
exist. Only the OS/400 commands can access the new system
values. See “System Values” on page 2-57.
DSPTAP X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPTRC X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPTRCDTA X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
DSPUSRPRF X X The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The DSPUSRPRF command exists in the OS/400 program, but does
not have a function key to allow a change. The WRKUSRPRF
command can be used for a similar function.
New parameters are supported in the OS/400 program.
DSPUSRPWD DSPUSRPWD is not supported on the AS/400 system as it is only
meaningful when passwords are not encrypted. See “Security” on
page 2-36.

A-24 AS/400 System/38 Environment Programming


Figure A-1 (Page 24 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
DSPWTR X WRKWTR The command name has been changed to WRK, but the function is
the same in the OS/400 program. The OUTPUT keyword value has
changed from *LIST to *PRINT in the OS/400 program.
The OS/400 WRKWTR command supports the new keyword DSPFMT
and the WTR parameter supports the new value *PRT.
DUPDKT X X The TOLOC and FROMLOC parameters are ignored in the System/38
environment and not supported in the OS/400 command. FROMDEV,
TODEV, and COPIES are new keywords in the OS/400 program.
Only RGZVOL remains the same in both the OS/400 program and the
System/38 environment. See “Diskette” on page 2-10 for a discussion
of the need for a QDKT device description in the System/38 environ-
ment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value.
EDTDOC The EDTDOC command from System/38 does not run in the
System/38 environment. A command of the same name in the
OS/400 program exists to access the Office editor. See “Text Man-
agement 5714-WP2” on page 2-66 for how this command is sup-
ported.
EDTIGCDCT X X
EDTIGCTBL X STRCGU
EDTSRC X STRSEU
EDTTXT X See “Text Management 5714-WP2” on page 2-66 for how this
command is supported.
EJTEMLOUT X X New parameters have been added to the OS/400 program for
EMLLOC and PRTDEV.
ELSE X X
EMLPRTKEY X X New parameters have been added to the OS/400 program for
EMLLOC and PRTDEV.
EML3270 X STREML3270 The KBDTYP entries have changed for the OS/400 program. See
“Emulation (3270)” on page 2-11. The following keyword names have
changed:
System/38
Environment OS/400 Keywords
EMLCTLU EMLCTL
WAITHOST INZWAIT
KBDTYP KBDTYPE
ROLLUP PAGEDOWN
ROLLDOWN PAGEUP
WRKSTN DSPDEV
The PAGEDOWN and PAGEUP keyword values *PF1 through *PF24
have changed to *F1 through *F24 in the OS/400 program.
The System/38 environment EML3270 command has been changed.
The values BLB, SFB, and SGB will not be accepted for the KBDTYP
parameter. The values are removed for the following keyboards:
BLB Belgium country specific code page
SFB Swiss/French country specific code page
SGB Swiss/German country specific code page
ENCCPHK X X

Appendix A. System/38 Commands and Command Definitions A-25


Figure A-1 (Page 25 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
ENCFRMMSTK X X The cryptographic parameter names have changed as follows:
System/38
Environment OS/400 Keywords
XDMNK1 CRSDMNK1
XDMNK2 CRSDMNK2
ENCTOMSTK X X The cryptographic parameter names have changed as follows:
System/38
Environment OS/400 Keywords
XDMNK CRSDMNK
ENDCBLDBG X X
ENDCMTCTL X X
ENDDBG X X
ENDDO X X
ENDINP X X
ENDJOB X ENDBCHJOB If ENDJOB is specified in the OS/400 program, the System/38
CNLJOB function is used.
For the OS/400 command ENDBCHJOB, the parameter ADLINTJOBS
is supported.
ENDJRNAP X X
ENDJRNPF X X
ENDPASTHR X X
ENDPGM X X
ENDSRV X ENDSRVJOB
ENTADM Administrative management is not supported on the AS/400 system.
ENTBGU X STRBGU
ENTCBLDBG X STRCBLDBG
ENTDBG X STRDBG The user must have *CHANGE authority to debug a program instead
of the read right on System/38.
ENTPS X STROFC
EXCBASPRC X STRBASPRC
FMTDTA X X For the OS/400 program, the OPTION parameter supports a new
value to select if second-level message text should be printed.
In the OS/400 program, the default library qualifier has changed to
CURLIB.
FMTRJEDTA X CVTRJEDTA
GENCPHK X X The cryptographic parameter names have changed as follows:
System/38
Environment OS/400 Keywords
SNDXDMNK SNDCRSDMNK
RCVXDMNK RCVCRSDMNK
GENMAC X X
GENPIN X X
GENXDMNK X GENCRSDMNK The cryptographic parameter names have changed as follows:
System/38
Environment OS/400 Keywords
XDMNK CRSDMNK
GOTO X X

A-26 AS/400 System/38 Environment Programming


Figure A-1 (Page 26 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
GRTACCAUT X X
GRTDOCAUT GRTUSRPMN
GRTOBJAUT X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
For the OS/400 program, the AUTL parameter is added.
For the OS/400 program, new values exist for the AUT parameter. See
“Security” on page 2-36.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
GRTUSRAUT X X
HLDCMNDEV X X
HLDJOB X X
HLDJOBQ X X
HLDOUTQ X X
HLDRDR X X
HLDSPLF X X The SELECT parameter has been added and FILE(*SELECT) is sup-
ported in the OS/400 program.
HLDWTR X X
IF X X
INZDKT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value. The SUFFIX
parameter is not supported in the OS/400 program.
INZPFM X X
INZTAP X X The tape densities allowed on the System/38 are supported in the
System/38 environment. In the OS/400 program, the default is
*DEVTYPE and the AS/400 densities are supported.
JOB X BCHJOB There is a difference between System/38 and the System/38 environ-
ment with the RTGDTA parameter. On System/38 the default is
*JOBD. In the System/38 environment, the default is QCMD38. In the
OS/400 program, the default is QCMDB.
The OS/400 BCHJOB command supports the new keywords for
PRTDEV, DATFMT, and DATSEP. The CNLSEV parameter name
has been changed to ENDSEV. The OUTQ parameter supports the
new values of *DEV and *USRPRF.
JRNAP X STRJRNAP
JRNPF X STRJRNPF
LODPGMCHG LODPTF The VOL and LOC parameters are not supported. The DEV param-
eter is now used to specify the media type that is used to load the
PTFs. The PTF can be on tape or diskette, in a save file, or received
electronically. The PGMID parameter is changed to LICPGM in the
OS/400 program. The LIB parameter is not supported in the OS/400
program.
LSTCMDUSG X PRTCMDUSG

Appendix A. System/38 Commands and Command Definitions A-27


Figure A-1 (Page 27 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
LSTCNPDTA The CSNAP function does not exist on the AS/400 system. Some of
the same function may be achieved by the device configuration
THRESHOLD parameter.
LSTCNPHST The CSNAP function does not exist on the AS/400 system. Some of
the same function may be achieved by the device configuration
THRESHOLD parameter.
LSTERRLOG PRTERRLOG The function is replaced by the PRTERRLOG command. It is similar
to LSTERRLOG, but supports additional parameters ERRLOGID and
RSRCNAME. The TYPE parameter value *VSDR changes to
*VOLSTAT in the OS/400 program. The VSDR parameter changes to
VOLSTAT in the OS/400 program.
LSTINTDTA X PRTINTDTA The function TYPE(*ECLOG) is not supported. TYPE(*MTR) has
changed to TYPE(*INTCFG) in the OS/400 program.
MNGDEVTBL X WRKDEVTBL
MNGDIR WRKDIR Additional parameters are supported on the WRKDIR and WRKDSTL
commands.
MNGDSTL WRKDSTL Additional parameters are supported on the WRKDIR and WRKDSTL
commands.
MNGPGMTBL X WRKPGMTBL
MNGUSRTBL X WRKUSRTBL
MONMSG X X
MOVOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
MRGFORMD X X
MRGMSGF X X
OPNDBF X X
OPNQRYF X X The OS/400 command supports the new function %DIGITS.
For the OS/400 program, the new parameter IGNDECERR is sup-
ported. A new value *LAST is supported for the member part of the
FILE parameter.
OVRBSCF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
OVRCMNF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
OVRCRDF Card devices are not supported on the AS/400 system.
OVRDBF X X The OS/400 command supports the new values *FIRST and *LAST for
the MBR parameter.
OVRDKTF X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
For the OS/400 program, the OUTPTY and USRDTA parameters have
been added.
OVRDSPF X X

A-28 AS/400 System/38 Environment Programming


Figure A-1 (Page 28 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
OVRMSGF X X
OVRMXDF X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
OVRPRTF X X The parameters TRNTBL and PRTIMG are ignored for the System/38
environment command. The parameters are not supported on the
OS/400 command.
The System/38 parameter FORMSIZE is renamed PAGESIZE on the
OS/400 commands.
For OS/400 commands, the following parameter changes have also
occurred:
Ÿ DEV supports the new values *SYSVAL and *JOB. *NONE is not
allowed.
Ÿ PRTQLTY supports the new value *DEVD.
Ÿ FONT supports the new value *CPI.
Ÿ COPIES supports up to 255 copies (instead of 99).
Ÿ New values are supported for the CPI, IGCCPI, and LPI parame-
ters for DBCS printers only.
Ÿ File supports the new value *PRTF.
For the OS/400 program, the new parameters SPLFNAME, OUTPTY,
JUSTIFY, and USRDTA have been added.
A new parameter, DUPLEX, has been added in the OS/400 program.
For the OS/400 program, the System/38 DRAWER(3) value is
replaced by DRAWER(*E1), and DRAWER(3) is used to select the
third paper drawer.
OVRSAVF X X
OVRTAPF X X For the OS/400 program, the EXTEND parameter is a list. The
second element supports *CHECK and *NOCHECK.
For the OS/400 program, SEQNBR supports the new value *NEXT.
PCHPGM The PCHPGM command is not supported. PTFs are used.
PGM X X
PRPAPAR CRTAPAR The INCMTR parameter function is supported as the INTCFG param-
eter on the OS/400 command. The LOC parameter is not supported
in the OS/400 program and is ignored in the System/38 environment.
The OS/400 command CRTAPAR has significant differences in func-
tion and keywords. The keywords used are dependent on the
reported problem.
PRTDOC The PRTDOC command from System/38 does not run in the
System/38 environment. A command of the same name in the
OS/400 program exists to access the Office editor. See “Text Man-
agement 5714-WP2” on page 2-66 for how this command is supported
by a PRPQ.
PWRCTLU The PWR commands for controllers and devices are not supported by
the AS/400 system.
PWRDEV The PWR commands for controllers and devices are not supported by
the AS/400 system.
PWRDWNSYS X X The PWRDWNSYS command ADRRGN and CFGSTG parameters are
ignored on the System/38 environment command and are not sup-
ported on the OS/400 command. Address regeneration is done at IPL
time on the AS/400 system. The disk device configuration function is
done through DST. For the OS/400 command, the DELAY parameter
default is changed from *NOLIMIT to 3600 (1 hour).

Appendix A. System/38 Commands and Command Definitions A-29


Figure A-1 (Page 29 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
QRYDTA X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
RCLDDMCNV X X
RCLRSC X X
RCLSTG X X
RCVDTAARA X The RCVDTAARA command is not supported in the OS/400 program.
You must convert to RTVDTAARA.
RCVF X X
RCVJRNE X X
RCVMSG X X The PDPCODE parameter is ignored in the System/38 environment
and not supported in the OS/400 program. The SECLVL keyword
supports up to 3000 characters in the OS/400 program (1435 in the
System/38 environment). Both the System/38 environment and the
OS/400 program allow special control characters to be entered into the
message text to assist in formatting.
RCVNETF X X
RETURN X X
RGZPFM X X
RLSCMNDEV X X
RLSJOB X X
RLSJOBQ X X
RLSOUTQ X X
RLSRDR X X
RLSSPLF X X For the OS/400 program, the SELECT parameter is added and
FILE(*SELECT) is supported.
RLSWTR X X
RMVACC X X
RMVAJE X X
RMVBKP X X
RMVBSCDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
RMVCMNDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
RMVCMNE X X The DEV parameter is changed in the System/38 environment. The
OS/400 program adds the RMTLOCNAME parameter.
RMVDEVMODE The device mode function has changed. There is a new object type
for device modes. See “Device Configuration” on page 2-7.
RMVDSPDEVE X Mixed, communications, and BSC files are replaced in the OS/400
program by ICF files. See “Data Description Specifications (DDS)” on
page 4-4.
RMVFCTE X X
RMVJOBQE X X
RMVJRNCHG X X
RMVLIBLE X X
RMVM X X

A-30 AS/400 System/38 Environment Programming


Figure A-1 (Page 30 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
RMVMSG X X
RMVMSGD X X
RMVNETJOBE X X
RMVPGM X X
RMVPGMCHG RMVPTF The PGMID parameter has changed to LICPGM and is required.
PGM is no longer supported. The LIB keyword is not supported in the
OS/400 program.
RMVRJECMNE X X
RMVRJERDRE X X
RMVRJEWTRE X X
RMVRPYLE X X
RMVRTGE X X
RMVTRC X X
RMVWSE X X
RMVXDMNK X RMVCRSDMNK The cryptographic parameter names have changed as follows:
System/38
Environment OS/400 Keywords
XDMNK CRSDMNK
RNMDKT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. The VOL parameter does not
support the *LOC value in the OS/400 program. See “Diskette” on
page 2-10 for a discussion of the need for a QDKT device description
in the System/38 environment.
The System/38 environment DEV parameter defaults to QDKT. The
OS/400 DEV parameter requires a user-specified value. The SUFFIX
parameter is not supported in the OS/400 program.
RNMM X X
RNMOBJ X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
For the OS/400 program, the SYSTEM parameter is added to desig-
nate the location of the system.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
ROLLBACK X X
RPLLIBL X CHGLIBL The RPLLIBL command is unchanged in the System/38 environment.
The OS/400 CHGLIBL command is the same as RPLLIBL plus the
CURLIB parameter. The EDTLIBL command also exists in the
OS/400 program to allow an easy interactive method of changing the
library list.
RRTJOB X X
RSMBKP X X
RSMCTLRCY X X For the OS/400 program, the CTLU keyword has been renamed to
CTL.
RSMDEVRCY X X
RSMLINRCY X X
RSTAUT X X

Appendix A. System/38 Commands and Command Definitions A-31


Figure A-1 (Page 31 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
RSTDOC RSTDLO Documents are still stored in the object type *DOC. Because of the
new object type for folder (*FLR), some commands that worked only
on documents now work on both documents and folders.
The DOC parameter changes to DLO in the OS/400 program. The
abbreviation DLO means document library object and covers both
types. The OUTPUT parameter value *LIST changes to *PRINT in the
OS/400 program. The NAMOPT parameter changes to NEWOBJ in
the OS/400 program. The LOC parameter is not supported in the
OS/400 program.
For OS/400 commands, the LABEL parameter may be used to specify
the data file identifier on the media.
In the OS/400 program, VOL(*MOUNTED) is the default and DEV is a
required parameter. DEV(*SAVF) should be used when restoring from
a save file.
The OVERRIDE command is supported in the OS/400 program.
RSTLIB X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command.
The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
For OS/400 commands, the LABEL parameter may be used to specify
the data file identifier on the media.
In the OS/400 program, VOL(*MOUNTED) is the default and DEV is a
required parameter. DEV(*SAVF) should be used when restoring from
a save file.
The ALWOBJDIF parameter is supported in the OS/400 program.
RSTOBJ X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command.
The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
The OS/400 command supports the FILEMBR parameter to restore
individual members.
For OS/400 commands, the LABEL parameter may be used to specify
the data file identifier on the media.
The ALWOBJDIF parameter is supported in the OS/400 program.
In the OS/400 program, VOL(*MOUNTED) is the default and DEV is
the required parameter. DEV(*SAVF) should be used when restoring
from a save file.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
RSTPGMPRD RSTLICPGM The OUTPUT keyword value has changed from *LIST to *PRINT in
the OS/400 program.
The LOC parameter is not supported in the OS/400 program.
The RSTPGMPRD command does not run in the System/38 environ-
ment. The OS/400 command supports tape only and has significant
changes. The CL Reference contains additional information.

A-32 AS/400 System/38 Environment Programming


Figure A-1 (Page 32 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
RSTUSRPRF X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 commands.
DEV is a required parameter in the OS/400 program.
The ALWOBJDIF parameter and MAIL keyword are supported in the
OS/400 program.
RTVCLSRC X X
RTVDFUSRC X The System/38 DFU product is only supported in the System/38 envi-
ronment. See “Data File Utility (DFU)” on page 4-16.
RTVDTAARA X X The DTAARA keyword supports the new option *ADT.
RTVGRPA X X
RTVJOBA X X For the OS/400 program, new parameters exist for DATFMT,
DATSEP, CURLIB. PRTDEV, SYSLIBL, CURUSER, and SUBTYPE.
The EXCPTY parameter is renamed to RUNPTY. The CNLSTS
keyword changes to ENDSTS in the OS/400 program.
RTVJRNE X X
RTVMSG X X The PDPCODE parameter is ignored in the System/38 environment
and not supported in the OS/400 program. The ALRID keyword has
been renamed to ALROPT in the OS/400 program. The values have
changed for this keyword in both the System/38 environment and the
OS/400 program. The SECLVL keyword supports up to 3000 charac-
ters in the OS/400 program (1435 in the System/38 environment).
Both the System/38 environment and the OS/400 program allow
special control characters to be entered into the message text to assist
in formatting.
RTVNETA X X See the discussion on “Network Attributes” on page 2-22. The alert
network attributes have significantly changed. There are new attri-
butes that can only be accessed from the OS/400 command. The
SYSNAM parameter becomes SYSNAME in the OS/400 program.
RTVQRYSRC X The System/38 Query product is only supported in the System/38 envi-
ronment. See “Query” on page 4-16.
RTVSYSVAL X X The list of system values has changed. Some System/38 values have
been deleted, some have changed definitions and new system values
exist. Only the OS/400 command can access the new system values.
See “System Values” on page 2-57 and the Work Management book
for more details about system values. The parameter
SYSVAL(QAUTOIMPL) changes to SYSVAL(QIPLSTS) in the OS/400
program.
RTVUSRPRF X X There are new keywords and values with the OS/400 command. See
“Security” on page 2-36.
New parameters are supported in the OS/400 program.
RVKACCAUT X X
RVKDOCAUT RVKUSRPMN

Appendix A. System/38 Commands and Command Definitions A-33


Figure A-1 (Page 33 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
RVKOBJAUT X X New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
For the OS/400 program, new values exist for the AUT parameter.
See “Security” on page 2-36.
The AUT parameter value *NORMAL changes to *CHANGE and the
value *OPER changes to *USE in the OS/400 program.
For the OS/400 program, the AUTL parameter is added.
SAVCHGOBJ X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
For the OS/400 command, the LABEL parameter may be used to
specify the data file identifier on the media.
DEV is a required parameter. DEV(*SAVF) should be specified when
saving to a save file.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
In the OS/400 program, the new parameter TGTRLS is supported.
The CLEAR parameter value *YES changes to *ALL in the OS/400
program. The CLEAR parameter *NO changes to *NONE in the
OS/400 program.
SAVDOC SAVDLO Documents are still stored in the object type *DOC. Because of the
new object type for folder (*FLR), some commands that worked only
on documents now work on both documents and folders.
The LOC parameter is not supported in the OS/400 program.
The OUTPUT parameter value *LIST changes to *PRINT in the
OS/400 program.
The DOC parameter becomes DLO and *SYSOBJNAM in the OS/400
program. The abbreviation DLO means document library object and
covers both types.
The PERIOD parameter becomes CRTDATE in the OS/400 program.
The CLEAR parameter values *YES and *NO are not supported in the
OS/400 program.
For the OS/400 command, the LABEL parameter may be used to
specify the data file identifier on the media.
In the OS/400 program, DEV is a required parameter. DEV(*SAVF)
should be specified when saving to a save file.
In the OS/400 program, the new parameter TGTRLS is supported.
In the OS/400 program, the *MAIL special value is supported on the
DLO keyword.

A-34 AS/400 System/38 Environment Programming


Figure A-1 (Page 34 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
SAVLIB X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
For the OS/400 command, the LABEL parameter may be used to
specify the data file identifier on the media.
In the OS/400 program, DEV is a required parameter. DEV(*SAVF)
should be specified when saving to a save file.
In the OS/400 program, the new parameter TGTRLS is supported.
The CLEAR parameter value *YES changes to *ALL in the OS/400
program. The CLEAR parameter *NO changes to *NONE in the
OS/400 program.
SAVOBJ X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command.
New values for object types (for example, *MENU) are valid with the
OS/400 command. The new values are not valid for the System/38
environment command.
In the System/38 environment, the *PRTIMG object type, if specified,
is not supported. It exists to allow for source to be moved to
System/38. In the OS/400 program, the *PRTIMG object type cannot
be specified.
The OS/400 command supports the FILEMBR parameter to save indi-
vidual members.
For the OS/400 command, the LABEL parameter may be used to
specify the data file identifier on the media.
In the OS/400 program, DEV is a required parameter. DEV(*SAVF)
should be used when saving to a save file.
The CLEAR parameter value *YES changes to *ALL in the OS/400
program. The CLEAR parameter *NO changes to *NONE in the
OS/400 program.
In the OS/400 program, the new parameter TGTRLS is supported.
SAVSAVFDTA X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command.
In the OS/400 program, DEV is a required parameter. DEV(*SAVF)
should be used when saving to a save file.
The DTACPR parameter is supported in the OS/400 program.
SAVSYS X X SAVSYS only outputs to tape on the AS/400 system. The LOC
parameter is ignored in the System/38 environment and not supported
in the OS/400 command.
In the OS/400 program, DEV is a required parameter.
The CLEAR parameter value *YES changes to *ALL in the OS/400
program. The CLEAR parameter *NO changes to *NONE in the
OS/400 program.
SBMCRDJOB Card devices are not supported on the AS/400 system.
SBMDBJOB X X
SBMDKTJOB X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
SBMFNCJOB X X

Appendix A. System/38 Commands and Command Definitions A-35


Figure A-1 (Page 35 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
SBMJOB X X The defaults for the SBMJOB command are changing as follows for
the OS/400 command:
System/38 OS/4ðð
Environment Program
Keyword Default Default
JOBD QBATCH.QGPL \USRPRF
RTGDTA \JOBD QCMDB
INLLIBL \JOBD \CURRENT
OUTQ \JOBD \CURRENT
MSGQ \WRKSTN \USRPRF
RQSDTA \JOBD \CMD
For the OS/400 program, there are new parameters for CURLIB,
SYSLIBL, and PRTDEV.
There is a difference between System/38 and the System/38 environ-
ment with the RTGDTA parameter. On System/38 the default is
*JOBD. In the System/38 environment, the default is QCMD38.
SBMNETJOB X X
SBMRJEJOB X X
SBMRMTCMD X X
SETATNPGM X X
SETMSTK X X
SIGNOFF X X
SNDBRKMSG X X For the OS/400 program, the SNDBRKMSG TOMSGQ parameter is a
required entry. *ALLWS is still supported, but must be specified. The
System/38 environment version defaults to *ALLWS.
SNDDTAARA X The SNDDTAARA command is not supported in the OS/400 program.
You must convert to CHGDTAARA.
SNDF X X
SNDJRNE X X
SNDMSG X X The OS/400 command supports the new parameter TOUSR for the
user message queue. This also allows an option to send to all active
(signed on) work stations.
SNDNETF X X
SNDNETMSG X X
SNDNETSPLF X X
SNDPGMMSG X X The OS/400 command supports the new parameter TOUSR for the
user message queue. This also allows an option to send to all active
(signed on) work stations.
SNDRCVF X X
SNDRPY X X
SNDUSRMSG X X The OS/400 command supports the new parameter TOUSR for the
user message queue. This also allows an option to send to all active
(signed on) work stations.
SRVJOB X STRSRVJOB
STPCTLRCY X ENDCTLRCY For the OS/400 program, the CTLU keyword has been renamed to
CTL.
STPDEVRCY X ENDDEVRCY
STPLINRCY X ENDLINRCY
STRCNFCHK Use the ANZPRB command if you are experiencing problems.

A-36 AS/400 System/38 Environment Programming


Figure A-1 (Page 36 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
STRCRDRDR Card devices are not supported on the AS/400 system.
STRCRDWTR Card devices are not supported on the AS/400 system.
STRDBRDR X X
STRDKTRDR X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
STRDKTWTR X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
For the OS/400 program, the AUTOTRM parameter is renamed to
AUTOEND.
STRPDP The problem determination functions have changed. See “Service” on
page 2-45.
Use the ANZPRB command if you are experiencing problems.
STRPRTEML X X The STRPRTEML command in the OS/400 program supports new
parameters for EMLLOC, PRTDEV, DFRPRTOUT, NUMCOL,
NUMLIN, SPOOL, and TRNTBLOUTB. The CHRSET keyword values
have changed in both the System/38 environment and the OS/400
program as described in “Emulation (3270)” on page 2-11.
The EMLCTLU parameter changes to EMLCTL in the OS/400
program. The MSGQ parameter value *WRKSTN changes to
*DSPDEV in the OS/400 program.
The System/38 environment STRPRTEML command has been
changed. The values BLB, SFB, and SGB will not be accepted for the
CHRSET parameter. The values are removed for the following
keyboards:
BLB Belgium country specific code page
SFB Swiss/French country specific code page
SGB Swiss/German country specific code page
STRPRTWTR X X The OS/400 command supports new keywords FILESEP and ALIGN.
New keyword and values are supported for DEV(*ALL),
DEV(*SYSVAL), FORMTYPE(*FORMS) and OUTQ(*DEV). The
AUTOTRM keyword has been renamed to AUTOEND.
For the OS/400 program, WTR(*ALL) and WTR(*SYSVAL) are added.
STRRJECSL X X
STRRJERDR X X
STRRJESSN X X
STRRJEWTR X X
STRSBS X X
TFRBCHJOB X X
TFRCTL X X
TFRGRPJOB X X
TFRJOB X X
TFRSECJOB X X

Appendix A. System/38 Commands and Command Definitions A-37


Figure A-1 (Page 37 of 37). System/38 Commands
System/38 OS/400
System/38 Environment New
Command Run Command Comments
TRCINT X X The LOC parameter is ignored in the System/38 environment and not
supported in the OS/400 command. See “Diskette” on page 2-10 for
a discussion of the need for a QDKT device description in the
System/38 environment.
The SET parameter value *CNL has been changed to *END in the
OS/400 program.
For the OS/400 program, the new parameter SIZE is supported.
TRCJOB X X The OUTPUT keyword value changes from *LIST to *PRINT in the
OS/400 program.
The SET parameter value *CNL changes to *END in the OS/400
program.
The OUTPUT value of *NONE is specified as *OUTFILE on the
OS/400 command. The OUTFILE parameter value *NONE is not sup-
ported in the OS/400 program.
TRMCPF X ENDSYS
TRMGRPJOB X ENDGRPJOB
TRMPRTEML X ENDPRTEML New parameters have been added to the OS/400 program for
EMLLOC and PRTDEV.
TRMRJESSN X ENDRJESSN
TRMSBS X ENDSBS
TRNPIN X X
VFYMSTK X X
VFYPIN X X
VFYPRT X X
VRYCTLU X VRYCFG The VRYCFG command renames the CTLU keyword to CFGOBJ and
supports a list of 256, instead of 50, names. New parameters exist for
CFGTYPE, RESET, and RANGE. RESET is not valid on System/38
environment VRYCTLU.
VRYDEV X VRYCFG The VRYCFG command renames the DEV keyword to CFGOBJ and
supports a list of 256, instead of 50, names. New parameters exist for
CFGTYPE, RESET, and RANGE. RESET is not valid on System/38
environment VRYDEV.
VRYLIN X VRYCFG The VRYCFG command renames the LINE keyword to CFGOBJ and
supports a list of 256, instead of 50, names. New parameters exist for
CFGTYPE, RESET, and RANGE. RESET is not valid on System/38
environment VRYLIN.
WAIT X X

A-38 AS/400 System/38 Environment Programming


Appendix B. DDS Keyword Changes
The following DDS keyword restrictions apply to syntax of LIBRARY/OBJECT. The following
both the System/38 environment and the OS/400 keywords that exist on System/38 allow the spec-
program: ification of a qualified name to be specified as a
parameter value:
Ÿ In a physical file, a logical file cannot be spec-
ified on the FORMAT keyword. See “Data ALTSEQ
Description Specifications (DDS)” on page 2-6 ERRMSGID
for more information about the FORMAT EVOKE
keyword. FORMAT
JFILE
Ÿ On the SECURITY keyword, the *PASS-
JOIN
WORD special value is not allowed for the
JREF
password parameter. Also, the maximum
length of the security information is reduced MSGCON
from 11 to 10 characters. PFILE
PRINT
Ÿ On the DSPSIZ keyword, the values associ-
REF
ated with the 16 by 64 (*DS1) and the 12 by
REFFLD
80 (*DS2) displays are not valid. See “Data
SFLMSGID
Description Specifications (DDS)” on page 2-6
TRNTBL
for more information about the DSPSIZ
keyword. The REFFLD keyword that exists on System/38
allows the specification of a qualified field name.
The following routing keywords exist in the On the OS/400 program, the syntax of a qualified
System/38 environment, but not in the OS/400 field name is RECORD/FIELD
program:
On the OS/400 program, two keywords have been
RTGAID
renamed, with no change in function:
RTGCON
RTGDEV System/38 OS/400
RTGDEVCLS Environment Program
RTGFIRST RCVCFM RCVCONFIRM
RTGFLD TRNRND RCVTRNRND
RTGFMT
RTGPOS The ACCPTH keyword has been replaced by the
REFACCPTH keyword in the OS/400 program.
The information returned on the RTGDEV, On the System/38, the ACCPTH keyword
RTGDEVCLS, and RTGFMT keywords is available described explicit access path sharing. The
in the Common I/O Feedback Area (offsets 32, 30, ACCPTH keyword in the System/38 environment
and 20, respectively). The information returned on and the REFACCPTH keyword in the OS/400
the RTGAID keyword is available either in the program are only used to copy the key, select,
Device Dependent I/O Feedback Area (offset 2) or and omit specifications and the values for the
through the use of response indicators specified DYNSLT, FIFO, LIFO, FCFO, UNIQUE, and
on the associated DDS keywords. See Appendix ALTSEQ keywords to the logical file being
A in the Data Management book for more informa- created. See “Database” on page 2-5 for more
tion on the I/O Feedback areas. Because the information about these keywords.
RTGCON, RTGFIRST, RTGFLD, and RTGPOS
keywords were used only to pass data and con- In database files, the new DBCS data types of J
stants to a routing program, they have no use on (DBCS Only) and E (DBCS Either) are supported
the AS/400 system. in the OS/400 program. They are not allowed in
the System/38 environment. The REFSHIFT
To convert DDS source to the OS/400 program, keyword cannot be specified on a DBCS capable
you must convert qualified names to the OS/400 field on the OS/400 program, but is allowed on a

 Copyright IBM Corp. 1994 B-1


DBCS Open field in the System/38 environment. “Database” on page 2-5 for more information
See “Database” on page 2-5 for more information about DBCS.
about DBCS fields.
Ÿ In a display file, a field can start in the first
position of the display when SLNO(*VAR) is
In printer files, the DRAWER(3) keyword has a dif-
specified on the record.
ferent meaning in the System/38 environment and
in the OS/400 program. To select forms from the Ÿ In a display file, a field can end in the last
envelope drawer, specify DRAWER(3) in the position of the display.
System/38 environment or DRAWER(*E1) in the
Ÿ In a display file on a DBCS system, file and
OS/400 program. The special value *E1 is not
record level CHGINPDFT(FE) keywords apply
supported on the DRAWER keyword in the
to DBCS Only, Open, and Either fields.
System/38 environment. In the OS/400 program,
the DRAWER(3) keyword is used to select cut Ÿ In a display file on a DBCS system, file and
sheets from the third paper drawer. record level CHGINPDFT(LC) keywords apply
to DBCS Open and DBCS Either fields. Also,
The following enhancements are allowed in the the LOWER, CHECK(LC), and
System/38 environment but are not valid on a CHGINPDFT(LC) keywords apply to an
System/38: IGCALTTYP field when IGCDTA(*YES) is
specified. This function allows entry of lower-
Ÿ Hexadecimal message identifiers are allowed
case alphameric characters in fields which, on
on the DDS message keywords.
the System/38, allowed entry of only double-
Ÿ The OS/400 database keyword FIFO is byte, uppercase alphameric, and Katakana
allowed, although a warning message is characters.
issued when the file is created. See
Ÿ In a printer file, the CHRSIZ keyword can be
“Database” on page 2-5 for more information
specified in the same record format with
about this keyword.
BLKFOLD, CPI, and DFNCHR keywords.
Ÿ In a logical file, DBCS capable fields can be
specified on the CONCAT keyword. See

B-2 AS/400 System/38 Environment Programming


Appendix C. Display and Print File Return Codes
The following describes the list of all return codes Figure C-1 (Page 1 of 6). Return Codes
used for display and print files. Most of the return System/38 AS/400 Message DSP PRT
codes have changed. System
0000 0000 CPF4918 x
If you have coded for these return codes in your
high-level language program, you need to make 0000 0000 CPF4919 x
changes to successfully migrate to the System/38 0000 0000 CPF5003 x
environment.
0000 0200 ------- x

The return codes used on the AS/400 system for 0001 0001 ------- x
display and print files are identical between the 0300 0300 ------- x
System/38 environment and the OS/400 program.
0300 0300 CPF5037 x
Once you are successfully operating in the
System/38 environment, no changes are needed 0309 0309 CPF4741 x
in the return code processing to convert to the 0310 0310 CPF4742 x
OS/400 program. 0310 0310 CPF4743 x
Note: The 02 major return code is new and indi- 0400 0412 CPF4737 x
cates that your job is being requested to be ended
0400 0412 CPF5044 x
by a command such as ENDJOB or ENDSBS.
The 02 return code does not cause an escape 0401 8319 ------- x
message to the high-level language program. 0402 80EB CPF4062 x
0402 831D CPF4912 x

Major and Minor Return Codes 0402 831D CPF5002 x

Summary (Display and Printer) 0402 831D CPF5012 x


0402 831D CPF5014 x
Figure C-1 (Page 1 of 6). Return Codes
0402 831D CPF5021 x
System/38 AS/400 Message DSP PRT
0402 831E CPF5005 x
System
0402 831E CPF5039 x
0000 0000 ------- x x
0402 831E CPF5045 x
0000 0000 CPF4019 x
0402 831F CPF5117 x
0000 0000 CPF4032 x
0402 83E0 CPF5053 x
0000 0000 CPF4033 x
0402 83E0 CPF5054 x
0000 0000 CPF4054 x
0402 83E0 CPF5186 x
0000 0000 CPF4056 x
0402 83E0 CPF5187 x
0000 0000 CPF4057 x
0402 83F6 CPF5216 x
0000 0000 CPF4082 x
0403 0000 CPA4073 x
0000 0000 CPF4410 x
0403 0000 CPA4074 x
0000 0000 CPF4420 x
0403 0000 CPA4075 x
0000 0000 CPF4421 x
0403 0000 CPA4076 x
0000 0000 CPF4905 x
0403 3431 CPF5062 x
0000 0000 CPF4913 x
0403 80EB CPF4219 x
0000 0000 CPF4914 x
0403 80EB CPF4637 x
0000 0000 CPF4916 x
0403 8181 CPF4725 x

 Copyright IBM Corp. 1994 C-1


Figure C-1 (Page 2 of 6). Return Codes Figure C-1 (Page 2 of 6). Return Codes
System/38 AS/400 Message DSP PRT System/38 AS/400 Message DSP PRT
System System
0403 830B CPF5217 x 0416 831D CPF5303 x
0403 831E CPF5056 x 0416 831D CPF5324 x
0403 831E CPF5059 x 0416 831D CPF5359 x
0403 831F CPF5048 x 0416 831D CPF5363 x
0403 831F CPF5160 x 0416 831E CPD4015 x
0403 8322 CPF5060 x 0416 831E CPD4018 x
0403 83F6 CPF4591 x 0416 831E CPF5055 x
0403 83F6 CPF4634 x 0416 831E CPF5245 x
0403 83F6 CPF4636 x 0416 831E CPF5290 x
0403 83F6 CPF5063 x 0416 831E CPF5320 x
0403 83F6 CPF5075 x 0416 831E CPF5321 x
0403 83F6 CPF5215 x 0416 831E CPF5322 x
0403 83F6 CPF5216 x 0416 831E CPF5323 x
0403 83F6 CPF5234 x 0416 831E CPF5325 x
0403 83F6 CPF5261 x 0416 831E CPF5362 x
0403 83F6 CPF5364 x 0416 83F6 CPD4014 x
0403 83F6 CPF5369 x 0416 83F6 CPF5297 x
0405 831D CPF5008 x 0417 831E CPF5185 x
0405 831E CPF5011 x 0418 8343 CPF5004 x
0405 831E CPF5051 x 0423 831E CPF5066 x
0405 8322 CPF5013 x 0800 0800 CPD4077 x
0405 832D CPF5052 x 0800 0800 CPF50A0 x
0411 831F CPF4906 x 1100 1100 CPF4740 x
0412 831D CPF4909 x 3400 3431 ------- x
0414 0000 CPA4072 x 3400 831E CPF5055 x
0414 8082 CPF5116 x 3400 831F CPF4010 x
0414 8343 CPF5043 x 3400 831F CPF4078 x
0415 831E CPF4915 x 3401 8197 CPF5047 x
0416 80EB CPF4191 x 3401 8319 CPF4158 x
0416 831D CPD4016 x 3401 8319 CPF4531 x
0416 831D CPD4017 x 3401 8319 CPF5050 x x
0416 831D CPF5108 x 3402 0300 CPF5020 x
0416 831D CPF5273 x 3402 831E CPF5045 x
0416 831D CPF5275 x 3402 83E0 CPF5022 x
0416 831D CPF5276 x 3402 83E0 CPF5023 x
0416 831D CPF5288 x 3402 83E0 CPF5053 x
0416 831D CPF5289 x 3402 83E0 CPF5054 x
0416 831D CPF5302 x 3402 83F6 CPF5216 x

C-2 AS/400 System/38 Environment Programming


Figure C-1 (Page 3 of 6). Return Codes Figure C-1 (Page 3 of 6). Return Codes
System/38 AS/400 Message DSP PRT System/38 AS/400 Message DSP PRT
System System
3402 83F6 CPF5301 x 8000 80EB CPF4217 x
3420 831E CPF5049 x 8000 80EB CPF4222 x
3420 831E CPF5056 x 8000 80EB CPF4224 x
3421 0300 CPF5017 x 8000 80EB CPF4237 x
3421 8322 CPF5013 x 8000 80EB CPF4238 x x
3421 83E8 CPF4910 x 8000 80EB CPF4263 x
3422 832D CPF5052 x 8000 80EB CPF4264 x
8000 0000 CPA4251 x 8000 80EB CPF4295 x
8000 80B3 CPF4128 x 8000 80EB CPF4296 x
8000 80B3 CPF9808 x 8000 80EB CPF4335 x
8000 80EB CPD4012 x 8000 80EB CPF4336 x
8000 80EB CPD4013 x 8000 80EB CPF4337 x
8000 80EB CPD4020 x 8000 80EB CPF4338 x
8000 80EB CPD4021 x 8000 80EB CPF4339 x
8000 80EB CPD4024 x 8000 80EB CPF4340 x
8000 80EB CPD4025 x 8000 80EB CPF4352 x
8000 80EB CPD4033 x 8000 80ED CPF4131 x x
8000 80EB CPD4034 x 8000 8282 CPF4171 x
8000 80EB CPD4036 x 8000 82AA CPF4103 x x
8000 80EB CPD4037 x 8000 82B3 CPF4130 x
8000 80EB CPD4038 x 8000 82EE CPF4105 x x
8000 80EB CPF4129 x 8000 830B CPF5070 x x
8000 80EB CPF4133 x 8000 831D CPD4027 x
8000 80EB CPF4138 x 8000 831D CPD4028 x
8000 80EB CPF4139 x 8000 831D CPD4029 x
8000 80EB CPF4142 x 8000 831D CPD4030 x
8000 80EB CPF4143 x 8000 831D CPD4041 x
8000 80EB CPF4148 x x 8000 831D CPF5148 x
8000 80EB CPF4156 x x 8000 831D CPF5366 x
8000 80EB CPF4157 x 8000 831D CPF5367 x
8000 80EB CPF4159 x 8000 831D CPF5368 x
8000 80EB CPF4162 x 8000 831E CPD4031 x
8000 80EB CPF4169 x 8000 83F6 CPD4022 x
8000 80EB CPF4181 x 8000 83F6 CPD4026 x
8000 80EB CPF4196 x 8000 83F6 CPD4035 x
8000 80EB CPF4206 x 8001 8181 CPF5507 x
8000 80EB CPF4209 x 8001 82A6 CPF4527 x
8000 80EB CPF4214 x 8001 82A6 CPF5103 x

Appendix C. Display and Print File Return Codes C-3


Figure C-1 (Page 4 of 6). Return Codes Figure C-1 (Page 4 of 6). Return Codes
System/38 AS/400 Message DSP PRT System/38 AS/400 Message DSP PRT
System System
8001 83F6 CPF4516 x 8002 8081 CPF5456 x
8001 83F6 CPF5246 x 8002 8081 CPF5507 x
8001 8181 CPF5254 x 8002 8082 CPF4354 x
8001 8191 CPF4551 x 8002 80A6 CPF4527 x
8001 8197 CPF4192 x 8002 80C0 CPF5412 x x
8001 8197 CPF4216 x 8002 80C0 CPF5413 x x
8001 8197 CPF4533 x x 8002 80C0 CPF5419 x x
8001 8197 CPF4583 x 8002 80C0 CPF5420 x x
8001 8197 CPF5143 x 8002 80C0 CPF5421 x
8001 8197 CPF5268 x 8002 80C0 CPF5430 x
8001 8281 CPF4168 x x 8002 80F8 CPF5427 x x
8001 8282 CPF4354 x 8002 81C2 CPF5170 x
8001 83F6 CPF4190 x 8002 81C2 CPF5422 x
8002 8081 CPF4182 x x 8002 8281 CPF4182 x
8002 8081 CPF4510 x x 8002 8281 CPF5257 x
8002 8081 CPF5192 x 8002 8281 CPF5424 x
8002 8081 CPF5196 x 8002 82A6 CPF4190 x
8002 8081 CPF5257 x x 8002 82A6 CPF5453 x
8002 8081 CPF5257 x x 8004 8291 CPF4179 x x
8002 8081 CPF5262 x 8005 8082 CPF5269 x
8002 8081 CPF5401 x 8005 8282 CPF4298 x
8002 8081 CPF5403 x 8101 0000 CPD4069 x
8002 8081 CPF5404 x 8101 8081 CPF5414 x x
8002 8081 CPF5405 x 8101 8082 CPF4502 x
8002 8081 CPF5408 x x 8101 80A6 CPF4527 x
8002 8081 CPF5409 x x 8101 80B3 CPF4128 x x
8002 8081 CPF5410 x x 8101 80C0 CPF4262 x
8002 8081 CPF5411 x x 8101 80C0 CPF4509 x
8002 8081 CPF5414 x 8101 80C0 CPF5103 x
8002 8081 CPF5416 x x 8101 80C0 CPF5192 x
8002 8081 CPF5418 x x 8101 80C0 CPF5247 x
8002 8081 CPF5423 x x 8101 80C0 CPF5439 x
8002 8081 CPF5429 x x 8101 80EB CPF4163 x
8002 8081 CPF5431 x x 8101 80EB CPF4345 x x
8002 8081 CPF5433 x x 8101 80EF CPF4104 x x
8002 8081 CPF5434 x x 8101 80EF CPF5279 x
8002 8081 CPF5441 x 8101 80F8 CPF4132 x x
8002 8081 CPF5447 x x 8101 80F8 CPF4213 x

C-4 AS/400 System/38 Environment Programming


Figure C-1 (Page 5 of 6). Return Codes Figure C-1 (Page 5 of 6). Return Codes
System/38 AS/400 Message DSP PRT System/38 AS/400 Message DSP PRT
System System
8101 80F8 CPF4550 x 8102 80A6 CPF4527 x
8101 80F8 CPF5129 x x 8102 80C0 CPF5103 x x
8101 80F8 CPF5263 x 8102 80C0 CPF5437 x x
8101 8181 CPF4289 x 8102 80F8 CPF5144 x
8101 8181 CPF4552 x 8102 8191 CPF4146 x
8101 8181 CPF4553 x x 8102 8191 CPF4193 x
8101 8181 CPF5105 x x 8102 8191 CPF4526 x x
8101 8181 CPF5159 x 8102 8191 CPF4542 x x
8101 8181 CPF5189 x 8102 8191 CPF5128 x x
8101 8197 CPF4197 x x 8102 8191 CPF5198 x x
8101 8197 CPF4524 x x 8102 8197 CPF4149 x
8101 8197 CPF4533 x x 8102 8197 CPF4192 x x
8101 8197 CPF5106 x x 8102 8197 CPF4197 x x
8101 8197 CPF5143 x x 8102 8197 CPF4524 x x
8101 8197 CPF5201 x 8102 8197 CPF4533 x x
8101 8281 CPF4221 x x 8102 8197 CPF4538 x x
8101 8282 CPF4110 x 8102 8197 CPF5106 x x
8101 8291 CPF4193 x 8102 8197 CPF5140 x
8101 8291 CPF4291 x x 8102 8197 CPF5143 x x
8101 82A6 CPF4124 x x 8102 8197 CPF5199 x x
8101 82A6 CPF4190 x x 8102 8197 CPA5201 x
8101 82A6 CPF4527 x 8102 8197 CPF5360 x
8101 82A6 CPF5103 x 8102 81C2 CPF5170 x x
8101 82AB CPF4285 x 8102 81C2 CPF5422 x x
8101 82B3 CPF4106 x 8102 8281 CPF4168 x
8101 82B3 CPF4109 x 8102 8291 CPF4146 x
8101 82B3 CPF4282 x 8102 8291 CPF4193 x
8101 82EF CPF4104 x x 8102 8297 CPF4192 x
8101 82EF CPF4186 x x 8102 8297 CPF5047 x
8101 82F0 CPF4324 x 8102 82A6 CPF4124 x
8101 831D CPF5218 x 8102 82A6 CPF4190 x x
8101 831E CPF4564 x 8102 82A6 CPF4527 x
8101 831E CPF5149 x 8200 8281 CPF5254 x
8101 831E CPF5179 x 8200 8282 CPF5548 x
8101 83F8 CPF5293 x x 8200 82EF CPF5278 x
8102 8081 CPF5415 x 8201 0000 CPF5508 x
8102 8081 CPF5455 x 8201 8081 CPF5414 x x
8102 8082 CPF5269 x 8201 80C0 CPF5439 x

Appendix C. Display and Print File Return Codes C-5


Figure C-1 (Page 6 of 6). Return Codes Figure C-1 (Page 6 of 6). Return Codes
System/38 AS/400 Message DSP PRT System/38 AS/400 Message DSP PRT
System System
8201 80EB CPF5151 x 8202 82A6 CPF5103 x
8201 80EB CPF5552 x 8204 80EB CPF5510 x
8201 80F8 CPF4132 x 8204 80EB CPF5512 x
8201 80F8 CPF5129 x x 8204 80EB CPF5513 x
8201 8197 CPF5265 x 8204 82A9 CPF4366 x
8201 8281 CPF4168 x 8204 82A9 CPF5381 x
8201 8281 CPF5105 x 8204 82AA CPF4747 x
8201 8281 CPF5257 x 8204 82EE CPF4760 x
8201 8291 CPF5260 x 8204 82EE CPF5038 x
8201 8297 CPF5106 x 8204 830B CPF5068 x
8201 8297 CPF5143 x 8206 8191 CPF5128 x
8201 82A6 CPF5103 x 8307 830B CPF5067 x
8201 82A6 CPF5517 x 8308 830B CPD4079 x
8201 82AB CPF5333 x 8308 830B CPF4739 x
8201 82B3 CPF5217 x 8308 830B CPF5068 x
8201 82B3 CPF5332 x
8201 82B3 CPF5355 x
8201 82EF CPF4104 x x
8201 82EF CPF5279 x x
8201 831E CPF5149 x
8202 0000 CPF5508 x
8202 8081 CPF5414 x
8202 8081 CPF5415 x
8202 80C0 CPF5437 x x
8202 80EB CPF5511 x
8202 8191 CPF5128 x
8202 81C2 CPF5170 x
8202 8281 CPF5410 x
8202 8281 CPF5411 x
8202 8281 CPF5447 x
8202 8281 CPF5455 x
8202 8282 CPF4354 x x
8202 8291 CPF5198 x
8202 8297 CPF5106 x
8202 8297 CPF5140 x
8202 8297 CPF5143 x
8202 8297 CPF5199 x
8202 82A6 CPF4124 x

C-6 AS/400 System/38 Environment Programming


Appendix D. Sample Programs
This appendix describes the Print Device Config- troller object type. However, a similar command is
uration Program and the Move Library Objects included in the QUSRTOOL library. See the tool
and Check Library Owner commands. PRTDEVCFG.

To use the program you must:


1. Print Device Configuration Ÿ Create a specific source file named DEVCFG.
Program Because a large configuration results in many
records, you should create the file with a large
The following CL program operates on System/38. SIZE value:
The program prints a copy of the device configura-
CRTSRCPF FILE(DEVCFG.xxxx)
tion objects and copies the contents to a source
SIZE(50000 5000 10)
member in a standard source file. This avoids the
TEXT('Source file for Device
large number of pages that would normally be
Configuration')
required to print all of the configuration details.
ADDPFM FILE(DEVCFG.xxxx)
Source entry utility (SEU) can then be used (for
MBR(DEVCFG)
example, the scan capability) to find any specific
configuration objects. Ÿ Create the CL program PRTDEVCFGC from
the source shown.
The program does not run in the System/38 envi-
Ÿ Submit a CALL command to the
ronment as written due to changes in the con-
PRTDEVCFGC program to batch.

 Copyright IBM Corp. 1994 D-1


The following is the CL source:

SEQNBR \... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.ðð /\ PRTDEVCFGC - Prints device configuration - CPP for PRTDEVCFG \/
2.ðð PGM
3.ðð DCLF QADSPOBJ
4.ðð CHKOBJ OBJ(DEVCFG) OBJTYPE(\FILE) MBR(DEVCFG)
5.ðð CRTPF DEVCFGP.QTEMP RCDLEN(8ð)
6.ðð DSPOBJD OBJ(\ALL.QSYS) OBJTYPE(\LIND) OUTPUT(\NONE) +
7.ðð OUTFILE(DSPOBJDP.QTEMP)
8.ðð DSPOBJD OBJ(\ALL.QSYS) OBJTYPE(\CUD) OUTPUT(\NONE) +
9.ðð OUTFILE(DSPOBJDP2.QTEMP)
1ð.ðð CPYF FROMFILE(DSPOBJDP2.QTEMP) +
11.ðð TOFILE(DSPOBJDP.QTEMP) MBROPT(\ADD)
12.ðð DSPOBJD OBJ(\ALL.QSYS) OBJTYPE(\DEVD) OUTPUT(\NONE) +
13.ðð OUTFILE(DSPOBJDP2.QTEMP)
14.ðð CPYF FROMFILE(DSPOBJDP2.QTEMP) +
15.ðð TOFILE(DSPOBJDP.QTEMP) MBROPT(\ADD)
16.ðð OVRDBF QADSPOBJ TOFILE(DSPOBJDP.QTEMP)
17.ðð OVRPRTF QPDCLINE HOLD(\YES)
18.ðð OVRPRTF QPDCCTLU HOLD(\YES)
19.ðð OVRPRTF QPDCDEVD HOLD(\YES)
2ð.ðð READ: RCVF /\ Read an object \/
21.ðð MONMSG MSGID(CPFð864) EXEC(GOTO ENDPGM) /\ EOF \/
22.ðð IF (&ODOBTP \EQ '\LIND') DO /\ Line \/
23.ðð DSPLIND LIND(&ODOBNM) OUTPUT(\LIST)
24.ðð CPYSPLF FILE(QPDCLINE) TOFILE(DEVCFGP.QTEMP) +
25.ðð SPLNBR(\LAST) MBROPT(\ADD)
26.ðð CNLSPLF FILE(QPDCLINE)
27.ðð ENDDO /\ Line \/
28.ðð IF (&ODOBTP \EQ '\CUD ') DO /\ Control unit \/
29.ðð DSPCUD CUD(&ODOBNM) OUTPUT(\LIST)
3ð.ðð CPYSPLF FILE(QPDCCTLU) TOFILE(DEVCFGP.QTEMP) +
31.ðð SPLNBR(\LAST) MBROPT(\ADD)
32.ðð CNLSPLF FILE(QPDCCTLU)
33.ðð ENDDO /\ Control unit \/
34.ðð IF (&ODOBTP \EQ '\DEVD') DO /\ Device \/
35.ðð DSPDEVD DEVD(&ODOBNM) OUTPUT(\LIST)
36.ðð CPYSPLF FILE(QPDCDEVD) TOFILE(DEVCFGP.QTEMP) +
37.ðð SPLNBR(\LAST) MBROPT(\ADD)
38.ðð CNLSPLF FILE(QPDCDEVD)
39.ðð ENDDO /\ Device \/
4ð.ðð GOTO READ
41.ðð ENDPGM:
42.ðð CPYF FROMFILE(DEVCFGP) TOFILE(DEVCFG) +
43.ðð MBROPT(\ADD) FMTOPT(\CVTSRC)
44.ðð ENDPGM

D-2 AS/400 System/38 Environment Programming


Combinations of specifications can be specified,
2. Moving User Objects from One such as move all the file objects beginning with
Library to Another ABC:
MOVLIBOBJ FROMLIB(xxx) TOLIB(yyy)
The Move Library Objects (MOVLIBOBJ) OBJTYPE(\FILE) GENNAME(ABC)
command moves some or all of the objects from
one library to another. This is useful for mass To move all the objects from QGPL that do not
migration of objects. start with Q you would specify:

The typical command would be: MOVLIBOBJ FROMLIB(QGPL) TOLIB(yyy)


EXCLUDE(\QNAMES)
MOVLIBOBJ FROMLIB(xxx) TOLIB(yyy)
The command supports the following parameters:
This command operates on either the System/38
or in the System/38 environment. FROMLIB The library to move from.
TOLIB The library to move to.
Some object types like *JRN and *JRNRCV OBJTYPE The object type to move. The
cannot be moved. You must also be authorized to default is *ALL. Any object type
move an object. that can be specified on MOVOBJ
can be named.
At the completion of the command, a completion GENNAME A generic name. The default is
message is sent describing the number of objects *NONE. The generic name should
moved, the number bypassed, and the number be entered without an *.
where failures (for example, not authorized) EXCLUDE Exclude object. The default is
occurred. *NONE. *QNAMES can be entered
to exclude any objects that begin
Options exist on the command to move only: with Q.
Ÿ A specific object type (for example, *FILE).
An OS/400 version of the command is also
Ÿ Generically named objects.
included in the QUSRTOOL library. See the tool
Ÿ Objects that start with a character other than
MOVLIBOBJ.
Q. This can be of value when moving user
objects from QGPL.

Appendix D. Sample Programs D-3


To create the command, perform the following
steps:
1. Enter the following command definition for the
MOVLIBOBJ command.

1.ðð /\PARMS PGM(MOVLIBOBJC) \/


2.ðð /\ \/
3.ðð /\ Moves objects from one library to another. Options exist to \/
4.ðð /\ move only a generic name, only a specific type or those \/
5.ðð /\ that do not begin with a Q. \/
6.ðð /\ \/
7.ðð /\ CPP is MOVLIBOBJC \/
8.ðð /\ \/
9.ðð CMD PROMPT('Move Library Objects')
1ð.ðð PARM KWD(FROMLIB) TYPE(\NAME) LEN(1ð) MIN(1) +
11.ðð EXPR(\YES) PROMPT('From library:')
12.ðð PARM KWD(TOLIB) TYPE(\NAME) LEN(1ð) MIN(1) +
13.ðð EXPR(\YES) PROMPT('To library:')
14.ðð PARM KWD(OBJTYPE) TYPE(\CHAR) LEN(8) DFT(\ALL) +
15.ðð EXPR(\YES) RSTD(\YES) +
16.ðð VALUES(\CHTFMT \CLS \CMD \DTAARA +
17.ðð \DTAQ \FCT \FILE \GSS \JOBD \JOBQ +
18.ðð \MSGF \MSGQ \OUTQ \PGM \PRTIMG +
19.ðð \SBSD \SPADCT \SSND \TBL \ALL) +
2ð.ðð PROMPT('Object type:')
21.ðð PARM KWD(GENNAME) TYPE(\NAME) LEN(1ð) DFT(\NONE) +
22.ðð SPCVAL(\NONE) EXPR(\YES) +
23.ðð PROMPT('Generic name (no \) or \NONE:')
24.ðð PARM KWD(EXCLUDE) TYPE(\CHAR) LEN(1ð) DFT(\NONE) +
25.ðð RSTD(\YES) EXPR(\YES) +
26.ðð VALUES(\NONE \QNAMES) +
27.ðð PROMPT('Exclude \NONE or \QNAMES:')

2. Create the MOVLIBOBJ command and


specify:
PGM(MOVLIBOBJC)

D-4 AS/400 System/38 Environment Programming


3. Enter the source and create the CL program
MOVLIBOBJC.

1.ðð /\ Moves objects from one library to another - CPP for MOVLIBOBJC \/
2.ðð PGM PARM(&FROMLIB &TOLIB &OBJTYPE &GENNAME +
3.ðð &EXCLUDE)
4.ðð DCLF QADSPOBJ
5.ðð DCL &FROMLIB \CHAR LEN(1ð)
6.ðð DCL &TOLIB \CHAR LEN(1ð)
7.ðð DCL &OBJTYPE \CHAR LEN(8)
8.ðð DCL &GENNAME \CHAR LEN(1ð)
9.ðð DCL &EXCLUDE \CHAR LEN(1ð)
1ð.ðð DCL &GOODCNT \DEC LEN(5 ð)
11.ðð DCL &BADCNT \DEC LEN(5 ð)
12.ðð DCL &BYPCNT \DEC LEN(5 ð)
13.ðð DCL &GOODCNTA \CHAR LEN(5)
14.ðð DCL &BADCNTA \CHAR LEN(5)
15.ðð DCL &BYPCNTA \CHAR LEN(5)
16.ðð DCL &GENCNT \DEC LEN(3 ð) VALUE(1ð)
17.ðð DCL &GENCOMP \CHAR LEN(1ð)
18.ðð DCL &GENCOMP2 \CHAR LEN(1ð)
19.ðð DCL &TYPE \CHAR LEN(1)
2ð.ðð DCL &MSGID \CHAR LEN(7)
21.ðð DCL &MSGDTA \CHAR LEN(1ðð)
22.ðð DCL &MSGF \CHAR LEN(1ð)
23.ðð DCL &MSGFLIB \CHAR LEN(1ð)
24.ðð DCL &ERRORSW \LGL
25.ðð MONMSG MSGID(CPFðððð) EXEC(GOTO ERROR)
26.ðð RTVJOBA TYPE(&TYPE)
27.ðð IF (&TYPE \EQ 'ð') DO /\ Batch job \/
28.ðð /\ Ensure job log if in batch \/
29.ðð CHGJOB LOG(4 ð \MSG)
3ð.ðð ENDDO /\ Batch job \/
31.ðð IF (&GENNAME \NE '\NONE') DO /\ Generic name \/
32.ðð CHGVAR &GENCOMP &GENNAME
33.ðð GENLOOP: IF (%SST(&GENNAME &GENCNT 1) \EQ ' ') DO /\ Chr \/
34.ðð CHGVAR &GENCNT (&GENCNT - 1)
35.ðð GOTO GENLOOP
36.ðð ENDDO /\ Char exists \/
37.ðð ENDDO /\ Generic name \/
38.ðð DSPOBJD OBJ(\ALL.&FROMLIB) OBJTYPE(\ALL) +
39.ðð OUTPUT(\NONE) OUTFILE(DSPOBJP.QTEMP)
4ð.ðð OVRDBF QADSPOBJ TOFILE(DSPOBJP.QTEMP)
41.ðð RMVMSG CLEAR(\ALL)
42.ðð READ: RCVF /\ Read a record from DSPOBJD out file \/
43.ðð MONMSG MSGID(CPFð864) EXEC(GOTO EOF)
44.ðð IF (&OBJTYPE \NE '\ALL') DO /\ Not all types \/
45.ðð IF (&ODOBTP \NE &OBJTYPE) DO /\ Wrong type \/
46.ðð CHGVAR &BYPCNT (&BYPCNT + 1)
47.ðð GOTO READ
48.ðð ENDDO /\ Wrong type \/
49.ðð ENDDO /\ Not all types \/
5ð.ðð IF (&GENNAME \NE '\NONE') DO /\ Generic name \/
51.ðð CHGVAR &GENCOMP2 %SST(&ODOBNM 1 &GENCNT) /\ Gen len \/
52.ðð IF (&GENCOMP \NE &GENCOMP2) DO /\ Not gen val \/
53.ðð CHGVAR &BYPCNT (&BYPCNT + 1)
54.ðð GOTO READ

Appendix D. Sample Programs D-5


55.ðð ENDDO /\ Not generic value \/
56.ðð ENDDO /\ Generic name \/
57.ðð IF (&EXCLUDE \EQ '\QNAMES') DO /\ Exclude Qs \/
58.ðð IF (%SST(&ODOBNM 1 1) \EQ 'Q') DO /\ Q obj \/
59.ðð CHGVAR &BYPCNT (&BYPCNT + 1)
6ð.ðð GOTO READ
61.ðð ENDDO /\ Q obj \/
62.ðð ENDDO /\ Exclude Q names \/
63.ðð MOVOBJ OBJ(&ODOBNM.&FROMLIB) OBJTYPE(&ODOBTP) +
64.ðð TOLIB(&TOLIB)
65.ðð MONMSG MSGID(CPFðððð) EXEC(DO) /\ MOVOBJ failed \/
66.ðð /\ Resend any messages \/
67.ðð OBJDIAG: RCVMSG MSGTYPE(\DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
68.ðð MSGF(&MSGF) MSGFLIB(&MSGFLIB)
69.ðð IF (&MSGID \EQ ' ') GOTO OBJESCAPE
7ð.ðð SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF.&MSGFLIB) +
71.ðð MSGDTA(&MSGDTA) MSGTYPE(\DIAG)
72.ðð GOTO OBJDIAG /\ Loop back for addl diagnostics \/
73.ðð OBJESCAPE: RCVMSG MSGTYPE(\EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
74.ðð MSGF(&MSGF) MSGFLIB(&MSGFLIB)
75.ðð SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF.&MSGFLIB) +
76.ðð MSGDTA(&MSGDTA) MSGTYPE(\DIAG)
77.ðð CHGVAR &BADCNT (&BADCNT + 1)
78.ðð GOTO READ
79.ðð ENDDO /\ MOVOBJ failed \/
8ð.ðð CHGVAR &GOODCNT (&GOODCNT + 1) /\ MOVOBJ successful \/
81.ðð GOTO READ
82.ðð EOF: /\ Send completion message with counts \/
83.ðð RCVMSG MSGTYPE(\EXCP) /\ Remove EOF from job log \/
84.ðð CHGVAR &GOODCNTA &GOODCNT
85.ðð CHGVAR &BADCNTA &BADCNT
86.ðð CHGVAR &BYPCNTA &BYPCNT
87.ðð SNDPGMMSG MSG('Objs moved-' \CAT &GOODCNTA \CAT +
88.ðð ' Objs bypassed-' \CAT &BYPCNTA \CAT +
89.ðð ' Objs failed-' \CAT &BADCNTA) +
9ð.ðð MSGTYPE(\COMP)
91.ðð RETURN /\ Normal end of program \/
92.ðð ERROR: /\ Standard error handling routine \/
93.ðð IF &ERRORSW SNDPGMMSG MSGID(CPF9999) +
94.ðð MSGF(QCPFMSG) MSGTYPE(\ESCAPE) /\ Func chk \/
95.ðð CHGVAR &ERRORSW '1'
96.ðð ERROR1: RCVMSG MSGTYPE(\DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
97.ðð MSGF(&MSGF) MSGFLIB(&MSGFLIB)
98.ðð IF (&MSGID \EQ ' ') GOTO ESCAPE
99.ðð SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF.&MSGFLIB) +
1ðð.ðð MSGDTA(&MSGDTA) MSGTYPE(\DIAG)
1ð1.ðð GOTO ERROR1 /\ Loop back for addl diagnostics \/
1ð2.ðð ESCAPE: RCVMSG MSGTYPE(\EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
1ð3.ðð MSGF(&MSGF) MSGFLIB(&MSGFLIB)
1ð4.ðð SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF.&MSGFLIB) +
1ð5.ðð MSGDTA(&MSGDTA) MSGTYPE(\ESCAPE)
1ð6.ðð ENDPGM

D-6 AS/400 System/38 Environment Programming


The completion message includes the number of
3. Check for a Library Owner objects bypassed and the number owned by other
than the specified user.
The Check Library Owner (CHKLIBOWN)
command checks the objects in a library and This command operates on System/38 or in the
prints job log messages for all objects that are not System/38 environment.
owned by a specific owner. This is intended for
those cases where: The command supports the following parameters:
Ÿ You are trying to ensure that all objects in a LIB The library to be checked.
library are owned by the same user. A typical EXCLUDE The owner name to be excluded.
command would be: The special value *IBM may be used
CHKLIBOWN LIB(xxx) EXCLUDE(QPGMR) to bypass any IBM objects. This
includes those objects marked as
You would receive a message for each object changed by the user or those owned
in the library that was not owned by QPGMR. by QSYS.
Ÿ You are trying to ensure that no user objects
exist in QSYS. A special value *IBM is used Objects such as *LIB and *LIND are always
in this case and you should submit the bypassed (only found in the QSYS library.)
command as the security officer.
The intent of this command is to check the
CHKLIBOWN LIB(QSYS) EXCLUDE(\IBM) libraries on System/38 before you migrate.
It is normal for some objects to appear in the However, the command does have general
job log that are not owned by QSYS such as purpose usage, and on the OS/400 version is
message files used by high-level languages. included in the QUSRTOOL library. See the tool
CHKLIBOWN.

Appendix D. Sample Programs D-7


To create the command, perform the following
steps:
1. Enter the following command definition for the
CHKLIBOWN command.

SEQNBR \... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.ðð /\PARMS PGM(CHKLIBOWNC) \/
2.ðð /\ \/
3.ðð /\ Check Library owner checks all objects in a library to see \/
4.ðð /\ if they are owned by the profile named. If not, a message \/
5.ðð /\ is sent to the job log. The object types that are only in \/
6.ðð /\ QSYS (eg \LIND) are bypassed. If the library is QSYS, \/
7.ðð /\ message queue objects are bypassed if the name is the same \/
8.ðð /\ as a device description. The special value \IBM excludes \/
9.ðð /\ QSYS and other names beginning with Q except for QSECOFR, \/
1ð.ðð /\ QPGMR, QCE, QPSR, and QSYSOPR. \/
11.ðð /\ \/
12.ðð /\ The CPP is CHKLIBOWNC \/
13.ðð /\ \/
14.ðð CMD PROMPT('Check Library Owner')
15.ðð PARM KWD(LIB) TYPE(\NAME) LEN(1ð) MIN(1) +
16.ðð EXPR(\YES) +
17.ðð PROMPT('Library to check:')
18.ðð PARM KWD(EXCLUDE) TYPE(\NAME) LEN(1ð) MIN(1) +
19.ðð EXPR(\YES) SPCVAL(\IBM) +
2ð.ðð PROMPT('Exclude owner name or \IBM:')
2. Create the CHKLIBOWN command and
specify:
PGM(CHKLIBOWNC)
3. Enter the source and create the CL program
CHKLIBOWNC.

D-8 AS/400 System/38 Environment Programming


SEQNBR \... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.ðð /\ CHKLIBOWNC - Check library owner - CPP for CHKLIBOWN \/
2.ðð PGM PARM(&LIB &EXCLUDE)
3.ðð DCLF QADSPOBJ
4.ðð DCL &LIB \CHAR LEN(1ð)
5.ðð DCL &EXCLUDE \CHAR LEN(1ð)
6.ðð DCL &OWNCNT \DEC LEN(5 ð)
7.ðð DCL &OWNCNTA \CHAR LEN(5)
8.ðð DCL &OTHER \DEC LEN(5 ð)
9.ðð DCL &OTHERA \CHAR LEN(5)
1ð.ðð DCL &BYPCNT \DEC LEN(5 ð)
11.ðð DCL &BYPCNTA \CHAR LEN(5)
12.ðð DCL &TYPE \CHAR LEN(1)
13.ðð RTVJOBA TYPE(&TYPE)
14.ðð IF (&TYPE \EQ 'ð') DO /\ Batch job \/
15.ðð /\ Ensure job log if in batch \/
16.ðð CHGJOB LOG(4 ð \MSG)
17.ðð ENDDO /\ Batch job \/
18.ðð DSPOBJD OBJ(\ALL.&LIB) OBJTYPE(\ALL) DETAIL(\SERVICE) +
19.ðð OUTPUT(\NONE) OUTFILE(DSPOBJP.QTEMP)
2ð.ðð OVRDBF QADSPOBJ TOFILE(DSPOBJP.QTEMP)
21.ðð RMVMSG CLEAR(\ALL)
22.ðð LOOP: RCVF
23.ðð MONMSG MSGID(CPFð864) EXEC(GOTO ENDPGM)
24.ðð IF ((&ODOBTP \EQ '\LIB') \OR +
25.ðð (&ODOBTP \EQ '\USRPRF') \OR +
26.ðð (&ODOBTP \EQ '\LIND') \OR +
27.ðð (&ODOBTP \EQ '\CTLD') \OR +
28.ðð (&ODOBTP \EQ '\CUD') \OR +
29.ðð (&ODOBTP \EQ '\DEVD')) DO /\ Bypass \/
3ð.ðð CHGVAR &BYPCNT (&BYPCNT + 1)
31.ðð GOTO LOOP
32.ðð ENDDO /\ Bypass \/
33.ðð IF (&ODOBOW \EQ &EXCLUDE) DO /\ Owner excluded \/
34.ðð CHGVAR &OWNCNT (&OWNCNT + 1)
35.ðð GOTO LOOP
36.ðð ENDDO /\ Owner excluded \/
37.ðð IF (&EXCLUDE \EQ '\IBM') DO /\ EXCLUDE(\IBM) \/
38.ðð IF ((&ODUMOD \NE '1') \OR +
39.ðð (&ODOBOW \EQ 'QSYS')) DO /\ IBM obj/QSYS \/
4ð.ðð CHGVAR &OWNCNT (&OWNCNT + 1)
41.ðð GOTO LOOP
42.ðð ENDDO /\ IBM object or owned by QSYS \/
43.ðð ENDDO /\ OWNER(\IBM) \/
44.ðð CHKQSYS: IF ((&LIB \EQ 'QSYS') \AND +
45.ðð (&ODOBTP \EQ '\MSGQ')) DO /\ Chk WS MSGQ \/
46.ðð CHKOBJ OBJ(&ODOBNM.QSYS) OBJTYPE(\DEVD)
47.ðð MONMSG MSGID(CPF98ð1) EXEC(GOTO RMVMSG) /\ Not fnd \/
48.ðð CHGVAR &OWNCNT (&OWNCNT + 1)
49.ðð GOTO LOOP
5ð.ðð ENDDO /\ Chk WS MSGQ \/

Appendix D. Sample Programs D-9


51.ðð RMVMSG: RCVMSG MSGTYPE(\EXCP) /\ Remove from job log \/
52.ðð SNDPGMMSG MSG('Object ' \CAT &ODOBNM \TCAT '.' \CAT +
53.ðð &ODLBNM \TCAT ' type ' \CAT &ODOBTP \TCAT ' +
54.ðð owned by ' \CAT &ODOBOW)
55.ðð CHGVAR &OTHER (&OTHER + 1)
56.ðð GOTO LOOP
57.ðð ENDPGM:
58.ðð RCVMSG MSGTYPE(\EXCP) /\ Remove EOF from job log \/
59.ðð CHGVAR &OWNCNTA &OWNCNT
6ð.ðð CHGVAR &OTHERA &OTHER
61.ðð CHGVAR &BYPCNTA &BYPCNT
62.ðð SNDPGMMSG MSG('Owned by ' \CAT &EXCLUDE \BCAT &OWNCNTA +
63.ðð \CAT ' Not owned by ' \CAT &EXCLUDE \BCAT +
64.ðð &OTHERA \CAT ' Bypassed objects ' \CAT +
65.ðð &BYPCNTA) MSGTYPE(\COMP)
66.ðð ENDPGM

D-10 AS/400 System/38 Environment Programming


Appendix E. Converting RPG from System/38 to the AS/400
System
This appendix provides information about con- Ÿ RPG/400 supports ICF files in the AS/400
verting RPG from System/38 to the AS/400 system AS/400 system.
System.
Ÿ The RPG/400 POST feedback area has
increased to cover bytes 241 to 528 in the
RPG/400 features that will not run on System/38
AS/400 system.
include:
Ÿ AS/400 system supports numeric variables up
Ÿ System/38 does not support the AS/400
to and including 30 digits. The maximum
naming convention for file names. The
number of decimal digits allowed remains 9.
AS/400 object naming convention is library-
name/object-name. The RPG/400 compiler Ÿ AS/400 system supports numerics for the
will accept the System/38 naming convention operation code MOVEA.
(OBJECT.LIBRARY) only when the compiler is
Ÿ AS/400 system has three built-in subroutines:
called under the System/38 environment. Any
SUBR23R3, SUBR40R3, and SUBR41R3 that
run time messages issued by the System/38
are not available on System/38.
environment will display the library, file,
member, and program names in the AS/400 Ÿ AS/400 system has additional *STATUS
naming convention (LIBRARY/OBJECT). The values in the AS/400 system.
/COPY statement and the CALL and FREE Ÿ AS/400 system places a limit of three on the
operation codes require AS/400 naming con- number of parameter values that you may
vention when used in the AS/400 system, the enter on the command line without specifying
System/38 naming convention when used in the parameter keyword in the AS/400 system.
the System/38 environment.

 Copyright IBM Corp. 1994 E-1


Converting to AS/400 System
The following table presents the differences
between the compiler options for System/38 RPG
III and AS/400 RPG/400. Each option is a param-
eter value for the parameter keyword that imme-
diately precedes it.

RPG/400 Param- System/38 RPG/400 System/38


eter Parameter Options Options Comments
REPLACE N/A New parameter
*YES N/A New option
*NO N/A New option
AUT PUBAUT AUT replaces PUBAUT
*CHANGE *NORMAL *CHANGE replaces *NORMAL
*EXCLUDE *NONE *EXCLUDE replaces *NONE
*USE N/A New option
authorization-
list-name N/A New option
PGM PGM Existing parameter
*CURLIB N/A New option/new default
SRCFILE SRCFILE Existing parameter
*CURLIB N/A New option
PRTFILE PRTFILE Existing parameter
*CURLIB N/A New option
OPTION OPTION Existing parameter
*SECLVL N/A New option
*NOSECLVL N/A New option

E-2 AS/400 System/38 Environment Programming


Glossary
access path. (1) The order in which records in a data- ASCII character set consists of 7-bit control characters
base file are organized for processing by a program. and symbolic characters, plus one parity-check bit.
See arrival sequence access path and keyed sequence
access path. (2) (SQL) The path used to locate data API. See application program interface (API).
specified in SQL statements. An access path can be
indexed, sequential, or a combination of both. APPC. See advanced program-to-program commu-
nications (APPC).
advanced peer-to-peer networking (APPN). Data
communications support that routes data in a network application program. A program used to perform a
between two or more APPC systems that do not need particular data processing task such as inventory control
to be adjacent. or payroll.

advanced printer function. A function of the AS/400 application program interface (API). A functional
Application Development Tools licensed program that interface supplied by the operating system or a sepa-
allows a user to design symbols, logos, special charac- rately orderable licensed program that allows an appli-
ters, large characters, and forms tailored to a business cation program written in a high-level language to use
or data processing application, and supports printing of specific data or functions of the operating system or the
any design on the 5224 or 5225 dot matrix printer. licensed program.

advanced program-to-program communications APPN. See advanced peer-to-peer networking


(APPC). Data communications support that allows pro- (APPN).
grams on an AS/400 system to communicate with pro-
grams on other systems having compatible area-specific help. In an application program, help
communications support. APPC is the AS/400 method information supplied by the programmer for the area of
of using the SNA LU session type 6.2 protocol. the screen where the cursor is located when the person
using the program presses the Help key.
alert. A record sent to a focal point to identify a
problem or an impending problem. arrival sequence access path. An access path to a
database file that is arranged according to the order in
alert controller description. A controller description which records are stored in the physical file. See also
that defines the system to which alerts will be sent on keyed sequence access path and access path.
an alert controller session.
ASCII. See American National Standard Code for
alert controller session. A type of SSCP-PU session Information Interchange (ASCII).
on which alerts can be sent to a system that is desig-
nated as an alert focal point. ASP. See auxiliary storage pool (ASP).

all authority. An object authority that allows the user attribute. (1) A characteristic or property of one or
to perform all operations on the object except those more objects. (2) (SQL) In database design, a charac-
limited to the owner or controlled by authorization list teristic of an entity; for example, the telephone number
management authority. The user can control the of an employee is one of that employee’s attributes.
object’s existence, specify the security for the object, (3) (BGU) The characteristics that make up the chart
and change the object. Contrast with exclude authority. format.

all object authority. A special authority that allows attribute character. A character associated with a
users to use all system resources without having spe- field in a display file record format that defines how the
cific authority to the resources. See also save system field is displayed.
authority, job control authority, security administrator
automatically started job entry. A work entry in a
authority, service authority, and spool control authority.
subsystem description that specifies a job to be auto-
American National Standard Code for Information matically started each time the subsystem is started.
Interchange (ASCII). The code developed by Amer-
auxiliary storage. All addressable disk storage other
ican National Standards Institute for information
than main storage.
exchange among data processing systems, data com-
munications systems, and associated equipment. The
auxiliary storage pool (ASP). A grouping of disk
units. See also system ASP and user ASP.

 Copyright IBM Corp. 1994 G-1


basic data exchange. A file format for exchanging commitment control. A means of grouping file oper-
data on diskettes or tape between systems or devices. ations that allows the processing of a group of database
changes as a single unit through the Commit command
binary synchronous communications (BSC). A data or the removal of a group of database changes as a
communications line protocol that uses a standard set single unit through the Rollback command.
of transmission control characters and control character
sequences to send binary-coded data over a commu- control language (CL). The set of all commands with
nications line. See also synchronous data link control which a user requests system functions.
(SDLC).
control language (CL) program. A program that is
BSC. See binary synchronous communications (BSC). created from source statements consisting entirely of
control language commands.
character generator utility (CGU). A function of the
AS/400 Application Development Tools licensed
program that is used to define and maintain user- controller configuration. The process of creating
defined double-byte characters and related sort informa- configuration descriptions for the local (device config-
tion. uration) and remote (communications configuration)
controllers that make up a data processing system.
checksum protection. A function that protects data
stored in the system auxiliary storage pool from being cross-reference listing. The part of the compiler
lost because of the failure of a single disk. When listing that tells where files, fields, and indicators are
checksum protection is in effect and a disk failure defined, referred to, and changed in a program.
occurs, the system automatically reconstructs the data
when the system program is loaded after the device is cryptography. The transformation of data to conceal
repaired. its meaning; secret code.

checksum set. Units of auxiliary storage defined in current library. The library that is specified to be the
groups to provide a way for the system to recover data first user library searched for objects requested by a
if a disk failure occurs when checksum protection is in user. The name for the current library can be specified
effect. on the Sign-On display or in a user profile. When you
specify an object name (such as the name of a file or
CL. See control language (CL). program) on a command, but do not specify a library
name, the system searches the libraries in the system
class attributes. The values in the Change Job part of the library list, then searches the current library
(CHGJOB) command that control the processing of before searching the user part of the library list. The
routing steps in a job. These values include the run pri- current library is also the library that the system uses
ority, time slice, delete, and default wait time-out param- when you create a new object, if you do not specify a
eters. library name.

command definition. An object that contains the defi- data area. A storage area used to communicate data
nition of a command (including the command name, such as CL variable values between the programs
parameter descriptions, and validity checking informa- within a job and between jobs. The system-recognized
tion) and identifies the program that performs the func- identifier for the data area is *DTAARA.
tion requested by the command. The
system-recognized identifier for the object type is *CMD. data description specifications (DDS). A description
of the user’s database or device files that is entered into
command file. A remote job input stream that can the system in a fixed form. The description is then
contain host system commands and job control lan- used to create files.
guage (JCL), data, and RJE control statements
(READFILE or EOF). Contrast with data file. data file. (1) A collection of related data records
organized in a specific order. (2) A file created by the
commit. (1) To make all changes permanent that specification of FILETYPE(*DATA) on the create com-
were made to one or more database files since the last mands. Contrast with source file. (3) (BASIC) The
commit or rollback operation, and make the changed table containing the values from the DATA statements
records available to other users. (2) (SQL) The of a program. (4) (RJE) A remote job input stream that
process that allows data changed by one application or can contain host system commands and job control lan-
user to be used by other applications or users. When a guage as well as data. Contrast with command file.
commit operation occurs, the locks are released to
allow other applications to use the changed data. data queue. An object that is used to communicate
and store data used by several programs in a job or

G-2 AS/400 System/38 Environment Programming


between jobs. The system-recognized identifier is GDDM. See graphical data display manager (GDDM).
*DTAQ.
general-purpose library. The library shipped with the
DDM. See distributed data management (DDM). system that contains IBM-provided objects required for
many system functions and user-created objects that
DDS. See data description specifications (DDS). are not explicitly placed in a different library when they
are created. Named QGPL.
dedicated service tools (DST). The part of the
service function used to service the system when the graphic character set. A set of graphic characters in
operating system is not working. a code page.

device configuration. The physical placement of graphical data display manager (GDDM). A function
display stations, printers, and so forth; and the config- of the operating system that processes both text and
uration descriptions that describe the physical configura- graphics for output on a display, printer, or plotter.
tion to the system and describe how the configuration
will be used by the system. See also line configuration graphics symbol set. An object that can contain
and controller configuration. either lines or images. The system-recognized identifier
for the object type is *GSS.
device file. A file that contains a description of how
data is to be presented to a program from a device or group job. One of up to sixteen interactive jobs that
how data is to be presented to the device from the are associated in a group with the same work station
program. Devices can be display stations, printers, a device and user.
diskette unit, tape units, or a remote system.
independent work station. A work station that is pro-
display station pass-through. A communications grammable and operates independently of a host
function that allows a user to sign on to one system system, but can communicate with a host system and
(either an AS/400 system, System/38, or System/36) use selected system services. A Personal System/2* is
from another system (either an AS/400 system, an example of an independent work station.
System/38, or System/36) and use that system’s pro-
grams and data. Sometimes called pass-through. initial program load (IPL). The process that loads the
system programs from the system auxiliary storage,
distributed data management (DDM). A function of checks the system hardware, and prepares the system
the operating system that allows an application program for user operations.
or user on one system to use database files stored on
remote systems. The systems must be connected by a IPL. See initial program load (IPL).
communications network, and the remote systems must
also be using DDM. job accounting. A system function that collects infor-
mation about a job’s use of system resources and
document library. The system library named QDOC records that information in a journal.
that contains all documents and folders.
job control authority. A special authority that allows a
DST. See dedicated service tools (DST). user to: change, delete, display, hold, and release all
files on output queues; hold, release, and clear job
end node. A node in an APPN network that can be a queues and output queues; start writers to output
source or target node, but does not provide any routing queues; hold, release, change, and end other users’
or session services to any other node. jobs; change the class attributes of a job; end subsys-
tems; and start (IPL) the system. See also all object
exclude authority. An object authority that prevents authority, save system authority, security administrator
the user from using the object or its contents. Contrast authority, service authority, and spool control authority.
with all authority.
job description. A system object that defines how a
folder. A directory for documents. A folder is used to job is to be processed. The object name is *JOBD.
group related documents and to find documents by
name. The system-recognized identifier for the object job name. The name of the job as identified to the
type is *FLR. Compare with library. system. For an interactive job, the job is assigned the
name of the work station at which the job was started;
formatted diskette. A diskette on which the control for a batch job, the name is specified in the command
information is written but which may or may not contain used to submit the job. Contrast with qualified job
any data. name.

Glossary G-3
job queue. A list of batch jobs waiting to be started or network. A collection of data processing products con-
processed by the system. The system-recognized iden- nected by communications lines for exchanging informa-
tifier for the object type is *JOBQ. tion between stations.

journal. A system object used to record entries in a network node. A node that can define the paths or
journal receiver when a change is made to the data- routes, control route selection, and handle directory ser-
base files associated with the journal. The object type vices for APPN.
is *JRN. See also journal receiver.
node. (1) One of the systems or devices in a network.
journal receiver. A system object that contains journal (2) A location in a communications network that pro-
entries recorded when changes are made to the data in vides host processing services. (3) (X.25) A point
database files or the access paths associated with the where packets are received, stored, and forwarded to
database files. The object type is *JRNRCV. See also another location (or data terminal equipment) according
journal. to a routing method defined for the network.
(4) (APPN) See network node and end node.
K. 1024 bytes of storage.
normal queue. A list of distribution items for a next
keyed sequence access path. An access path to a system (queue for each next system) with a low priority
database file that is arranged according to the contents for sending. There is one normal queue for each next
of key fields contained in the individual records. See system. When send times and queue depths are satis-
also arrival sequence access path and access path. fied for both the priority and normal queues at the same
time, the priority queue is sent first. Contrast with pri-
library. (1) An object on disk that serves as a direc- ority queue.
tory to other objects. A library groups related objects,
and allows the user to find objects by name. Compare object. (1) A named storage space that consists of a
with folder. (2) The set of publications for a system. set of characteristics that describe itself and, in some
cases, data. An object is anything that exists in and
licensed program. An IBM-written program that per- occupies space in storage and on which operations can
forms functions related to processing user data. be performed. Some examples of objects are pro-
grams, files, libraries, and folders. (2) (SQL) Anything
line configuration. The process of creating configura- that can be created or manipulated with SQL state-
tion descriptions for the lines that make up a data pro- ments, such as databases, tables, views, or indexes.
cessing system. See also controller configuration and
device configuration. object authority. A specific authority that controls
what a system user can do with an entire object. For
local work station. A work station that is connected example, object authority includes deleting, moving, or
directly to the system without a need for data trans- renaming an object. There are three types of object
mission functions. Contrast with remote work station. authorities: object operational, object management, and
object existence.
logical unit (LU). One of three types of network
addressable units that serve as a port through which a object distribution. A function that allows a user to
user accesses the communications network. See also send source and data files, save files, job streams,
physical unit, and system services control point (SSCP). spooled files, and messages to another user, either
locally or on a SNADS network.
LU. See logical unit (LU).
object existence authority. An object authority that
mode. The session limits and common characteristics
allows the user to delete the object, free storage of the
of the sessions associated with advanced-program-to-
object, save and restore the object, transfer ownership
program communications (APPC) devices managed as
of the object, and create an object that was named by
a unit with a remote location.
an authority holder.
mode description. A system object created for
object management authority. An object authority
advanced-program-to-program communications (APPC)
that allows the user to specify the authority for the
devices that describe the session limits and the charac-
object, move or rename the object, and add members
teristics of the session, such as the maximum number
to database files.
of sessions allowed, maximum number of conversations
allowed, the pacing value for incoming and outgoing object name. The name of an object. Contrast with
request/response units, and other controlling information qualified name.
for the session.
output queue. An object that contains a list of spooled
files to be written to an output device, such as a printer.

G-4 AS/400 System/38 Environment Programming


override. A value that replaces a previous value. return code. In data communications, a value sent by
the system to a program to indicate the results of an
pass-through. See display station pass-through. operation by that program.

physical unit. One of three types of network address- RJE. See remote job entry (RJE).
able units. A physical unit exists in each node of an
SNA network to manage and monitor the resources RPG. Report Program Generator. A programming lan-
(such as attached links and adjacent link stations) of a guage designed for writing application programs for
node, as requested by an system services control point business data processing requirements. The applica-
logical unit (SSCP-LU) session. tion programs range from report writing and inquiry pro-
grams to applications such as payroll, order entry, and
presentation graphics routines (PGR). A group of production planning.
routines within the operating system that allows busi-
ness charts to be defined and displayed procedurally save system authority. A special authority that allows
through function routines. Contrast with graphical data the user to save and restore all objects on the system
display manager (GDDM). and free storage of all objects on the system. See also
all object authority, job control authority, security admin-
priority queue. A queue that contains distribution istrator authority, service authority, and spool control
queue entries for distributions with a service level of authority.
fast, status, or data high. When send times and queue
depths are satisfied for both the priority and normal SDLC. See synchronous data link control (SDLC).
queues, the priority queue is serviced first. Contrast
with normal queue. security administrator authority. A special authority
that allows a user to add users to the system distribu-
problem analysis. The process of finding the cause of tion directory, to create and change user profiles, to add
a problem. For example, a program error, device error, and remove access codes, and to perform office tasks,
or user error. such as delete documents, folders, and document lists,
and change distribution lists for other users. See also
problem log. A record of problems and of the status all object authority, save system authority, job control
of the analysis of those problems. authority, service authority, and spool control authority.

program message queue. An object used to hold service authority. A special authority that allows the
messages that are sent between program calls of a user to perform the alter function in the service func-
routing step. The program message queue is part of tions. See also all object authority, save system
the job message queue. authority, job control authority, security administrator
authority, and spool control authority.
program temporary fix (PTF). A temporary solution
to, or bypass of, a defect in a current release of a SEU. See source entry utility (SEU).
licensed program.
SNA. See Systems Network Architecture (SNA).
PTF. See program temporary fix (PTF).
SNA distribution services (SNADS). An IBM asyn-
QGPL. See general-purpose library. chronous distribution service that defines a set of rules
to receive, route, and send electronic mail in a network
qualified job name. A job name and its associated of systems.
user name and a system-assigned job number. Con-
trast with job name. SNADS. See SNA distribution services (SNADS).

qualified name. The name of the library containing the source entry utility (SEU). A function of the AS/400
object and the name of the object. Contrast with object Application Development Tools licensed program that is
name. used to create and change source members.

remote job entry (RJE). A function of the AS/400 source file. (1) A file of programming code that is not
Communications Utilities licensed program that allows a compiled into machine language. Contrast with data
user to submit a job from a display station on the file. (2) A file created by the specification of
AS/400 system to a System/370-type host system. FILETYPE(*SRC) on the Create command. A source
file can contain source statements for such items as
remote work station. A work station that is connected high-level language programs and data description
to the system by data communications. Contrast with specifications.
local work station.

Glossary G-5
source system. The system that issues a request to system time is changed to the local time when the
establish communications with another system. (DDM) system is started, the current system time is the local
The system on which an application program issues a time of day.
request to use a remote file. Contrast with target
system. System/36 environment. A function of the operating
system that processes most of the System/36 operator
spool. The system function of putting jobs into a control language (OCL) statements and procedure
storage area to wait to be printed or processed. statements to run System/36 application programs and
allows the user to process the control language (CL)
spool control authority. A special authority that commands. Contrast with System/38 environment.
allows the user to perform spooling functions, such as
display, delete, hold, and release spooled files on the System/38 environment. A function of the operating
output queue for himself and other users. This authority system that processes most of the System/38 control
also allows the user to change the spooled file attri- language (CL) statements and programs to run
butes, such as the printer used to print the file. See System/38 application programs. Contrast with
also all object authority, save system authority, job System/36 environment.
control authority, security administrator authority, and
service authority. Systems Network Architecture (SNA). The
description of the logical structure, formats, protocols,
Structured Query Language/400 (SQL/400). An IBM and operational sequences that are used for transmit-
licensed program that is the SAA* version of SQL. ting information units through networks, as well as con-
trolling the configuration and operation of networks.
SSCP. See system services control point (SSCP).
Systems Network Architecture distribution
synchronous data link control (SDLC). (1) A form of services. See SNA distribution services (SNADS).
communications line control that uses commands to
control the transfer of data over a communications line. target system. In a distributed data management
(2) A communications discipline conforming to subsets (DDM) network, the system that receives a request from
of the Advanced Data Communication Control Proce- an application program on another system to use one or
dures (ADCCP) of the American National Standards more files located on the target system. Contrast with
Institute (ANSI) and High-Level Data Link Control source system.
(HDLC) of the International Standards Organization
(ISO), for transferring synchronous, code-transparent, temporary library. A library that is automatically
serial-by-bit information over a communications line. created for each job to contain temporary objects that
Transmission exchanges may be duplex or half-duplex are created by the system for that job. The objects in
over switched or nonswitched lines. The configuration the temporary library are deleted when the job ends.
of the connection may be point-to-point, multipoint, or Named QTEMP.
loop. Compare with binary synchronous communica-
tions (BSC). uninterruptible power supply. A source of power
from a battery installed between the commercial power
system ASP. The auxiliary storage pool where system and the system that keeps the system running, if a
programs and data reside. It is the storage pool used if commercial power failure occurs, until it can complete
a storage pool is not defined by the user. See also an orderly end to system processing.
auxiliary storage pool and user ASP.
user ASP. One or more auxiliary storage pools used
system configuration list. A list of devices that are to isolate journals, journal receivers, and save files from
provided with the system. the other system objects stored in the system ASP.
See also auxiliary storage pool and system ASP.
system distribution directory. A list of user IDs and
identifying information, such as network addresses, user profile. An object with a unique name that con-
used to send distributions. tains the user’s password, the list of special authorities
assigned to a user, and the objects the user owns.
system services control point (SSCP). A focal point
within an SNA network for managing the other systems vector symbol set (VSS). A set of characters each of
and devices, coordinating network operator requests which is treated as a small picture and is described by
and problem analysis requests, and providing directory a sequence of lines and arcs. Characters in a vector
routing and other session services for network users. symbol set can be drawn to scale, rotated, and posi-
tioned precisely. Contrast with image symbol set (ISS);
system time. The elapsed time from the point where see also graphics symbol set.
the system was started to the current time. If the

G-6 AS/400 System/38 Environment Programming


work station. A device used to transmit information to X.25. In data communications, a specification of the
or receive information from a computer; for example, a CCITT that defines the interface to an X.25 (packet-
display station or printer. switching) network.

work station user profile. The system-supplied user


profile that has the authority required by work station
operators. Named QUSER.

Glossary G-7
G-8 AS/400 System/38 Environment Programming
Bibliography
The books below are listed with their full title and base information on how to use the word processing
order number. functions of OfficeVision/400.
Ÿ Network and Systems Management, SC41-3409. Ÿ Backup and Recovery – Advanced, SC41-3305.
Provides information for configuring AS/400 systems Provides the system programmer with information
to use the remote management support (distributed about the different media available to save and
host command facility), the change management protect system data, as well as a description of how
support (distributed systems node executive), and to record changes made to database files and how
the problem management support (alerts). that information can be used for system recovery
and activity report information.
Ÿ Distributed Data Management, SC41-3307. Pro-
vides the application programmer or system pro- Ÿ Programming Reference Summary, SX41-3720.
grammer with information about remote file Provides the system operator, system programmer,
processing. or system administrator with quick reference infor-
mation about the structure of the AS/400 com-
Ÿ SNA Distribution Services, SC41-3410. Provides
mands.
the system operator or system administrator with
information about administering data communica- Ÿ CL Programming, SC41-3721. Provides the appli-
tions applications on an AS/400 system. cation programmer or system programmer with a
wide-ranging discussion of AS/400 programming
Ÿ ICF Programming, SC41-3442. Provides informa-
topics.
tion to write application programs that use AS/400
communications and the OS/400-ICF file. Ÿ CL Reference, SC41-3722. Provides the applica-
tion programmer or system programmer with a
Ÿ Communications Configuration, SC41-3401. Sup-
description of the AS/400 control language (CL) and
plies communication configuration examples.
its commands.
Ÿ Communications Management, SC41-3406. Sup-
Ÿ Cryptographic Support/400, SC41-3342. Provides
plies management information relating to commu-
the system operator or system programmer with a
nications, specific work management,
description of the data security capabilities of the
communications error handling, and performance.
AS/400 Cryptographic Support.
Ÿ Local Device Configuration, SC41-3121. Provides
Ÿ DB2/400 Database Programming, SC41-3701. Pro-
the system operator or system administrator with
vides the application programmer or system pro-
information on how to do an initial configuration and
grammer with a detailed discussion of the AS/400
how to change that configuration. It also contains
database structure, including information on how to
conceptual information about device configuration.
create, describe, and manipulate database files on
Ÿ RPG/400 Reference, SC09-1817. Provides the the system.
application programmer with the information needed
Ÿ DDS Reference, SC41-3712. Gives descriptions of
to write programs for the AS/400 system using the
the entries and keywords needed to describe data-
RPG/400 programming language.
base files (both logical and physical) and certain
Ÿ System/38 Migration Planning, SC41-3153. Pro- device files (for displays and printers) external to
vides the application programmer, system adminis- the user’s programs on the AS/400 DDS Coding
trator, or data processing manager with information Form.
to help them migrate their products and applications
Ÿ Data Management, SC41-3710. Provides the appli-
with the System/38 Migration Aid.
cation programmer or system programmer with
Ÿ Using OfficeVision/400, SH21-0697. Provides the information about managing key aspects of the
office user with detailed information on how to use system.
OfficeVision/400. It contains procedural as well as
Ÿ Performance Tools/400, SC41-3340. Provides the
reference information and can be used with the
system programmer with an overview of AS/400
Office online information.
performance tools and explains how the tools can
Ÿ Getting Started with OfficeVision/400, SH21-0732. be used to help manage system performance.
Provides office users with information to help them
Ÿ Work Management, SC41-3306. Provides the
learn how to use the word processing functions of
system programmer with information about how to
OfficeVision/400.
create an initial work management environment and
Ÿ Using OfficeVision/400 Word Processing, how to change it.
SH21-0701. Provides the office user with detailed

 Copyright IBM Corp. 1994 H-1


Ÿ System/38 Uninterruptible Power Supply Planning data processing manager with information about
Guide, GA21-9421. Provides information about the using Text Management/38 on the AS/400 system.
basic uninterruptible power supply (UPS).
Ÿ System/38 to AS/400 Migration Aid User’s Guide
Ÿ DFU/38 User’s Guide and Reference, SC09-1217. and Reference, SC09-1165. Provides the system
Provides the work station operator, application pro- operator, application programmer, system pro-
grammer, system programmer, and data processing grammer, and data processing manager with infor-
manager with information about using the DFU/38 mation about using the System/38 Migration Aid to
on the AS/400 system. move System/38 objects to the AS/400 system
using menus and displays, or commands.
Ÿ Query/38 User’s Guide and Reference, SC09-1218.
Provides the work station operator, application pro- Ÿ System Operation, SC41-3203. Provides the
grammer, system programmer, and data processing system operator or system administrator with infor-
manager with information about using Query/38 on mation about how to use the system unit operator
the AS/400 system. panel, send and receive messages, respond to error
messages, start and stop the system, use the
Ÿ Text Management/38 User’s Guide and Reference,
display station function keys, control devices, and
SC21-9759. Provides the work station operator,
also process and manage jobs on the system.
application programmer, system programmer, and

H-2 AS/400 System/38 Environment Programming


Index
APPC (advanced program-to-program communica-
Special Characters tions) (continued)
*EXCLUDE keyword 2-43 coexistence 5-2
*PUBLIC keyword 2-43 comparing to advanced peer-to-peer networking
*SIGNOFF keyword 2-47 (APPN) 2-30
*SPLCTL keyword 2-38 definition G-1
device configuration 4-2
device configuration objects 2-2
A establishing 2-29
access path
local names 2-31
definition G-1
Application Development Tools 1-13, 2-63
from System/38 2-1
application program G-1
rebuild 4-1
application program interface (API) G-1
restoration 1-3
APPN (advanced peer-to-peer networking) 2-31,
selection specifications 4-4
G-1
sharing 4-4
area-specific help G-1
address regeneration 2-1
arrival sequence access path G-1
advanced peer-to-peer networking (APPN) 2-31,
ASCII (American National Standard Code for Infor-
G-1
mation Interchange) G-1
advanced printer function (APF)
ASP (auxiliary storage pool)
definition G-1
dedicated service tools (DST) 2-2
advanced program-to-program communications
definition G-1
(APPC)
migration 7-4
AS/400 system 4-5
specifications 4-2
coexistence 5-2
attribute G-1
comparing to advanced peer-to-peer networking
attribute character G-1
(APPN) 2-30
authority
definition G-1
*EXCLUDE keyword 2-42
device configuration 4-2
*SPLCTL keyword 2-53
device configuration objects 2-2
group 2-41
establishing 2-29
private 2-41
local names 2-31
program adopt 2-41
alerts
public 2-41, 2-44
controller description
restore function (RSTAUT) 2-45
definition G-1
authorization list 2-45
controller session
automatic start job
definition G-1
attended IPL 2-14
definition G-1
configuration menu 2-14
format 2-1
controlling subsystem 2-13
network attributes 7-8
initial program load (IPL) 2-55
new commands 4-2
job description 2-54
all authority G-1
system configuration 7-4
all object authority G-1
automatically started job entry G-1
ALTSEQ keyword B-1
auxiliary storage G-1
American National Standard Code for Information
auxiliary storage pool (ASP)
Interchange (ASCII) G-1
dedicated service tools (DST) 2-2
APF (advanced printer function)
definition G-1
definition G-1
migration 7-4
API (application program interface) G-1
specifications 4-2
APPC (advanced program-to-program communica-
tions)
AS/400 system 4-5

 Copyright IBM Corp. 1994 X-1


COBOL (continued)
B licensed program 2-67
BASIC 2-66, 4-17 coexistence
basic data exchange G-2 advanced program-to-program communications
BGU (business graphics utility) 2-62 (APPC) 5-2
Bibliography H-1 alerts 5-5
binary synchronous communications (BSC) communication 5-2
definition G-2 distributed data management (DDM) 5-2
return codes used 2-35 exchange ID 5-1
support on Operating System/400 program 2-2, 4-2 journal objects 5-6
BSC (binary synchronous communications) media 5-1
definition G-2 mixed files 5-2
return codes used 2-35 pass-through 5-2
support on Operating System/400 program 2-2, 4-2 PC data 5-5
BSCF38 file type 4-5 save file data 5-1
business graphics utility (BGU) 2-62 source, testing 1-10
systems network architecture distribution services
(SNADS) 5-2
C command
card 2-2, 4-2
analyzer 1-7
cascading vary
default 1-1, 1-4
definition 2-10
definition 4-3
CGU (character generator utility) 2-63, G-2
display 1-4
changes
library qualified 1-9
hardware 1-3
library qualifier 1-9
operational 1-4
library search 1-7
programming 1-4
name conversion 1-1, 3-1
character generator utility (CGU) 2-63, G-2
parameter 2-2
check library owner command (CHKLIBOWN) D-7
prompter 1-13
checksum protection G-2
public 7-7
checksum set G-2
syntax 1-6
checksums
System/38
dedicated service tools (DST) 4-2
ENDJOB C-1
migration 2-2, 7-4
ENDSBS C-1
CL (control language) G-2
command definition G-2
CL (control language) program
command file G-2
changes 4-2
commit G-2
conversion 3-1
commitment control
definition G-2
definition G-2
migration 2-3
communications
new format 2-35
device configuration 2-4
OS/400 program 6-4
files 3-4
qualified names 4-2
references 4-3
syntax 2-3, 6-4
configuration
class attributes G-2
menu 2-14
class object
SNA distribution services (SNADS) 7-8
changes 2-2, 4-3
configuration list
QGPL 7-6
local location 2-32
class of service 2-32
remote location 2-31
CLNPRT command 1-4
console 2-4
CMNF38 file type 4-5
control language (CL) G-2
COBOL
control language (CL) program G-2
ANSI 74 3-4, 4-17
controller configuration G-2
ANSI 85 3-4, 4-17
conversion
conversion 6-5
details 4-1
differences 4-17
environments 3-1

X-2 AS/400 System/38 Environment Programming


conversion (continued) DDM (distributed data management)
keyword name 3-1 coexistence 5-2
valid comments 3-1 communications 4-6
copy file 2-4 definition G-3
CPYF command 2-4 distributed data management (DDM) 2-11
CPYSPLF command 1-4 file name 5-3
cross-reference licensed program 2-62
DSPFD command 2-5 migration 5-3
cross-reference listing G-2 qualified name 5-4
CRP (Cryptographic Facility) 2-62 RMTLOCNAME parameter defaults 4-6
CRT commands 1-15, 4-12 DDS (data description specifications)
CRTCLPGM command 1-9 definition G-2
CRTDEVD command 6-3 display files 2-6
Cryptographic Facility (CRP) 2-62 files 6-4
cryptography G-2 keyword changes B-1
CSNAP commands 1-4 keywords 2-6, 4-5
current library qualified names 4-4
create commands default source types 2-6
changed from QGPL 4-9 spooled file 2-7
new support 1-14 syntax 4-3
replace QGPL 3-3 debug authority 2-7, 4-6
definition G-2 dedicated service tools (DST)
product auxiliary storage pool (ASP) 2-2
duration of command 4-9 checksums 4-2
CVTCLSRC command definition G-3
defaults 3-2 initial program load (IPL) 2-7
limits 6-3 OS/400 operating system 4-6
use 3-1 service function 2-45
DEV parameter value 2-52
device configuration
D ADDWSE command 2-9
data area 2-5, G-2 automatic configuration 2-8
data description specifications (DDS) commands 1-4
definition G-2 CRTCUD command 2-8
display files 2-6 CRTDEVD command 2-7
files 6-4 CRTLIND command 2-8
keyword changes B-1 default 2-9
keywords 2-6, 4-5 definition G-3
qualified names 4-4 different commands 2-7
source types 2-6 objects 1-2
spooled file 2-7 OS/400 program 4-6
syntax 4-3 QAUTOCFG parameter 2-8
data file utility (DFU) system configuration 7-4
converting 3-5 work station allocation 2-9
functions 4-16 device description 2-31
in System/38 environment 1-1, 3-3 device files
interactive data utility (IDU) 2-63 definition G-3
parameters 2-28 DFU (data file utility)
source 6-3 converting 3-5
data interchange 1-10, 6-1 functions 4-16
data management changes 3-3 in System/38 environment 1-1, 3-3
data queue interactive data utility (IDU) 2-63
definition G-2 parameters 2-28
database source 6-3
function 2-5, 6-4 dictionary 2-63
syntax 2-5, 6-4

Index X-3
differences end node G-3
hardware 1-3 ENTCBLDBG command A-26
operational 1-4 ERRMSGID keyword B-1
programming 1-4 error handling 2-12
disk devices 1-3 EVOKE keyword B-1
diskette exchange ID
default 2-10 coexistence 5-1
migration aid 1-2 prefix 2-12
spooling 2-53 exclude authority G-3
display commands
DSPLIB command 2-11
new commands 2-11 F
prevent user changes 2-11 FIFO (first in, first out) 4-4
display files 2-11, 3-4 file changes 3-3
display formatting finance 2-12
function keys 2-11 folder G-3
help 2-11 FORMAT keyword B-1
option numbers 2-11 formatted diskette G-3
qualified name 2-11 FROMFILE parameter
display station pass-through G-3 as default for TORCDLEN parameter A-9
distributed data management (DDM) distributed data management (DDM) file specified
coexistence 5-2 as 2-4, A-8
communications 4-6 function keys 2-11
definition G-3
distributed data management (DDM) 2-11
file name 5-3
G
GDDM (graphical data display manager)
licensed program 2-62
definition G-3
migration 5-3
general-purpose library
qualified name 5-4
definition G-3
RMTLOCNAME parameter defaults 4-6
graphic character set
document library G-3
definition G-3
document password 2-39
graphical data display manager (GDDM)
DSPF keyword 2-35
definition G-3
DSPFD command
graphics symbol set
mapping function 2-6
definition G-3
outfile support 2-5
group job
source 2-5
definition G-3
DSPOBJAUT command 2-42, 2-43
group profile authority 2-41
DSPSIZ keyword B-1
DST (dedicated service tools)
auxiliary storage pool (ASP) 2-2
checksums 4-2
H
hardware differences 1-3
definition G-3 help
initial program load (IPL) 2-7 data description specifications (DDS)
OS/400 operating system 4-6 functions 2-12, 4-5
service function 2-45 display formats 4-6
IBM displays 2-11
E QHLPSYS library 2-12
text 4-7
edit descriptions 2-11
emulation (3270)
3274 control unit 2-11
attention key 2-11
I
IBM-supplied programs
KBDTYP entries 2-12 AS/400 system 4-7
pass-through 4-7 not supported 2-13
objects changes 7-5

X-4 AS/400 System/38 Environment Programming


IBM-supplied programs (continued) IPL (initial program load) (continued)
supported 2-13 system objects 7-5
ICF (intersystem communications function) system value 2-54
format name 4-5
new commands 4-7
ICFF keyword J
definition 2-6 JFILE keyword B-1
file 4-5 job
IDU (interactive data utility) accounting
data file utility (DFU) 2-63 changes 4-8
independent work station support 2-64 creating journal 7-1
Query 2-64 journal 2-15
screen design aid (SDA) 2-64 attribute values 2-50
source entry utility (SEU) 2-64 changing queues 2-38
independent work station CHGJOBQE command 2-16
See also PC Support defaults 2-15
definition G-3 descriptions 4-8
initial program load (IPL) DSPJOBQ command 2-15
address regeneration 2-1 DSPSBSD command 2-16
console device 2-57 naming 2-15
dedicated service tools (DST) 2-45 processing 4-8
default 2-13 QGPL description objects 7-6
definition G-3 QGPL queue objects 7-7
diskette 2-35 QSYSJOBD keyword 2-15
OS/400 4-8 queue 2-15, 4-9
system objects 7-5 streams 3-1, 6-3
system value 2-54 user profiles 2-56
install function job accounting G-3
OS/400 4-8 job control authority G-3
restore device configuration 2-15 job description G-3
tape install 2-14 job name G-3
interactive data utility (IDU) job queue G-4
data file utility (DFU) 2-63 JOIN keyword B-1
independent work station support 2-64 journal
Query 2-64 definition G-4
screen design aid (SDA) 2-64 journal receiver G-4
source entry utility (SEU) 2-64 JREF keyword B-1
interchanging
communication 5-2
DDM 5-2
K
K (units) G-4
journal objects 5-6
keyed sequence access path G-4
media 5-1
keywords
mixed files 5-2
ALTSEQ B-1
PC data 5-5
ERRMSGID B-1
save file data 5-1
EVOKE B-1
intersystem communications function (ICF)
FORMAT B-1
format name 4-5
JFILE B-1
new commands 4-7
JOIN B-1
IPL (initial program load)
JREF B-1
address regeneration 2-1
MSGCON B-1
console device 2-57
PFILE B-1
dedicated service tools (DST) 2-45
PRINT B-1
default 2-13
RCVCFM B-1
definition G-3
RCVCONFIRM B-1
diskette 2-35
RCVTRNRND B-1
OS/400 4-8

Index X-5
keywords (continued) logs (continued)
REF B-1 OS/400 4-10
REFFLD B-1 problem 2-27
SFLMSGID B-1 LU (logical unit) G-4
TRNRND B-1 LU-1 (logical unit-1)
TRNTBL B-1 return codes 2-35
support 2-18
using intersystem communications function
L (ICF) 4-10
languages
BASIC 4-17
COBOL 4-17 M
conversion 3-4 menu
new functions 4-17 DSPMNU command 2-18
PASCAL 4-18 GO command 2-18
PL/I 4-18 message 2-21
RPG 4-18 OS/400 4-10
syntax 6-5 QCALLMENU 2-19
library QOPRMENU 2-19
command 1-7 QUSER profile 2-19
CURLIB parameter 2-16 security 2-19
current 4-9 message handling
current, new functions 2-44 break mode 2-20
definition G-4 changes 4-10
DSPLIB command 2-18 DSPMSG command 2-20
DSPOBJD command 2-18 IDs 2-19
library list 2-18 message help 2-21
PRDLIB parameter 2-16 message queue 2-19
product OS/400 4-10
installation 2-16 PCS 2-22
new functions 2-44 problem analysis function 2-21
product library 2-18 problem determination (PDP) codes 2-21
QGPL 2-16, 7-2 QSYSOPR message queue 2-20
QSYS 2-16 severity setting 2-20
QSYS38 1-7 SNDPGMMSG command 2-20
QSYSLIBL 2-58 support on the AS/400 system 6-4
QUSER38 1-7 user profile defaults 2-20
restoration 1-3 message queue 2-39
search 1-7, 2-16 migration
shipped 2-16 aid 1-2
licensed programs authorities information 1-3
definition G-4 device configuration 1-3
migration 1-2, 7-2 media compatibility 7-1
syntax 1-6 multiple systems 1-15
line configuration G-4 release requirements 7-1
local names 2-31 system objects 7-5
local work station G-4 system values 7-4
logical files 3-4 mixed file 2-22
logical unit (LU) G-4 mode G-4
logical unit-1 (LU-1) mode description G-4
return codes 2-35 move library objects command (MOVLIBOBJ) D-3
support 2-18 MSGCON keyword B-1
using intersystem communications function multiple systems, migrating 1-15
(ICF) 4-10 MXDF38 file type 4-5
logs
distribution 2-18

X-6 AS/400 System/38 Environment Programming


Operating System/400 (continued)
N CVTCLSRC command 4-2
naming 2-22, 4-10 data description specifications (DDS) 4-4
network G-4 data queue 4-6
network attributes database 4-3
alerts 2-22 debug 4-6
changes 1-5, 2-22 dedicated service tools (DST) 4-6
migration 2-22, 7-1 device configuration 4-6
network node G-4 device files 4-6
node G-4 diskette 4-6
normal queue G-4 distributed data management (DDM) 4-6
emulation (3270) 4-7
finance 4-7
O graphical data display manager (GDDM) 4-7
object
graphics symbol set 4-7
definition G-4
group jobs 4-7
migration D-3
help 4-7
saved and restored 1-12
HELP key 4-5
shipped 2-46
IBM-supplied programs 4-7
syntax 1-1
ICFF file type 4-5
object attributes
initial program load (IPL) 4-8
create command 1-10, 1-11
install 4-8
DSPLIB command 1-11
intersystem communications function (ICF) 4-7
DSPOBJD command 1-11
job accounting 4-8
source types
job descriptions 4-8
description 2-24
job queue 4-9
OS/400 4-11
jobs 4-8
restored from System/38 onto the AS/400
journal 4-9
system 2-23
library 4-9
source entry utility (SEU) 2-23
logical unit-1 (LU-1) 4-10
object authority 2-43, G-4
logs 4-10
object distribution
menu 4-10
commands 6-1
message handling 4-10
definition G-4
naming 4-10
function 6-2
object attributes and source types 4-11
object existence authority G-4
overrides 4-11
object management authority G-4
pass-through 4-11
object name G-4
PC Support 4-8, 4-11
object types 2-25
printers 4-11
Operating System/400
problem analysis function 4-12
access paths 4-1
product library 4-9
advanced program-to-program communications
programmer menu 4-13
(APPC) 4-2
programming temporary fix (PTF) 4-13
alert 4-2
programs 4-12
approach example 1-14
remote location name 4-13
ASP (auxiliary storage pool) 4-2
return codes 4-13
binary synchronous communications (BSC) 4-2
routing keywords 4-5
card 4-2
save and restore 4-14
chart format 4-2
security 4-14
checksums 4-2
SNA distribution services (SNADS) 4-14
CL (control language) programs 4-2
source attribute 4-14
class object 4-3
spool 4-14
command definition 4-3
syntax of a valid comment 4-2
commitment control 4-3
syntax of the parameters 4-1
communications 4-3
System Service Tools (SST) 4-15
CRT commands 4-1
System/38 verbs 4-1

Index X-7
Operating System/400 (continued) presentation graphics routines (PGR) G-5
user profile 4-15 PRINT keyword B-1
work management 4-15 printers
work station 4-16 file attributes 2-52
X.25 parameter 4-16 files 2-26, 3-4
operational changes 1-4 image 2-26
operational differences 1-1 output queue 2-50
OPNQRYF command syntax 4-4 QGPL file 7-7
OS/400 new commands specify with user profile 2-49
System/38 commands A-2—A-38 supported 2-26
OS/400-ICF priority queue G-5
create file 2-31 private authority 2-41
logical unit-1 (LU-1) 4-10 problem analysis G-5
source types 2-13 problem analysis function 2-26, 4-12
out files 2-25 problem determination 2-26
output queue problem log
definition G-4 definition G-5
override profiles 2-44, 7-2
command (OVRPRTF) 4-11 program
definition G-4 create option 1-13, 4-12
functions 6-5
message queue G-5
P print device configuration D-1
PASCAL 2-67, 4-18 QSYS38/CRTCLPGM command, create option 1-14
pass-through references 2-27
3270 4-11 REPLACE(*YES) parameter 4-12
5250 4-11 syntax rules 1-5
advanced peer-to-peer networking (APPN) 4-11 template 2-35
coexistence 5-2 Migration Aid 1-2
definition G-5 restoring program objects 1-3
mode 2-26 program temporary fix (PTF)
RMTLOCNAME parameter 4-11 definition G-5
sign-on 6-3 licensed internal code 2-36
testing on System/38 6-4 new commands 2-28
password Programmer Menu
encryption 2-37 alternatives 1-14
security levels 2-37 attributes, designate 1-13
sign-on 1-4 data file utility (DFU) 2-28
PC support default 2-27
AS/400 system 4-11 query 2-28
compatible products 1-4 programming changes 4-13
utility 5-5 programming development manager (PDM) 1-6,
work station 4-8 1-13
PCS (personal computer support) 2-13 programming differences 1-1
PDM (programming development manager 1-6 prompter keywords 2-5
PDM (programming development manager) 1-13 DSPFD command 2-5
performance information 2-26 PTF (program temporary fix)
performance tools 2-65 definition G-5
personal computer support (PCS) 2-13 PUBAUT keyword 2-40
personal services 2-65 public authorities 2-40, 2-41
PFILE keyword B-1
PGR (presentation graphics routines) G-5
physical files 3-3 Q
physical unit G-5 QBASE subsystem 4-16
PL/I 2-67, 4-18 QCAEXEC program
OS/400 program 3-2, 3-5

X-8 AS/400 System/38 Environment Programming


QCAEXEC program (continued) remote work station G-5
QCMDEXC program 3-4 REPLACE(*NO) parameter 4-13
syntax 3-2 REPLACE(*YES) parameter 4-12
QCL program 1-9, 1-10 report program generator 2-67
QGPL library report program generator (RPG)
data files 7-6 definition G-5
definition G-5 return code
objects 7-6 AS/400 system 4-13
IBM-supplied 7-6 changes 6-5
job description 7-6 definition G-5
job queue 7-7 display C-1
output queue 7-7 file types 2-35, 4-13
subsystem description 7-7 print files C-1
system 7-5 RJE (remote job entry)
printer device file 7-7 definition G-5
QGPL38 differences 7-6 RMTLOCNAME parameter
user profile 3-3 advanced program-to-program communications
QGPL38 library (APPC)
printer device file 7-7 link 2-30
QPRTDEV parameter 2-49, 2-50 names 2-31
QSYS library 1-6, 7-7 advanced program-to-program communications)
QSYS38 library 1-6, 1-7 APPC
qualified job name G-5 approach 2-29
qualified name configuration list 2-30
command definition 1-7 defaults 2-29
conversion 3-1 device description objects 2-30
definition G-5 directory 2-33
example 2-11 distributed data management (DDM) 4-6
OS/400 syntax 4-2 internal directory 2-31
program 2-55 non-advanced program-to-program communications
RMTFILE parameter 5-3 (APPC) devices 2-34
syntax 3-5, 4-10 OS/400 program 4-13
query parameters 2-30
AS/400 system 4-17 pass-through 4-11
converting 3-5 routing keywords
distributed data management (DDM) support 4-17 RTGAID B-1
functions 4-16 RTGCON B-1
in System/38 environment 1-1, 3-3 RTGDEV B-1
OS/400 program 2-28 RTGDEVCLS B-1
source 6-3 RTGFIRST B-1
QUSER38 library 1-7 RTGFLD B-1
QUSRTOOL library 4-10 RTGFMT B-1
RTGPOS B-1
RPG (report program generator)
R See also report program generator
RA/DHCF 2-28 definition G-5
RCVCFM keyword B-1 RTGAID keyword B-1
RCVCONFIRM keyword B-1 RTGCON keyword B-1
RCVTRNRND keyword B-1 RTGDEV keyword B-1
recovery 2-28 RTGDEVCLS keyword B-1
REF keyword B-1 RTGFIRST keyword B-1
REFFLD keyword B-1 RTGFLD keyword B-1
related printed information H-1 RTGFMT keyword B-1
remote job entry (RJE) RTGPOS keyword B-1
definition G-5

Index X-9
SFLMSGID keyword B-1
S sign-off 2-47
sample programs D-1 sign-on
save and restore display 2-48
changes 4-14 optional values 2-46
data interchange 2-36 password protection 1-4
Release 5 2-35 routing entry 2-48
SAVSYS command 2-36 routing program 2-46
space utilization 2-36 two level 2-46
tape devices 2-35 user profiles 2-46
save files 2-35 SNA (Systems Network Architecture) G-6
save system authority G-5 SNA (Systems Network Architecture) environment,
SAVOBJ command 6-3 exchange ID 5-1
SAVSYS command 2-36 SNA distribution services (SNADS)
SBMJOB command 3-3, 4-15 coexistence 5-2
SDLC (synchronous data link control) configuration 7-8
definition G-6 database file formats 2-48
security definition G-5
*EXCLUDE authority 2-43 distribution log 2-48
authorization list 2-45 migration 7-3
commands 2-42 objects 2-48
data authorities 2-44 SNADS (SNA distribution services)
default passwords 2-44 coexistence 5-2
keywords 2-37 configuration 7-8
levels 2-36 database file formats 2-48
object authority 2-43 definition G-5
OS/400 program 4-14 distribution log 2-48
parameter 2-42 migration 7-3
password 2-36 objects 2-48
profile, user 2-37 sort utility 2-65
profiles 2-44 source
program changes 1-5 attribute 1-13, 2-48
public authorization 2-44 files 2-48
sign-on attempts 7-4 multiple versions 6-3
sign-on display 2-47 saved and restored 1-12
single level sign-on 2-37 syntax 1-13
security administrator authority G-5 source entry utility (SEU)
SECURITY keyword B-1 definition G-5
service authority G-5 functions 1-13
service functions product, support in command definition 2-3
dedicated service tools (DST) 2-45 prompting 1-7
Non-supported System/38 2-46 scan 3-4
system service tools (SST) 2-45 source type 2-2, 2-23
session description 2-46 source, recreated 3-2
SEU (source entry utility) System/38 commands in System/38
definition G-5 environment 6-3
functions 1-13 type 1-13
product, support in command definition 2-3 source file G-5
prompting 1-7 source file member
scan 3-4 DSPFD TYPE(*MBRLIST) statement 1-12
source type 2-2, 2-23 type 1-12
source, recreated 3-2 source system G-6
System/38 commands in System/38 SPCAUT keyword 2-38
environment 6-3 special authorities 2-38
type 1-13 spelling aid dictionary 2-49

X-10 AS/400 System/38 Environment Programming


spool system values (continued)
defaults 2-40, 2-49, 2-50 default 2-58
definition G-6 device automatic configuration 2-57
file names 2-49, 2-53 migration 1-5, 7-4
job description 2-50 no longer supported 2-58
parameters 2-49, 4-14 not migrated 2-58
print file attributes 2-52 System/36 environment G-6
printer device 2-50 System/38 commands
queue 2-49 OS/400 new commands A-2—A-38
user profile 2-49 System/38 environment
spool control authority G-6 approach example 1-14, 1-15
SQL/400 (Structured Query Language/400) G-6 CL (control language) source in the OS/400
SSCP (system services control point) G-6 program 1-13
definition G-6 defined 1-5, 1-6
SST (system service tools) 2-45, 2-53 definition G-6
STRCBLDBG command A-26 differences (or changes)
Structured Query Language/400 (SQL/400) G-6 hardware 1-3
subsystem operational 1-1, 1-4
activity level 2-56 programming 1-4
controlling subsystem 2-55 licensed programs 2-35
defaults 2-54 source 1-13
multiple subsystem approach 2-54 verbs 4-1
performance adjustment 2-54 Systems Network Architecture (SNA) G-6
QCTL subsystem 7-7 Systems Network Architecture distribution services
QGPL description objects 7-7 (SNADS)
simple subsystem approach 2-54 definition G-6
user profile 2-55
synchronous data link control (SDLC)
definition G-6 T
syntax table 2-59
(of a) valid comment 4-2 tape
(of the) parameters 4-1 devices 2-35, 2-59
differences 2-3 SAVSYS command 1-3
licensed programs 1-6 target system
rules 1-6 definition G-6
unqualified name 5-5 temporary library
system ASP (auxiliary storage pool) definition G-6
definition G-6 test 2-60
system configuration text management 1-4, 2-66
auto start job 7-4 TOFILE parameter
customized 7-3 values A-8
devices 7-4 TRNRND keyword B-1
security setting 7-3 TRNTBL keyword B-1
Total System Package 7-3
system configuration list G-6
system distribution directory G-6
U
uninterruptible power supply
system reply list 2-56
definition G-6
system request 2-56
user ASP (auxiliary storage pool) G-6
system service tools (SST) 2-45, 2-53
user profile
system services control point (SSCP) G-6
authorities 2-41
system support 2-57
authority 2-41
system time G-6
considerations 3-3
system values
definition G-6
changed 2-58
migration 2-37
CHGSYSVAL command 7-3
printer, specify 2-49
date and time 2-59

Index X-11
user profile (continued)
QPGMR 2-55
sign-on 2-46

V
vary
cascading 2-10
DSPDEVCFG command 2-10
VRYCFG command 2-10
vector symbol set (VSS) G-6
VSS (vector symbol set) G-6

W
work management 2-61, 4-15
work station 2-61, G-7
work station user profile G-7
WRKJOB command 4-16

X
X.25 parameter
definition G-7

X-12 AS/400 System/38 Environment Programming


Reader Comments—We'd Like to Hear from You!
Application System/400
System/38 Environment
Programming
Version 3
Publication No. SC41-3735-00

Overall, how would you rate this manual?

Very
Very Dissatis-
Satisfied Dissatis-
Satisfied fied
fied
Overall satisfaction

How satisfied are you that the information in this manual is:

Accurate
Complete
Easy to find
Easy to understand
Well organized
Applicable to your tasks
THANK YOU!

Please tell us how we can improve this manual:

May we contact you to discuss your responses? __ Yes __ No


Phone: (____) ___________ Fax: (____) ___________
To return this form:
Ÿ Mail it
Ÿ Fax it
United States and Canada: 800+937-3430
Other countries: (+1)+507+253-5192
Ÿ Hand it to your IBM representative.

Note that IBM may use or distribute the responses to this form without obligation.

Name Address

Company or Organization

Phone No.
Reader Comments—We'd Like to Hear from You! Cut or Fold
Along Line
SC41-3735-00 IBM 

Fold and Tape Please do not staple Fold and Tape

NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES

BUSINESS REPLY MAIL


FIRST-CLASS MAIL PERMIT NO. 40 ARMONK, NEW YORK

POSTAGE WILL BE PAID BY ADDRESSEE

ATTN DEPT 245


IBM CORPORATION
3605 HWY 52 N
ROCHESTER MN 55901-9986

Fold and Tape Please do not staple Fold and Tape

Cut or Fold
SC41-3735-00 Along Line
IBM 

Program Number: 5763-SS1

Printed in U.S.A.

SC41-3735-ðð

You might also like