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 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.
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.