IBM i5/iSeries Primer(c) Concepts and Techniques for Programmers, Administrators, and Sys[... ]ators
Most business applications written for the S/36 are written in RPG II. If you migrate one of those applications to the i5 under the S/36E, the application program usually works unmodified. Usually, you only need to compile it.
Still, some differences exist between the S/36 RPG II and the i5 version of RPG II. This section lists the differences between the implementations.
Files with Several Record Types
Files that have more than one record type are typical of S/36 applications. Despite the fact that DB2/400 doesnt allow different record types in a single physical file, the S/36E can process such files, because migrated files in the S/36E have no external definitions to describes the fields in detail.
There are two ways to convert multiple record type files to native format:
-
Create a separate physical file for each record type. Describe in full all the fields contained in the record.
-
Create a multiformat logical file that sits on top of all the separate physical files. Your RPG programs then can process this logical file as if it were a file that has multiple record types.
For more information on this topic, refer to Chapter 22.
New Operation Codes
The AS/400 version of RPG II supports all the opcodes used in native RPG/400 to call other programs. Therefore, RPG II programs can use any or all of the following operation codes:
-
CALL. Starts executing the program named in Factor 2. The name can be contained in a character literal or variable.
-
PLIST. Marks the beginning of a list of parameters. When Factor 1 has the value *ENTRY, it signals the entry point to a program when another program calls it.
-
PARM. PARM follows either CALL or PLIST. Each PARM operation describes one parameter.
-
FREE. If program A calls program B, program A can remove program B from memory using the FREE operation. Next time it calls B, B must be reloaded from disk.
-
RETRN. Marks a point from which a program returns control to its caller.