If you are actively using RPG in your job, COMMON Certified Application Developer – ILE RPG on IBM i on Power is the certification for you. Finding people with current RPG skills can be difficult for employers. This technical certification shows that you are capable of doing the job.

To read more about the benefits of ILE RPG certification, check out these two articles:

Online Exam: 65 questions, two-hour time limit

Price: $250/Member, $300/Non-Member

Testing is administered by PSI. Visit its website to find the location nearest you. The ILE RPG exam also is administered at many COMMON events.

A study guide is available to assist you in preparing for the exam. Access it here.

Candidate Profile

  • Three to five years of experience performing a broad range of RPG design and programming activities
  • Advanced knowledge of keyword and their functions
  • A minimum of 18 months to two years of experience using ILE and free format techniques

ILE RPG Exam Topics

To prepare for the certification exam, review the exam topics below to help identify areas for which you may need to study.

Core RPG, Subfiles, and Externally Described Files

  • Use externally described database, display, and printer files in a program
  • Use EXTFILE.EXTMBR and OPEN/CLOSE operations in a program
  • Create and maintain subfiles and programs that use those subfiles (DDS and RPG)
  • Recognize appropriate use of RPG creation commands (e.g., CRTxxxPGM, CRTxxxMOD, CRTPGM, CRTBNDxxx)
  • Use basic array handling (e.g., *IN, LOOKUP, SORTA, MOVE, MOVEA, indexing)
  • Code and use figurative constants (e.g., *LOVAL, *HIVAL, *ALL, * BLANKS, *ZEROS, *ON, *OFF)
  • Code and use job date and system date
  • Code and use structured operations codes (e.g., DO, DOU, DOW, IF/ELSE/ELSEIF, SELECT/WHEN, EXSR, FOR/ENDFOR)
  • Code and use structured operations codes with expressions (+,-,*,/,**,<,>,=,(), and, or, not)
  • Code and use date data types and arithmetic operations, including date operations in expressions
  • Code and use RPG IV built-in functions
  • Use H-Spec keywords
  • Use RPG IV OpCodes (e.g., Arithmetic, Date, Message, Array, Declarative, File, Branching, String handling, Structured programming, compare, initialization, subroutine, data area)
  • Code and use D-specs, including keywords

Advanced RPG & Problem Determination / Resolution

  • Given an example of complex logical expression, determine its results
  • Use data structure arrays
  • Code complex D-specs (.eg. OVERLAY, coding fields without attributes, etc.)
  • Use modern techniques to handle numbered indicators
  • Declare and use subprocedures
  • Use externally described data structures
  • Write logic (including I/O operations) without numbered indicators
  • Code and use /free format Calc specifications
  • Translate operation codes not supported in /free form (e.g., MOVE, CALL, etc.) into /free form
  • Use qualified data structures (e.g., LIKEREC, LIKEDS)
  • Prototype program calls
  • Determine appropriate use of passing parms by value vs by reference
  • Enumerate advantages of Prototypes compared with PARM and PLIST
  • Determine appropriate use for prototype keywords such as CONST, VALUE, and OPTIONS (*NOPASS,*OMIT, *VARSIZE)
  • Use EVAL-CORResponding
  • Debug RPG Programs
  • Diagnose and eliminate errors for date data types and arithmetic overflow
  • Code and use Monitor and %Error to handle runtime errors

RPG Data Handling

  • Utilize embedded SQL in an RPG program (including /free form)
  • Code and use I/O directly to/from Data Structures
  • Determine multiple ways to use partial keys, including KLISTS, Key Data Structures, and direct specifications of key fields on I/O operations.
  • Demonstrate how to convert character and numeric data fields containing date values into Date data types and vice versa
  • String manipulation with %substring, %scan, %replace


  • Explain, create and use Binding Directories
  • Differentiate bound procedure calls from dynamic program calls
  • Differentiate “bind by copy” from “bind by reference” and their appropriate uses
  • Determine appropriate use of activation groups, including ILE and non-ILE
  • Create and use Service Programs
  • Determine the impact and appropriate use of the DFTACTGROUP (Default Activation Group) parameter on the CRTBNDRPG (Create Bound RPG) command
  • Determine causes and ways to avoid Signature Violation errors when using Service Programs
  • Determine the appropriate use of the scoping parameters for Override and Open commands such as OPNDBF and OPNQRYF