Diagnostic Reference

Range Meaning
TRN0001 - TRN0018 Syntax, /COPY / /INCLUDE resolution, conditional-compilation directives, cross-format conversion, control-option validation, source encoding.
TRN0201, TRN0203 Two-digit-year date formats, under DATEYY.
TRN1001 - TRN1094 Fixed-format spec and opcode problems; declaration keywords; array-operand arithmetic; DIM array subfields; malformed numeric columns; mismatched initial values; constructs with no JVM equivalent; invalid F-spec pairs and record-address-type letters.
TRN1528 - TRN1548 CONST, DCL-ENUM, REQPREXP, assignment type compatibility, void-call-in-expression, undefined subfields, undefined LIKE targets, character operands in numeric contexts, MOVE/MOVEL Factor 2 operands, fixed-format DSPLY factor 1 operands, %EDITC operands, built-in functions as assignment targets.
TRN2001 - TRN2050 Built-in functions, %ADDR, FOR-EACH, exported-procedure naming.
TRN2100 - TRN2159 Names that do not resolve, names declared twice, and statement operands that do not fit the operation.
TRN2401-TRN2403 %XML / %DATA option strings, and opcodes ILE RPG does not have.
TRN3001 - TRN3039 Prototype/interface matching, OPTIONS(...), MOVE type combinations, %SIZE / %ADDR, CCSIDs, handlers, pre-runtime arrays, NOMAIN/lib mode.
TRN4001 - TRN4004 Binding directories, external-description resolution (.dspf / SQL DDL), schema map.

Four codes - TRN0002, TRN0003, TRN3003 and TRN3004 - can indicate a compiler bug rather than a problem in your source. See Internal compiler errors.