COMMON Boot Camp

Update: The Programming in ILE RPG Boot Camp is now available. Please see below for details regarding subscriptions. If you would like to receive an update when the IBM i Systems Administration Boot Camp is available, please provide the information below. Thank you for your interest.

Background

COMMON Members, we heard you loud and clear. You are looking for a way to train new talent in your organization – perhaps students straight out of college or mid-career employees with no previous experience in IBM i Systems Administration or ILE RPG. The new Boot Camp video training series solves this challenge.

Each video in a series is presented by a subject matter expert. Available online 24×7, these subscription-based series are a perfect addition to your training program.

Meet the speakers: RPG

Subscribe to Programming in ILE RPG

An individual subscription to one of the Boot Camp video training series is $699/Member and $849/Nonmember. To subscribe, click the button below.

Site licenses are available for three or more individuals from the same organization. The subscription cost is $1899/Member and $2249/Nonmember. Click the button below to subscribe.

All individual subscriptions and site licenses are valid for one year. Renewals are available at a 50% discount by calling us at 1.312.279.0192 or 1.800.777.6734.

IBM i Systems Administration

This series consists of 17 lessons.

1. IBM i Operating System Introduction and Overview

Topics

  • Brief History of IBM i and Power Systems
    • Dates
    • Version History with Associated Hardware History
    • System Names
    • Communications Past (Twinax BiSync T/R SNA/SDLC FDDI IPX)
    • Modern Use Cases
  • System Concepts
    • Differences between IBM i and Other Systems
      • Integrated System
      • Main Storage (not memory)
      • IPL (unique to system)
      • PTFs (IBM i fix pack)
      • The Machine Interface
      • Everything Is an Object
  • Single-level Store
  • File Systems
  • Libraries
  • Messages and Message Queues
  • Printers, Output Queues and Spooled Files
  • Integrated File Systems
  • Storage Pools
  • Integrated Database (DB/2)
  • Security
    • Object Ownership
    • Hard Typing
  • Review of Interfaces to the System
    • Command Line Use and Command Construction
      • QSH and qp2term and Other Shells
      • Menu Structure
    • IBM Navigator for i Web Interface
    • Review of iSeries Access (historical, brief)
    • Access Client Solutions (the new, modern tool)
  • Security Basics
    • User Security
    • Limited User
    • Profile Types
    • Group Profiles
  • System Security
    • System Values
    • Password Rules
    • Auditing

2. Basic Power Systems Hardware Overview

Topics

  • Relationship of Physical Hardware to Operating System Resources
  • Physical, Partitioned vs Virtual Deployment
  • Understanding Port Numbering and Identifying Hardware
  • Tape Libraries and Tape Drives
  • Optical and RDX Drives
  • Virtual Interfaces
  • Disk Controllers and Raid
  • Internal Storage vs SAN
  • Printers and Output Queues
  • Hypervisor

3. File Systems

Topics

  • Security Model
  • Root (IFS)
    • Case Sensitivity
  • Library File System, Files and Members
  • QOpenSys
  • QNTC
  • QFileSvr400
  • QIBM
  • QDLS and Its Limitations
  • User Defined File Systems (UDFS)
  • NFS
  • Netserver
  • Samba

4. IBM i Work Management

Topics

  • Starting/Submitting Jobs
  • User Profiles
  • Library Lists
  • Subsystems
  • Class of Services
  • Routing Programs
  • Workstation Entries
  • Job Queues
  • Workload Capping
  • Performance
  • Spooled Files
  • OutQs
  • Memory Pools
    • Machine Pool
    • Base Pool
    • Interactive Pool
    • Spool Pool
    • Shared
    • Private Pools
  • Job Types
    • Batch Jobs
    • Interactive Jobs
    • Batch Immediate
    • Prestart vs Autostart
    • Writers
  • Ending Jobs
    • End Job vs End Job Abnormal

5. Problem Reporting and Management

Topics

  • Work Contact Information
  • Working with Problems
  • Reporting Problems to IBM
  • Basics of QMGTOOLS
  • Use of System History Log
  • Reading Job Log, Green Screen, Navigator and SQL
  • QSYSOPR, QSYSMSG, QSRVMSG and Redirecting Messages to Other Queues
  • Introduction to Service Tools
    • SST vs DST
  • Information – Where Do I Go for More Info?

6. Starting the System

Topics

  • Methods to Initiate IPL
    • IPL Manual vs Auto
  • A/B/D Mode IPL
  • Abnormal IPLs
    • Causes
  • CHGIPLA
  • Custom Startup Jobs
  • System Level SRC Codes and the Control Panel / HMC

