This article does not cite any sources. (December 2017) (Learn how and when to remove this template message)
RPG III is a dialect of the RPG programming language that was first announced with the IBM System/38 in 1978. An upgraded version, RPG IV, was introduced in 1994. In 2001 RPG was again updated to remove a number of column restrictions. RPG continues to be upgraded on a regular basis. The last fixed form restrictions were removed in 2015. Other than sharing some opcodes and terminology, modern RPG IV is visually very different from RPG III.
Unlike predecessors, RPG III uses external file descriptions, which means that disk files are built and RPG III programs are attached to them at compile time. Some other noteworthy changes from RPG II include:
1. The object cannot be replaced while active.
2. The object in a test library cannot be moved unilaterally into production. It must be compiled in the library associated with the external files (unlike System Support Program, Control Program Facility libraries contain data files.)
3. Display formats used by RPG III programs also describe the fields displayed and received by the RPG III WORKSTN file. Therefore, these specifications, called DDS, are also external in nature.
4. The display format object used by an RPG III program must be compiled before the RPG III program itself.