Everything you need to learn IBM i
A focused platform built around one thing: helping you actually understand IBM i.
Structured Curriculum
A structured, beginner-friendly learning path covering IBM i concepts, RPGLE, CLLE, Db2 for i, job logs, and more.
AI Tutor
Ask IBM i questions in plain language and get clear, IBM i-specific explanations -- not a generic programming assistant.
Progress Tracking
Mark lessons complete and pick up exactly where you left off, every time you come back.
Career-Ready IBM i Skills
Build practical foundations that support IBM i development, support, modernization, and long-term career growth.
5250-Style Practice Lab
Practice real IBM i commands -- WRKOBJ, DSPJOB, WRKACTJOB, and more -- in a guided, 5250-style simulator with no real system connection.
ACS-Style SQL Practice Console
Write and run SQL -- SELECT, WHERE, JOIN, GROUP BY, and more -- in an ACS-style console against safe, simulated sample data.
Want to practice hands-on? Try the 5250-style Practice Lab and ACS-style SQL Console.
Sign up to try the Practice LabIBM i Fundamentals
A complete, 288-lesson path from what the platform is to a basic development workflow -- covering libraries and objects, the 5250 interface, RPGLE, CLLE, Db2 for i, and job logs. Lesson 1 is free to preview without an account.
Explore the Learning Center- 1What is IBM i?
- 2Why IBM i Still Matters
- 3IBM i Platform Overview
- 4Libraries and Objects
- 55250 Screen Basics
- 6Physical Files and Logical Files
- 7Introduction to RPGLE
- 8Introduction to CLLE
- 9Introduction to Db2 for i
- 10Job Logs and Spool Files Basics
- 11Basic IBM i Development Workflow
- 12Where to Go Next
- 13AS/400, iSeries, and IBM i Naming Explained
- 14IBM i Access Client Solutions Overview
- 15Signing On, User Profiles, and Current Library
- 16Understanding IBM i Command Structure
- 17Using F4 Prompt and Command Help
- 18Common IBM i Object Types
- 19Library List Explained in Depth
- 20Source Physical Files and Source Members
- 21IFS Basics for IBM i Beginners
- 22Native Objects vs Stream Files
- 23Object Naming and Qualified Names in Practice
- 24Working with WRKOBJ, DSPOBJD, and WRKLIB
- 25DDS and SQL: Two Ways to Define Db2 for i Data
- 26Physical Files Explained in Depth
- 27DDS Field Definitions
- 28Keyed Physical Files
- 29Logical Files Explained in Depth
- 30Access Paths and Why They Matter
- 31SQL Tables vs DDS Physical Files
- 32Basic SELECT on IBM i
- 33RPGLE Program Structure
- 34RPGLE Source Layout and Free Format Basics
- 35Variables and Data Types in RPGLE
- 36Constants and Literals in RPGLE
- 37Expressions and Assignment in RPGLE
- 38IF / ELSE in RPGLE
- 39SELECT / WHEN / OTHER in RPGLE
- 40DO Loops and Basic Iteration in RPGLE
- 41Built-in Functions in RPGLE
- 42Data Structures in RPGLE
- 43Arrays in RPGLE
- 44Indicators in Modern RPGLE
- 45Procedures and Subprocedures in RPGLE
- 46Parameters and Prototypes in RPGLE
- 47Basic Error Handling in RPGLE
- 48Debugging RPGLE Programs
- 49When to Use CLLE vs RPGLE
- 50CLLE Program Structure
- 51CL Commands and Parameters
- 52Variables in CLLE
- 53IF, DO, and Basic Control Flow in CLLE
- 54Calling RPGLE Programs from CLLE
- 55MONMSG and Basic Error Handling in CLLE
- 56SBMJOB and Batch Job Basics
- 57Passing Parameters to CLLE Programs
- 58Calling RPGLE Programs with Parameters from CLLE
- 59Working with IBM i Job Attributes in CLLE
- 60Checking Objects with CHKOBJ
- 61Sending and Receiving Messages in CLLE
- 62Data Areas in CLLE
- 63Using CLLE for Batch Job Orchestration
- 64Common CLLE Mistakes and Best Practices
- 65What is a Display File in IBM i?
- 665250 Screen Design Basics
- 67Display File Record Formats
- 68Input Fields, Output Fields, and Both Fields
- 69Function Keys and Response Indicators
- 70Basic Display File DDS Keywords
- 71RPGLE Program Calling a Display File
- 72Simple Inquiry Screen Flow
- 73Display File Indicators Explained
- 74Function Keys in More Depth
- 75Screen Field Validation Basics
- 76Displaying Error Messages on 5250 Screens
- 77Window Records and Simple Popup Screens
- 78READ, WRITE, EXFMT, and Screen Flow
- 79Basic Inquiry Screen Pattern
- 80Common Display File Mistakes and Best Practices
- 81What is a Subfile in IBM i?
- 82Subfile Record Format vs Subfile Control Record Format
- 83SFLDSP, SFLDSPCTL, and SFLCLR Explained
- 84Load-All Subfile Concept
- 85Page-at-a-Time Subfile Concept
- 86Simple Inquiry Subfile Pattern
- 87Function Keys in Subfile Programs
- 88Common Subfile Mistakes and Best Practices
- 89Understanding RRN in Subfile Programs
- 90Clearing and Reloading a Subfile
- 91Using SFLEND to Show End of List
- 92Option Fields in Subfile Screens
- 93Selecting a Row in a Subfile
- 94Basic Update/Delete Subfile Pattern
- 95Introduction to SFLNXTCHG
- 96Debugging Subfile Programs
- 97RPGLE File Declarations with dcl-f
- 98Reading Physical Files in RPGLE with READ
- 99Understanding %EOF in RPGLE File Processing
- 100CHAIN for Keyed Access
- 101Understanding %FOUND after CHAIN
- 102Writing Records with WRITE
- 103Updating Records with UPDATE
- 104Deleting Records with DELETE
- 105SETLL in RPGLE
- 106READE for Reading Matching Keys
- 107READP and Reading Backward
- 108Processing Duplicate Keys in RPGLE
- 109Basic File Locking Concept in RPGLE
- 110Handling File I/O Errors at a Beginner Level
- 111Debugging RPGLE File I/O Programs
- 112Common RPGLE File I/O Mistakes and Best Practices
- 113What is SQLRPGLE?
- 114Native RPGLE File I/O vs Embedded SQL
- 115Basic EXEC SQL Syntax in RPGLE
- 116Host Variables in SQLRPGLE
- 117SELECT INTO for Reading One Row
- 118Using SQL Cursor to Read Multiple Rows
- 119INSERT with Embedded SQL
- 120UPDATE and DELETE with Embedded SQL
- 121SQLCODE and SQLSTATE Basics in SQLRPGLE
- 122Handling No Row Found in SQLRPGLE
- 123FETCH Loop for Reading Multiple Rows
- 124Basic WHERE Conditions in Embedded SQL
- 125ORDER BY and Result Ordering
- 126Simple JOIN in SQLRPGLE
- 127NULL Handling Basics in SQLRPGLE
- 128Common SQLRPGLE Mistakes and Best Practices
- 129What is a Printer File in IBM i?
- 130Printer File DDS Basics
- 131Report Record Formats
- 132RPGLE Program Writing to a Printer File
- 133Report Headings and Detail Lines
- 134Page Overflow Basics
- 135Spool Files and Output Queues
- 136Common Printer File Mistakes and Best Practices
- 137Report Totals and Summary Lines
- 138Multi-Record Format Reports
- 139Controlling Page Breaks
- 140Working with Spool Files using WRKSPLF
- 141Working with Output Queues using WRKOUTQ
- 142Printer File Overrides Basics
- 143Debugging Report Output Problems
- 144Printer File vs Display File vs Database File
- 145Why Debugging Matters on IBM i
- 146STRDBG Basics for RPGLE
- 147Setting and Using Breakpoints
- 148Watching Variables During Debug
- 149Understanding Job Logs
- 150Reading IBM i Message IDs
- 151Compile Errors vs Runtime Errors
- 152Common IBM i Debugging Mistakes
- 153DSPJOB and Job Information Basics
- 154WRKACTJOB Basics for Developers
- 155Finding Program Failures from Error Messages
- 156Understanding Call Stack Basics
- 157Debugging Batch Jobs at a Beginner Level
- 158Using Job Logs for SQLRPGLE and File I/O Issues
- 159Basic Troubleshooting Flow for IBM i Developers
- 160Debugging Checklist for Beginners
- 161IBM i Jobs Explained
- 162Interactive Jobs vs Batch Jobs
- 163Job Queues and Output Queues
- 164Subsystems Basics
- 165Library List in Real Job Execution
- 166Object Locks Basics
- 167Authorities and Object Access Basics
- 168Common IBM i Operations Commands for Developers
- 169Submitted Jobs and WRKSBMJOB
- 170Job Logs in Batch Jobs
- 171Job Status Values Explained
- 172Basic Job Scheduling Concepts
- 173Handling Object Locks as a Developer
- 174Authority Failures and How to Investigate Them
- 175Library List Problems in Real Applications
- 176Common IBM i Operations Mistakes and Best Practices
- 177Mini Project: Customer Inquiry Program
- 178Mini Project: Item Master Lookup Program
- 179Mini Project: Simple Order List Subfile
- 180Mini Project: Batch Report Program
- 181Mini Project: CLLE Wrapper to Run a Report
- 182Mini Project: SQLRPGLE Customer Lookup
- 183Mini Project: Debugging a Broken File I/O Program
- 184Mini Project: End-to-End Mini DMS-Style Flow
- 185Mini Project: Customer Maintenance Add/Change/Delete
- 186Mini Project: Order Entry Skeleton
- 187Mini Project: Report with CLLE Submit Job Flow
- 188Mini Project: Subfile Row Selection with Detail Screen
- 189Mini Project: SQLRPGLE Search Screen
- 190Mini Project: Printer File Report with Totals
- 191Mini Project: Troubleshooting Locked Record Scenario
- 192Mini Project: Batch Job Failure Investigation
- 193IBM i Developer Interview Roadmap
- 194RPGLE Basic Interview Questions
- 195RPGLE File I/O Interview Scenarios
- 196CLLE Interview Scenarios
- 197SQLRPGLE Interview Scenarios
- 198Display File and Subfile Interview Questions
- 199Debugging Scenario-Based Questions
- 200Real Support Ticket Analysis for Beginners
- 201Explaining Your IBM i Project Experience
- 202RPGLE Scenario-Based Interview Practice
- 203SQLRPGLE vs Native I/O Interview Discussion
- 204Debugging Live Issue Interview Practice
- 205IBM i Support Ticket Walkthrough
- 206Resume Points for IBM i Developers
- 207Common IBM i Interview Mistakes
- 208Mock IBM i Developer Interview
- 209OPM vs ILE on IBM i
- 210What are Modules, Programs, and Service Programs?
- 211Creating RPGLE Modules with CRTRPGMOD
- 212Binding Modules into Programs with CRTPGM
- 213Prototypes and Procedure Interfaces in ILE
- 214Internal Procedures vs Exported Procedures
- 215Introduction to Service Programs
- 216Activation Groups Basics
- 217Binding Directories Basics
- 218Creating Service Programs with CRTSRVPGM
- 219Binder Source Introduction
- 220Service Program Signatures at a Beginner Level
- 221Updating Service Programs Safely
- 222Activation Group Problems and Common Confusions
- 223Debugging ILE Programs
- 224Common ILE Mistakes and Best Practices
- 225Modern IBM i Development Overview
- 226Why APIs Matter on IBM i
- 227REST API Concepts for IBM i Developers
- 228JSON Basics for RPGLE Developers
- 229IFS and API Payload Files
- 230Calling External APIs from IBM i
- 231Exposing IBM i Logic as an API
- 232Common IBM i Integration Mistakes
- 233HTTP Methods and Status Codes for IBM i Developers
- 234API Request and Response Design Basics
- 235JSON Parsing Concepts in RPGLE
- 236API Error Handling Basics
- 237Logging Integration Requests and Responses
- 238Securing IBM i APIs at a Beginner Level
- 239Batch vs Real-Time Integration
- 240Debugging API Integration Issues
- 241DDL on IBM i: CREATE TABLE, ALTER TABLE, and DROP TABLE
- 242SQL Indexes and Views on Db2 for i
- 243Constraints on IBM i: Primary Key, Foreign Key, Unique, and Check
- 244ACS Run SQL Scripts for IBM i Developers
- 245SQL Stored Procedures on IBM i
- 246External Stored Procedures with RPGLE
- 247SQL Triggers on IBM i
- 248User-Defined Functions on IBM i
- 249SQLCA, SQLCODE, and SQLSTATE in Depth
- 250Static SQL vs Dynamic SQL on IBM i
- 251SQL Precompilation with CRTSQLRPGI
- 252Query Optimization Basics on Db2 for i
- 253SQE vs CQE at a Beginner-Friendly Level
- 254Encoded Vector Indexes Introduction
- 255DRDA and Distributed Database Concepts
- 256Common Advanced SQL Mistakes on IBM i
- 257User Profiles and Group Profiles on IBM i
- 258Object Authority in Depth
- 259Public Authority and Private Authority in Depth
- 260Authorization Lists on IBM i
- 261Special Authorities Explained
- 262Adopted Authority Basics
- 263Investigating Authority Failures in Depth
- 264IBM i Security Best Practices for Developers
- 265QSECURITY System Value Explained
- 266Auditing Basics and QAUDJRN Overview
- 267Exit Points and Exit Programs Overview
- 268IFS Security Basics
- 269Digital Certificates and TLS Concepts on IBM i
- 270Row and Column Access Control and Field Procedures Overview
- 271Authority Collection Overview
- 272Common IBM i Security Mistakes and Best Practices
- 273What is Journaling on IBM i?
- 274Journal Receivers Explained
- 275Starting Journaling with STRJRNPF
- 276Viewing Journal Entries Basics
- 277Commitment Control Overview
- 278STRCMTCTL, COMMIT, and ROLLBACK Basics
- 279Journaling for Recovery and Auditing
- 280Common Journaling and Commitment Control Mistakes
- 281Why Backup and Restore Matter on IBM i
- 282SAVOBJ and RSTOBJ Basics
- 283SAVLIB and RSTLIB Basics
- 284Save Files Explained
- 285GO SAVE Options 21, 22, and 23 Overview
- 286Restoring Objects Safely in Development and Test
- 287Backup vs Journaling vs High Availability
- 288Common Save/Restore Mistakes
AI Tutor
Educational guidance for IBM i concepts
Ask IBM i questions, get IBM i-specific answers
Get clear, plain-language explanations of RPGLE, CLLE, and Db2 for i concepts, tuned for the IBM i ecosystem specifically -- not a generic programming assistant.
Sign up to try AI TutorWhy IBMiHub AI?
IBM i Beginners
New to IBM i? Start with a structured learning path designed to build your understanding step by step, without assuming prior IBM i knowledge.
Working IBM i Developers
Already working with IBM i? Use the AI Tutor to refresh concepts, clarify RPGLE or CLLE questions, and explore topics you want to understand better.
A note on AI guidance:AI Tutor responses may be incorrect and should be validated before production use. Do not paste private source code, sensitive job logs, credentials, or customer data. IBMiHub AI does not connect to real IBM i systems at this time. Read the full Beta & AI Disclaimer for more detail.
Start learning IBM i today.
Free to preview. Create an account to save your progress and unlock the AI Tutor.
Start Learning Free