7. Setting Up the System

Topics

  • Intro to the System Console (ACS)
    • When to Use System Console
    • Which Consoles Are Available
    • Which Consoles Does Your System Have
  • System Resource Allocation
    • ASP
    • Memory Pool Allocation
  • System Values
    • Allow Object Restore
    • User Profile Password Level
    • Auditing Values
    • Append Jobs
    • Number of Jobs Initially Started
    • Date and Time
    • CCSIDs
    • History Log Size
    • QLIMIT SECOFR
    • System and User Library Set Defaults
    • System Security Level
    • QPRFADJ
  • Selecting a Controlling Subsystem
  • Subsystems to Start
  • TCP/IP Interfaces and Servers to Start
  • Network Attributes
  • Setting the Database Name
  • Migrating from a Previous System
    • Retrieve System Information
    • Update System Information
  • Host table entries and DNS
  • Domain information
  • Exit programs

8. IBM i Virtual Optical and Virtual Tape

Topics

  • Concepts
    • Performance Differences
    • Compare Virtual Tape and Optical Devices to Physical Tape, Devices and Libraries
    • Network-based Virtual Optical
    • Storage
  • Creating Image Catalogs
  • Creating Devices
  • Populating Image Catalogs
  • Managing Virtual Device and Storage
    • Initializing Previously Used Virtual Tapes
  • Save and Restore Considerations
    • New Cloud Storage Solutions

9. IBM i Networking

Topics

  • Line Descriptions
  • TCP/IP Interfaces, Creating, Sstarting, VIPs, VLANs, Naming
  • Routing
  • Starting/Stopping and Maintenance of Services and Defaults
  • Bridging, Aggregation, VLANs
  • Packet Filtering
  • High Level Monitoring How-to
  • SSL TLS
  • IPV4 vs IPV6

10. IBM i Backup and Recovery Basics

Topics

  • Know Your Recovery Strategy Before You Begin
  • Tape Drive and Tape Library Basics
  • FlashCopy Overview
  • Cloud Storage Solutions
  • Tour of the SAVE Menu
  • Save While Active Concepts
  • Backup and Recovery Management Tooling (i.e. BRMS)
  • Save Strategy
    • How Often to Save
    • Save Before and After Upgrades and Maintenance
    • Saving the Right Stuff
      • Security
      • Configuration
      • Libraries
      • DLO
      • IFS
  • Monitoring Your Backups
  • Finding the QJOBMSGQFL Landmine
  • Restoring Library Objects and Restoring to a Different Library
  • Restoring IFS Objects and Restoring to a Different Folder
  • Restoring Authorities
  • Transferring Configuration from One System to Another RtvSysInf/UpdSysInf
  • Testing Your Recovery

11. IBM i Security Basics

Topics

  • Security Concepts
    • Object-centric vs Data-centric Security
      • Data and Column Encryption
      • Row Column Access Control
  • User Profiles
    • Passwords
    • Group Profiles
    • Special Authorities
    • User ID/Group ID
    • Initial Program
    • Job Description
  • Security System Values
    • System Security Level
    • Password Level (10 Characters vs 120 Characters)
  • Authorization Lists
  • Adopted Authority
  • Limited Users
  • Single Sign-on
    • Kerberos and EIM Concepts
  • Auditing Concepts
    • Audit Logs
    • Generated columns
  • Public Authority
  • Authority Collection Support (7.3)

12. CL Programs, Commands and Using SQL to Manage Your System

Topics

  • CL Program Basics
    • Identify Variables
    • Identify Subroutines
    • Control Flow
    • Monitor for Messages
    • ILE CL vs OPM
  • Where to Store CL Programs and Source
  • How to Find Correct Source for CL Program or Command
  • How to Retrieve Source When You Cannot Find Source
  • How to Edit and Compile CL
  • Modify and Deploy a Startup Program
  • Create Your Own Command
  • SQL Basics
  • Demo: Use CL and SQL to Determine PTF and Group Levels

13. Installing IBM i and Licensed Program Products (LPPs)

Topics

  • No-charge vs Additional Charge LPPs
  • Obtaining – Intro to ESS, Registering, Selecting, Download Options
  • License Keys
    • Obtain
    • Install
  • Building Image Catalog and Virtual Optical
    • Maintenance Considerations – Delete or Leave?
  • GO LICPGM
    • Difference Between Programs and Options
    • Installing LPPs
    • Save/Restore/Deletion of LPPs
    • Saving and Restoring LPPs from Another System
    • Installing Secondary Language
  • Accepting License Agreement
  • Passport Advantage

