Triton RPG supports RPG II through ILE RPG IV, in both fixed- and free-format source, compiling each to native JVM bytecode that reproduces IBM i behavior faithfully. This chapter documents that support in detail: opcodes, BIFs, data types, and language constructs, along with the handful of things that fall outside it.
Sections
- Quick Reference
- Unsupported
- Source Formats
- Supported Opcodes (Fixed-Format C-Spec)
- GOTO and TAG Around Structured Blocks
- Fixed-Format D-Spec Data Structures (DS)
- Supported Built-In Functions
- Supported Data Types
- Enumerations (DCL-ENUM)
- Supported Special Values
- Per-Field Date and Time Formats
- Whole-Array Assignment and Arithmetic
- Varying-Dimension Arrays (DIM(*AUTO) / DIM(*VAR))
- Pre-Runtime Arrays (FROMFILE / TOFILE)
- External Data Format (EXTFMT)
- Numeric Comparison Semantics
- Character Comparison Semantics
- Date Literals and Date Arithmetic
- ADDDUR - Add Duration to Date/Time/Timestamp (Fixed-Format)
- SUBDUR - Subtract Duration / Calculate Difference (Fixed-Format)
- EXTRCT - Extract Date/Time/Timestamp Component (Fixed-Format)
- TEST - Test Date/Time/Timestamp
- TIME - Retrieve System Date/Time (Fixed-Format)
- %DEC and %DECH
- EVAL-CORR
- EVALR
- (E) Error Extender on I/O Operations
- Invalid Numeric Field Data (Decimal-Data Error)
- %FIELDS - Selective Field Update
- Keyed Positioning and Read Forms
- Commitment Control (COMMIT / ROLBK)
- BLOCK Keyword (Record Blocking)
- Record Format Filtering (IGNORE / INCLUDE)
- Data Areas (IN / OUT / UNLOCK)
- Program Status and Template Data Structures
- Program-Wide Error Subroutine (*PSSR)
- External Indicators (*INU1 - *INU8)
- MOVE Operation Extenders
- MOVEL Operation Extenders
- Moving a Numeric Field into a Character Field
- MOVE / MOVEL of a Date, Time, or Timestamp to a Character Field
- MOVE / MOVEL of a Job-Date Reserved Word
- MOVE / MOVEL to an Indicator Result
- Reading an Indicator in an Expression
- Job-Date Reserved Words in an Expression
- MOVE / MOVEL of a Figurative Constant to a Date, Time, or Timestamp
- Exponentiation Operator
- Compound Assignment Operators
- MONITOR / ON-EXCP / ON-ERROR / ENDMON (Exception Handling)
- Implicit Variable Declaration (RPG II/III C-Spec)
- Half-Adjust in Column 53 (RPG II/III C-Spec)
- Five-Character Opcode Spellings (RPG II/III C-Spec)
- /COPY and /INCLUDE (Copy Member Inclusion)
- Conditional Compilation Directives
- /SET and /RESTORE (Default Type Attributes)
- Out-of-range Positions on the String Opcodes
- /CHARCOUNT (Character-Counting Mode)
- LIKE Keyword (Type Inheritance)
- LIKEDS Keyword (Data Structure Copy)
- Nested DCL-DS (Data Structure Groups)
- Optional Name on END-DS, END-PR, and END-PI
- DIM on a Scalar Subfield (In-DS Array Table)
- EXT Keyword (Externally Described Data Structure)
- ALIAS Keyword (Long Subfield Names on an EXTNAME Data Structure)
- LIKEREC Keyword (Data Structure from a Record Format)
- LIKEFILE Keyword (File Reference Parameter)
- Prototype / Interface Matching and OPTIONS
- Definition Keywords as Variable Names
- Field and Subfield Default Values
- Forward-Referenced Procedures
- QUALIFIED Data Structure Dot Notation
- Data Structure as a Character Value
- BASED Keyword (Pointer-Based Variables)
- Pointer Subfields of a Data Structure
- Pointer Arithmetic
- %STR - Reading and Storing Null-Terminated Strings
- %ALLOC / %REALLOC Built-in Functions
- ALLOC Opcode (Heap Storage Allocation)
- REALLOC Opcode (Heap Storage Reallocation)
- DEALLOC Opcode (Heap Storage Deallocation)
- Display File I/O Direction (USAGE)
- SFILE Keyword (Subfile Declaration)
- UPDATE on Subfile Records
- CHAIN on Subfile Records
- SFLROLVAL - Operator-Controlled Subfile Roll
- Message Subfiles - SFLMSGRCD, SFLMSGKEY and SFLPGMQ
- Passing a data structure as an API parameter
- Indicator-Conditioned DSPATR and COLOR
- ERRMSG - Field-Level Validation Error Messages
- ERRMSGID - Error Messages From a Message File
- Multiple CTL-OPT Statements
- EXPROPTS - Expression Evaluation Options
- FIXNBR - Fix Invalid Numeric Data from Files
- ALWNULL - Null-Capable Database Fields
- TRUNCNBR - Numeric Overflow Truncation
- FLTDIV - Float Division for Integer Operands
- INTPREC - Integer Intermediate Precision
- DATEYY - 2-Digit Year Diagnostics
- REQPREXP - Require Prototypes for Exported Procedures
- DECEDIT - Decimal Edit Format
- DATEDIT - UDATE / *DATE Digit Ordering
- PAGE / PAGE1 - PAGE7 - Page Numbering
- Externally-Described Printer Files
- Free-Format Program-Described Printer Output
- DDS Display File Validation
- The Device Keyword Parameter (
DISK(*EXT),DISK(80)) - Externally-Described Files and Logical Files
- Generic SQL Backend (Unlisted Databases)