O (operand descriptor) operation extender, 193
object-oriented programming, structured programming and, 427
OCCUR, 187, 197, 314–316, 535
%OCCUR, 159
occurrence indexes, 314
OCCURS keyword, 64, 314
%OCCURS, 123
*OFF figurative constant, 25
*OFL, 31, 264
OFLIND keyword, 19, 49
OMIT, 419–420, 504–505
*OMIT, 25, 482, 483
*ON figurative constant, 25
ON-ERROR, 187, 317–318
MONITOR and, 293–294
natural expression support in, 200
syntax diagram for, 197
opcode (See also operation code), 3
OPDESC keyword, 64, 482, 489–490, 588–589
OPEN, 187, 319–320, 496, 512, 519–520
ACQ and, 319
CLOSE and, 319
cursor positioning after successful operation of, 509
syntax diagram for, 197
USROPN keyword and, 519
workstation device file processing and, 518
Open Query File (OPNQRYF), 22
%OPEN, 123, 160
OPENOPT Control specification keyword, 42
operands, 104–106
operation codes (opcode), 3, 181–391
arguments in, 29–30
Boolean operators and, 200, 213, 225, 253, 255, 282, 320, 382, 436, 444
branching and, 411
CALL routines and, 410
case sensitivity in, 194
COMP and, 418–419
compare and branch operations in, 417–418
converting code to modern RPG programming practices, 423
cursor positioning after successful operation of, 509
date and time (DTS) format codes for, 189–191
date and time duration codes in, 191–192
DO loops and, 414–416
error status codes and, 202
extender reference for, 192–193
file processing and, 496
file status error codes and, 204–206
free-format, 200–201
hierarchical subprocedures in, 423
indicatorless controlled logic in, 413–414
indicators deprecated for, 409–412, 420–421
math operations and, 421, 422
modern usage of, 407–423
natural expressions and, 200, 202
nested code in, 206–207
optimization of, 409–411
program status codes and, 202–203
ranges, lists, and SELECT/OMIT in, 419–420
RPG IV style tips in, 420–423
special device file, 328
structured programming and, 420, 421, 425–445
subprocedures and subroutines in, 421, 422–423
subscript fields and, 410
syntax diagrams for, 195–199
top-down logic in, 421
unconditional, 189
values in, optional, 194
variables in, 194
operators, 104–106, 436
OPTIMIZE (Optimization Level) compiler option, 550
optimizing code, 409–411, 550
OPTION, 42, 64–65, 482, 483, 547–549
OR operator, 104
ORxx, 187, 189, 320, 417, 438
DOUxx and, 254, 320
DOWxx and, 256–257, 320
fixed format conditional syntax in, 200
IFxx and, 282–284, 320
syntax diagram for, 197
WHENxx and, 320, 382
OS/400, xxii
OTHER, 187, 189, 321, 417
CASE and, 444
free-format calculation specifications and, 531
SELECT and, 353–354
syntax diagram for, 197
WHENxx and, 382–383
OUT, 29, 30, 187, 322
data areas and, 467, 469–471
DEFINE and, 243–245
syntax diagram for, 197
output, 10
OUTPUT (Compiler Output Listing) compiler option, 550
output control values, 30
output specifications, 4, 8, 9, 37, 79–88
externally described files and, 79, 86–88
program described files and, 80–85
overflow indicators, 16, 19
overflow, TRUNCNBR (Truncate Numbers on Overflow) in, 554
OVERLAY Definition specification keyword, 65