RPG IV Programming using ILE Concepts
 IBM i (AS/400) Programming
1. RPG IV Basics
* Stretching the Limits
  * Specification Changes Overview
2. Defining Data with D-Specs
* Work Fields
  * Data Structures
  * Tables and Arrays
  * Named Constants
  * Prototypes and Procedure Interfaces
  * Long Field Names
  * New Data Types
  * Indicator Data Structures
  * Initializing Data Items
  3. Expressions and Built-in Functions
* Calculation Specification Changes
  * New Operation Codes and Operation Code Extenders
  * EVAL Operation
  * Improving EVAL Precision
  * Built in Functions
  * Using BIFs to Eliminate Indicators
4. Date and Time Processing
* Defining Dates, Times, Timestamps
  * Date and Time Formatting
  * Initializing Date Values
  * Date-Related Operation Codes
  * Processing Legacy Dates Date
5. Calculations and Basic Operations
* Arithmetic Operations
  * Assignment Operations
  * EVAL Operation and Expressions
  * Free format options in C Specs
6. Conditional and Iterative Operations
* IF/ELSE Operations
  * SELECT/WHEN/OTHER Operations
  * DO/DOU/DOW/FOR Operations
  * ITER/LEAVE Operations
7. File Processing
* RPG Logic Cycle
  * File Specifications
  * Full Procedural Processing
  * Keyed Processing
  * CHAIN Operation
  * READ/READP Operations
  * SETLL/SETGT/READE/READPE
  * WRITE/UPDATE/DELETE operations
  * Error Handling EXCEPT Operation
  * Output Specifications
  * Key Lists Complex & Multiple File Processing
8. Arrays and Tables
* Defining Arrays
  * Initializing Arrays
  * Runtime vs. Compile Time Arrays
  * LOOKUP/XFOOT/MOVEA
  * Operations
  * Tables and LOOKUP
9. Converting, Compiling, and Debugging
* Creating Modules
  * Binding Programs
  * Using CRTBNDRPG Effectively
  * Using a Binding Directory
  * ILE Program Updates
  * Conditional Compilation
  * Debugging ILE Programs
  * Debug Views
10. Coding and Calling Subprocedures
* ILE Program Structure
  * Coding Subprocedures
  * Defining and Using a Prototype
  * Coding a Procedure Interface 
  * Sample Subprocedures
  * Compiling and calling Subprocedure
  * Subprocedures Vs. Subroutines
  * Why Prototypes?
  * Passing Parameters
  * Prototyping Program Calls
  * Prototyping API Calls
  11. Static Binding and Service Programs
* Dynamic Program Call and Static Procedure Call
* Bind by Copy and Bind by Reference
* Creating a Service Program
* Calling a Service Program
* Service Program Signatures
* Using Binder Language
12. Understanding Activation Groups
* What are Activation Groups?
* Default Activation Group
* User Named ILE Activation Group
* *NEW Activation Group and *CALLER Activation Group
* Activation Groups and File Overrides
* Reclaiming Resources
* Activation Groups and Shared File Opens
13. ILE Error Handling
* Message Percolation
  * Message Handlers