14. PTF Installation and Maintenance

Topics

  • Overview of PTFs, Purpose and Use
    • How to Figure Out What Is Installed
    • CUMes and Included Groups
    • Dependent Groups
    • Corequisites and Prerequisites
  • Perm and Temp, A and B Sides
    • Ramifications of Perm vs Temp Apply on Product Upgrades
  • PTF Groups
    • Fixing Group Status “Not Applied”
    • Why Are Groups Listed Twice?
  • Obtaining PTFs
    • Fix Central Overview
  • GO PTF Menu
    • Option 8 vs INSPTF
  • Loading, Applying  and Removing
    • Finding the QJOBMSGQFL Landmine
  • Firmware Updates – OS vs HMC
  • Recovering from a Failed Load or Apply
  • Querying PTF and Group Levels with SQL Services

15. Analyzing and Understanding Disk Space Utilization

Topics

  • Monitoring
  • Reporting
  • RtvDskInf / RtvDirInf Data Collection
    • SQL on the Retrieved Data
  • IFS Shell Commands, Find, Du, Ls
  • Disk Cleanup “Usual Suspects”
    • Journal Entries
    • Save Files
    • Virtual Tape and Virtual Optical
    • Deleted Record Space (RGZPFM)
    • Temporary Object Space

16. Database Management

Topics

  • Create and Work with DB2 Objects (tables, indexes, views, user defined functions, etc.)
  • Understanding Database Statistics
  • Basic Index Strategy Skills
  • Manage Referential Integrity and Check Constraints
  • Manage Database Logging (Journaling)
  • SQL Plan Cache
  • Show Statements
  • Visual Explain
  • SQL Plan Cache Snapshots
  • SQL Performance Monitors
  • Reorganize Physical File Members
  • System Limits
  • Save and Restore Considerations
  • Determining Sources of Locking Problems
  • Reverse Engineer SQL DDL from Tables Created with SQL or DDS
  • Relevant Tools

17. Practical Management of the System – Daily Care and Feeding

Topics

  • Hands-on Practical Examples
  • Key Throughout Is to Know What Is Normal for Your System
  • Work Management
    • Verify That Your Jobs Are Running
  • Problem Management
    • Any New Open Problems
  • User Management
    • Disabled Users
    • Users That Have Not Signed On in X Amount of Time
  • Daily Backups
    • Did It Complete?
    • If Not, Why?
    • Did It Complete in Expected Amount of Time?
  • Audit Reviews
    • Where to Look
    • What to Look For
  • Storage
    • Growing At the Expected Rate?
    • Journal Cleanup
    • Temporary Storage Growth
  • Message Management
    • QSYSMSG, QSYSOPR Are They Clean?
  • Network Management
    • Failed Network Lines
    • Correct Services Running?
  • Spooled File Management
    • Impact on Job Structures
    • Disconnected Job Logs
  • Database Management
    • Review Index Advisor
  • Performance Management
    • Observe Paging and Faulting Rates
    • Observe Disk Percent Busy
    • Observe CPU Usage
  • Job Management
    • Identify Runaway Jobs
    • Fix Runaway Jobs
  • Working with Scheduled Jobs
    • Jobs that Failed
    • Jobs That Are Still Running That Shouldn’t Be Running

Programming in ILE RPG

This series consists of 10 video lessons, a workbook, and a save file for the exercises. (The save file is compatible with IBM i release 7.2.) Watch this video for an introduction and find the program outline below.

1. Introduction to Programming and RPG - Hello World Program-Driven

Speaker: Scott Klement

Topics

  • Discuss Series – how exercises work, database file, source code, map the way through
  • Editing Source – with highest level explanation of RDi
  • Identify and Define Program Variables
  • Define Printer File
  • Variable Assignment for “Hello World”
  • Exercise: Print “Hello World” (DSPLY Command – results called from 5250 interface)
  • Compile and Bind Programs
  • Run and Test Programs – show in green screen, WRKOBJ, WRKSPLF, Call
  • Explain Libraries, Explain Objects, Explain Spooled Files – show in green screen
  • Variable Assignment for Add Two Integers
  • Exercise: Add Two Integers (DSPLY Command)

2. Getting Started - How an RPG Program Is Put Together

Speaker: Kody Robinson

