SAA, xxi
SAVEDS keyword, 51, 312–313
SAVEIND File specification keyword, 51
SCAN, 188, 198, 351–352, 368
scan code, 19
%SCAN, 123, 165
scope, 397, 401–402, 402, 423
%SECONDS, 123
*SECONDS, 191, 211, 276
SELECT, 188, 226, 353–354, 504–505
BEGSR and, 353–354
ENDSR, 353–354
ENDxx and, 263
IF and, 353–354
OTHER and, 353–354
syntax diagram for, 198
WHEN and, 5, 22, 353–354, 382–383, 410
SELECT-ENDSL, 321
SELECT-OMIT, 419–420
SELECT-WHEN, 5, 22, 353–354, 382–383, 410
nesting, 206–207
SELECT-WHEN-ENDSL, 262
SELECT-WHEN-OTHER, 226, 411, 413, 423, 433
CASE and, 440–445, 440
semicolon, free-format specifications and, 531, 539
separators, date/time, 572–575
sequence constructs, parameter passing and, 450
sequence of specifications, 8
sequence, in control flow, 432–435
sequential files, 205
SETGT, 154, 188, 354–355, 496, 514
CHAIN and, 230–231
cursor positioning after successful operation of, 509
KLIST and, 288
READ and, 332–333, 354–355
READE and, 336
READP and, 337, 338, 354–355
READPE and, 341
SETLL and, 355
syntax diagram for, 198
SETLL, 30, 154, 188, 356–357, 358, 496, 514
CHAIN and, 230–231
cursor positioning after successful operation of, 509
KLIST and, 288
READ and, 332–333, 357
READE and, 336
READP and, 337, 338
READPE and, 341
SETGT and, 355
syntax diagram for, 198
SETOFF and SETON, 21, 188, 358, 359
MOVE and MOVEA in, 358, 359
syntax diagram for, 198
SEU source editor, 6
severity levels, error, 545
SFILE File specification keyword, 51
short-form subtraction, 363
SHTDN, 188, 198, 360
%SHTDN, 123, 165
signed data type, 13
signed numeric constants, 23
signed values, decimal data errors and 562–566
SIGNOFF, SHTDN and, 360
single-source file RPG programs, program organization and, 400
%SIZE, 117, 118, 123, 166–167
slash (/) operator, 104
SLN File specification keyword, 51
SORTA, 188, 198, 361, 535
source code listings, 579–590
source directives, conditional compiler preprocessor, 34
source fields, 3
source file structures, in procedures and subprocedures, 476, 485–489
source files and source file location, 395–397
/SPACE directives, 32
spaghetti code, 413
special device files, 205, 326–328
data area for, 328
error codes for, 328
operation codes for, 328
parameter lists (PLIST) and, 326–328
return codes for, 328
special names (See also reserved words), 28
specification formats, 35–100
specification types, 7–9
specifications, 4
speed of programming in RPG, 7
SQL, 22, 32–34
SQRT, 188, 362, 410
E (error) operation extender and, 202
free-format syntax in, 532–533
syntax diagram for, 198
%SQRT, 123, 168
SRCFILE (Source File Name) compiler option, 544
SRCMBR (Source File Member) compiler option, 544
SRTSEQ (Sort Sequence Table) compiler option, 552
standard calculation specification, 76
*START, 30
STATIC keyword, 66, 403
static storage, 402–403
status codes, PARM and, 202–206
%STATUS, 124, 168–170, 204, 205, 212
%STR, 124, 126, 171
string expressions, 106
*STRING, 483
strings
concatenation and CAT, 227–228
Convert to Uppercase source code, 586
EVAL and, 266–267
EVALR and, 268–269
low order truncation in, 304
MOVEA, 300–303
MOVEL and, 304–308
Return as Uppercase String source code, 585
Return Length of Input String source code, 587
SCAN and, 351–352
%SUBDT, 172
%SUBST, 172–174
SUBST, 367–368
%SUBST and, 233, 367–368
verify character string and CHECK, 231–233
verify right to left and CHECKR, 234–235
XLATE, 387–389
structured analysis, 428
structured design, 428
structured programming, xxi, 409, 420, 421, 425–445
Boolean operators and, 436
CASE structure and, 440–445, 440
compare and branch operations in, 444–445
control flow constructs in, sequence, choice, repetition, 432–435
development and history of, 427–428
IF-THEN-ELSE structure in, 436–440
modular structures in, 431–432
naming conventions in, 429
object-oriented programming and, 427
operation codes for, 435
program design in, 428
rules for, 431–432
structured analysis in, 428
structured design in, 428
subprocedures and subroutines in, 431
top-down programming in, 428–431, 429
well-formed routines in, 431–432
structured query language (See SQL)
structures, naming conventions for, 12
SUB, 188, 363–364, 422
E (error) operation extender and, 202
free-format syntax in, 532–533
syntax diagram for, 198
%SUBDT, 124, 172, 191
SUBDUR, 188, 191, 192, 198, 365–366, 536
subfiles, WRITE and, 384–385
subprocedures (See procedures and subprocedures)
subroutines, 421, 422–423, 431
begin (BEGSR), 214
CALL and, 410
CASxx, 410
compare and perform, CASxx and, 225–227, 225
end and ENDSR, 264–265
EXSR and, 410
global variables and, 423
GOTO and, 274, 281
*INIT in, 214
*INZR in, 214
*INZSR and, 274
leave, LEAVSR and, 290
perform, EXSR and, 274–275, 275
*PSSR and, 214, 274
return points, 31
*TERMSR in, 214
subscript fields, 410
SUBST, 188, 198, 367–368
%SUBST, 107, 118, 124, 126, 172–174, 233, 367–368
EVAL and, 266, 268–269
Super Julian dates, 571
switches (See also indicators), 14
syntax diagrams for operation codes (See also alternate syntax (free-format) options), 195–199
*SYS, 190, 191
system licensed internal code (SLIC), decimal data errors and, 560
System/3, xxi
System/32, xix, xx
System/34, xxi
System/38, xxi