IBM AS/400 Manuel D’Utilisation

Page de 489
 
 
Differences Between OPM RPG/400 and ILE RPG
 
Appendix A. Behavioral Differences Between OPM RPG/400
and ILE RPG for AS/400
The following lists note differences in the behavior of the OPM RPG/400 compiler
and ILE RPG.
 Compiling
1. If you specify CVTOPT(*NONE) in OPM RPG, all externally described fields
that are of a type or with attributes not supported by RPG will be ignored. If you
specify CVTOPT(*NONE) in ILE RPG, all externally described fields will be
brought into the program with the same type as specified in the external
description.
2. In RPG IV there is no dependency between DATEDIT and DECEDIT in the
control specification.
3. Regarding the ILE RPG create commands (CRTBNDRPG and CRTRPGMOD):
|
¹
The IGNDECERR parameter on the CRTRPGPGM command has been
|
replaced by the FIXNBR parameter on the ILE RPG create commands.
|
IGNDECDTA ignores any decimal data errors and continues with the next
|
machine instruction. In some cases, this can cause fields to be updated
|
with incorrect and sometimes unpredictable values. FIXNBR corrects the
|
data in a predictable manner before it is used.
¹
There is a new parameter, TRUNCNBR, for controlling whether numeric
overflow is allowed.
¹
There are no auto report features or commands in RPG IV.
¹
You cannot request an MI listing from the compiler.
|
4. In a compiler listing, line numbers start at 1 and increment by 1 for each line of
|
source or generated specifications, when the default OPTION(*NOSRCSTMT)
|
is specified. If OPTION(*SRCSTMT) is specified, sequence numbers are printed
|
instead of line numbers. Source IDs are numeric, that is, there are no more
|
AA000100 line numbers for /COPY members or expanded DDS.
5. RPG IV requires that all compiler directives appear 
before compile-time data,
including /TITLE. When RPG IV encounters a /TITLE directive, it will treat it as
data. (RPG III treats /TITLE specifications as compiler directives anywhere in
the source.)
The Conversion Aid will remove any /TITLE specifications it encounters in
compile-time data.
6. ILE RPG is more rigorous in detecting field overlap in data structures. For
some calculation operations involving overlapping operands, ILE RPG issues a
message while the OPM compiler does not.
7. In ILE RPG the word NOT cannot be used as a variable name. NOT is a
special word that is used as an operator in expressions.
8. At compile time, the source is read using the CCSID of the main source file,
while for OPM RPG, the source is read using the CCSID of the job.
 Copyright IBM Corp. 1994, 1999 
 
373