Topics

  • Define Files, Members, Records, Fields
  • Cross-reference with SQL Terminology – schemas, tables, rows, and columns
  • Define and Use Dcl-f (Declare File)
  • Identify Sections of an RPG IV Program
  • Programming Specifications
  • CTL-OPT Keyword
  • Explain Program Development Cycle (short section)
  • Define and Use Dcl-s (Declare Standalone Variable)
  • Define Free Format Specifications
  • Syntax of Writing Comments in RPG (brief)
  • Basic Syntax in RPG – IF, ELSE, ELSEIF, SELECT, WHEN, LOOPS, COMPARISONS, OTHER
  • Monitoring for Errors – MONITOR, ON-ERROR
  • How to Find Reference Manuals
  • Externally Described Files
    • Describe and Use EDTWRD and EDTCDE Edit Codes
    • Define and Use Overflow, SPACEA, SPACEB, SKIPA, SKIPB
    • Use Field Reference File
    • Use WRITE Operation
    • SETLL Operation
    • READ Operation
    • %EOF Function
  • Exercise: Prog1_Documentation (maybe prog3, refer to section above for prog1 & prog2)

3. Basic Screens

Speaker: Jim Buck

Topics

  • Screens Are a Different DDS
  • Show Keywords
  • Screen Designer in RDi – literals, function keys, input, output, formats
  • Address That Screen from RPG Program – declare and execute formats
  • INDARA, INDDS
  • Outputting onto Screen
  • Exercise: Type YourName, Program Outputs “Hello NAME” Using DSPF
  • CUA (breezy, indicating short overview section)
  • Accessing Individual Records from a File (chain write update)
  • Create a CRUD Program
  • CHAIN
  • UPDATE
  • DELETE
  • %FOUND
  • Using File and Record Locking
  • Exercise: Screen That Asks for Cust Number, Retrieve, Update or Write Back to File – customer maintenance program (CSCTP)
    • Do the exercise in the main program

4. Using Declarations and Data Structures for File I/O

Speaker: Kody Robinson

Topics

  • Declare and Use Constants
  • Declare and Use Literals (brief)
  • Declare and Use Standalone Variables
  • Declare and Use the LIKE Keyword
  • Declare and Use Data Structures
  • Declaring the Data Structure Header
  • Declare and Use Data Structure Subfields
  • Declare and Use Overlapping Subfields
  • Declare and Use Externally Described Data Structures
  • Declare and Use Qualified Data Structures
  • Declare and Use LIKE and LIKEDS
  • Declare and Use Arrays
  • %LOOKUP
  • SortA
  • %XFOOT
  • Mention Other Types (Compile Time and Prerun Time) of Arrays and Tables to be Found in the Documentation
  • Data Structure Arrays
  • Assign Initial Values to Variables
  • Initialize Data Structures and fields
  • Exercise: Split Phone Number Area Code from Exchange, Look Up the Full State Name from the Two Character Code Using an Array (CSCSTP)
  • Introduction to Data Structures as a Mechanism for Passing Info to and from File
  • LIKEREC Keyword, *input, *output
  • Using Data Structures with Database
  • Using Data Structures with Display Files
  • INDDS Keyword
  • EVAL-CORR
  • Exercise: Redo CRUD Application with Data Structures for File I/O (CSCSTP)

5. Controlling Program Workflow - Subroutines and Subprocedures

Speaker: Jim Buck

Topics

  • Using Relational Comparisons – >, =>, =, <=, <, <>
  • Define and Use Sequence
  • Define and Use Selection
  • Declare and Use IF, ELSE, ELSEIF
  • Declare and Use SELECT, WHEN, OTHER
  • Define and Use Control Break Logic (not using the cycle)
  • Declare and Use Iteration
    • Declare and Use DOW Operation
    • Declare and Use DOU Operation
    • Declare and Use FOR Operation
  • Loops and Early Exits
    • Declare and Use ITER Operation
    • Use the LEAVE Operation
  • Declare and Use Subroutines
    • Use the BEGSR, ENDSR Operation
    • Use the EXSR Operation
    • Use the LEAVESR Operation
  • Declare and Use Subprocedures
    • Declaring local variables
    • Parameters
    • Return Values
    • Passing Parameters by Value
  • Calling Programs
    • Parameters
    • Prototypes
    • Calling the Prototype
  • Exercise: CRUD Application in Different Routines, Pass the Data Structures as Paramaters (CSCSTP)
  • Exercise: Report That Does Control Breaks (CSCTP) Total Balance Due by State

6. ILE Concepts

Speaker: Scott Klement

