iRPGenie
Learning CenterLog inStart Learning Free
← Learning Center

IBM i Fundamentals

An ordered path through the foundational IBM i concepts every beginner and working developer benefits from knowing.

Showing 33 of 288 lessons
  1. 32Basic SELECT on IBM iLog in to accessWhat a basic SQL SELECT statement does, how to read one, and a common way to run one against Db2 for i data.
  2. 113What is SQLRPGLE?Log in to accessWhat SQLRPGLE is: free-format RPGLE with embedded SQL statements written directly inside the program.
  3. 114Native RPGLE File I/O vs Embedded SQLLog in to accessHow CHAIN, READ, SETLL/READE, WRITE, UPDATE, and DELETE each correspond to an embedded SQL equivalent.
  4. 115Basic EXEC SQL Syntax in RPGLELog in to accessThe EXEC SQL / semicolon block structure every embedded SQL statement in RPGLE uses.
  5. 116Host Variables in SQLRPGLELog in to accessWhat a host variable is, and how the colon prefix distinguishes it from a table column inside embedded SQL.
  6. 117SELECT INTO for Reading One RowLog in to accessUsing embedded SELECT INTO to retrieve one row into host variables, and checking SQLCODE the way %FOUND is checked after CHAIN.
  7. 118Using SQL Cursor to Read Multiple RowsLog in to accessDeclaring, opening, fetching from, and closing an SQL cursor to read every matching row, one at a time.
  8. 119INSERT with Embedded SQLLog in to accessUsing embedded INSERT to add a new row using host variables, the embedded SQL equivalent of native WRITE.
  9. 120UPDATE and DELETE with Embedded SQLLog in to accessUsing embedded UPDATE and DELETE with a WHERE clause, and how this differs from native operations acting on the most recently retrieved record.
  10. 121SQLCODE and SQLSTATE Basics in SQLRPGLELog in to accessWhat SQLCODE and SQLSTATE each report after an embedded SQL statement runs, and how they relate to each other.
  11. 122Handling No Row Found in SQLRPGLELog in to accessA clean, reliable three-way pattern for handling the SQLCODE = 100 "not found" case, distinguishing it from a genuine error.
  12. 123FETCH Loop for Reading Multiple RowsLog in to accessWriting a complete cursor FETCH loop that accumulates counts and totals across every fetched row, not just displays it.
  13. 124Basic WHERE Conditions in Embedded SQLLog in to accessWriting WHERE conditions with comparison operators and AND/OR to filter embedded SQL results beyond simple equality.
  14. 125ORDER BY and Result OrderingLog in to accessUsing ORDER BY to control query result order, and why this is separate from a physical file's own key or access path.
  15. 126Simple JOIN in SQLRPGLELog in to accessWriting a simple two-table JOIN in an embedded SQL cursor, combining CUSTMAST and ORDHIST on a shared customer number.
  16. 127NULL Handling Basics in SQLRPGLELog in to accessWhat NULL means in Db2 for i, why it differs from blank or zero, and how to detect it using a null indicator.
  17. 128Common SQLRPGLE Mistakes and Best PracticesLog in to accessThe most common beginner mistakes across embedded SQL in RPGLE, and a simple set of best practices to avoid them.
  18. 241DDL on IBM i: CREATE TABLE, ALTER TABLE, and DROP TABLELog in to accessCreating, changing, and removing a Db2 for i table with SQL DDL, and how an SQL table relates to a DDS-created physical file.
  19. 242SQL Indexes and Views on Db2 for iLog in to accessWhat an SQL index and an SQL view are, and how each relates to access paths and logical files already covered in this course.
  20. 243Constraints on IBM i: Primary Key, Foreign Key, Unique, and CheckLog in to accessWhat a database constraint is, and why it is a stronger guarantee than validating the same rule only in application code.
  21. 244ACS Run SQL Scripts for IBM i DevelopersLog in to accessWhat ACS Run SQL Scripts is and why it is a practical everyday tool for testing queries and DDL against Db2 for i.
  22. 245SQL Stored Procedures on IBM iLog in to accessWhat a SQL stored procedure is, written in SQL PL, and how it compares to the service program procedures covered earlier in this course.
  23. 246External Stored Procedures with RPGLELog in to accessHow an external stored procedure lets existing RPGLE logic be called through plain SQL, without rewriting it in SQL PL.
  24. 247SQL Triggers on IBM iLog in to accessWhat a SQL trigger is, when it runs automatically using CREATE TRIGGER, and how it compares to native ADDPFTRG triggers.
  25. 248User-Defined Functions on IBM iLog in to accessWhat a user-defined function (UDF) is and how to use one inside a SELECT statement, alongside built-in SQL functions.
  26. 249SQLCA, SQLCODE, and SQLSTATE in DepthLog in to accessWhat the SQLCA is, and how to read SQLCODE and SQLSTATE values beyond the single case of SQLCODE 100.
  27. 250Static SQL vs Dynamic SQL on IBM iLog in to accessThe difference between static SQL, known and checked at compile time, and dynamic SQL, prepared and executed at runtime.
  28. 251SQL Precompilation with CRTSQLRPGILog in to accessWhat precompilation does and where CRTSQLRPGI fits between embedded SQL source and a runnable RPGLE program.
  29. 252Query Optimization Basics on Db2 for iLog in to accessWhat a query optimizer does conceptually, and how indexes and access paths influence its choice of access plan.
  30. 253SQE vs CQE at a Beginner-Friendly LevelLog in to accessWhat SQE and CQE are, why Db2 for i has two query engines, and why this matters when reading performance advice.
  31. 254Encoded Vector Indexes IntroductionLog in to accessWhat an Encoded Vector Index (EVI) is, and what kind of grouping or summarizing query pattern it is generally built for.
  32. 255DRDA and Distributed Database ConceptsLog in to accessWhat DRDA is and why it matters for querying a Db2 for i database on a different system using ordinary SQL.
  33. 256Common Advanced SQL Mistakes on IBM iLog in to accessThe most common mistakes developers make when first working with advanced Db2 for i SQL features, drawn from across both batches.