Topics

  • Exporting Subprocedures
  • Define Binding
  • Cycle Main vs No Main vs Linear Main Procedures (breezy)
  • Modules
  • Use the /COPY, /INCLUDE Statements
  • Compile and Bind Modular Programs
  • Exercise: Redo CRUD Program Using Modules, Read, Write/Update, and State Lookup into Separate Modules (CSCSTP)
  • Describe Single Entry Point Programs
  • Describe Multiple Entry Point Service Programs
  • Use Binding Directories
  • Compile and Bind Service Programs
  • Describe and Use Binder Language
  • Describe and Use Service Program Signatures
  • Use the CRTSRVPGM command
  • Deploy Service Programs in an Application
  • File I/O and Subprocedures
  • Use the DSPPGM and DSPSRVPGM Commands (breezy)
  • Activation Groups
    • Describe and Use the Default Activation Group
    • Describe and Use a Named ILE Activation Group
    • Describe and the Caller’s Activation Group
    • Describe and Use Activation Groups and File Overrides
    • Describe and Use Activation Groups and File Opens
  • Exercise: Redo CRUD Program Using Service Programs (CSCSTP)

7. Static SQL

Speaker: Patrick Behr

Topics

  • Define SQL Data Manipulation Language (DML)
  • Define and Use DML Statements Select, Inset, Update and Delete
  • Define and Use EXEC-SQL
  • Using Host Variables in SQL statements
  • Define and Use Host Structures
  • Handle Null Values in Tables Use the SQL
  • Handle SQL Return Codes (SQLCODE and SQLSTATE)
  • Define and Use SQL Cursors
  • Use the SQL OPEN Statement
  • Use the SQL FETCH Statement
  • Use the SQL CLOSE Statement
  • Use the SQL UPDATE Statement
  • Use the SQL DELETE Statement
  • Use the SQL SET OPTION Statements (ALWCPYDTA, CLOSQCLCSR)
  • Create a SQLRPGLE Program
  • Exercise: Redo CRUD Application Using SQL (CSCSTP), Take Service Program and Redo with SQL-based Service Program

8. Further Operations and Functions

Speaker: John Fellner

Topics

  • How to Look Up Functions in the Manual (knowledge center)
  • Demonstrate Going Down List and Picking a Function
  • Explain the Documentation for One of the Functions (fixed, free, factor 1, 2, and result)
  • How to Look Up Op Codes in the Manual
  • Demonstrate Going Down List and Picking an Op Code
  • Explain the Documentation for One of the Op Codes (fixed, free, factor 1, 2, and result)
  • Using Op Codes and Functions in Calculations
  • Numeric Examples
    • %EDITC
    • %DEC, %DECH (plus discussion of half adjust)
    • %REM
  • String Examples
    • %SUBST
    • %CHAR
    • %SCAN
    • %CHECK
    • %XLATE
    • %TRIM (%TRIMR, %TRIML)
  • Date Examples
    • %DIFF
    • %SUBDT
    • %DATE, %YEAR, %HOUR (different date and time formats discussed)
  • Exercise: CSCSTP Table – Write Procedure to Convert to Proper Case (%SUBST and %XLATE) and Flag if Last Order Date within X Days (%DATE and %DIFF)

9. Programming with Subfiles

Speaker: Max Valdman

Topics

  • Subfile Record Format
  • Define and Use the SFL Keyword
  • Subfile Control Record Format
  • Define and Use the SFLCTL Keyword
  • Define and Use the SFLDSP, SFLDSPCTL Keywords
  • Define and Use the SFLPAG, SFLSIZ Keywords
  • Define Footer Record Format
  • Define and Use the OVERLAY Keyword
  • Load a Subfile
  • Load an Entire Subfile
  • Load a Subfile a Page at a Time
  • Expanding Subfile
  • Reloading a Subfile after Delete or Sort
  • Getting Input from Subfiles
  • Define and Use the READC Statement
  • Define and Use the Chain Op Code
  • Exercise: Create Order Entry Application (CSCSTP, CSINVP, CSORDP, CSORDPRP)

10. Additional SQL Techniques

Speaker: Ray Everhart

Topics

  • Dynamic SQL vs Static SQL Use Sases
  • Use the SQL PREPARE Statement
  • Use the SQL EXECUTE Statement
  • Using Prepare with Cursors
  • Reserved Variable Names
  • Exercise: Convert Report Application to a Subfile SQL – Dynamically Control How Sorted Based on Parameter (CSCSTP)
  • Commitment Control – Why It Is Important
    • Commitment Scope
    • Rollback and Commit Statements
    • Set options statement for defining commit options
  • Exercise: Order Entry Application with Commitment Control (CSCSTP, CSINVP, CSORDP, CSORDPRP)