How to Use RPG Programming Language for MainFrame - ByteScout
  • Home
  • /
  • Blog
  • /
  • How to Use RPG Programming Language for MainFrame

How to Use RPG Programming Language for MainFrame

Are you looking to program in RPG programming language for mainframe computers? Then, you have landed on the right page.

But, before we go forward, let’s get to learn about the RPG programming language first.

RPG Programming Language

What is the RPG programming language?

RPG programming language stands for Report Program Generator. It is high-level programming used for business applications.

Its history dates back to 1959 when IBM developed it to replicate punched card processing. It is aimed to work with IBM 1401.

RPG evolved quite nicely in the coming years and started working with other IBM systems, including the IBM i- or OS/400-based systems.

RPG still enjoys some sort of popularity to date on the IBMi operating system. The current version of RPG is RPG IV which is also known as ILE RPG.

Initially, there was a concept of a program cycle that worked like a hypothetical loop. In the loop, each record is compared to the program’s every line. This means that each line can act on the record, depending on the indicator value. This was a unique feature for RPG II language but later scrapped by the majority of RPG programmers as they shifted to the controlling program flow.

Getting Started With RPG IV For MainFrame Computers

RPG IV is not for complete novices. If you are new to programming or computers, in general, then the tutorial is not for you!

Before you can get started, you need to know about quite a few basics concepts, including specification and program cycle.

RPG IV Specifications and RPG Program Logic Cycle

Specifications play a crucial role in how you program RPG IV. There are currently seven RPG IV specifications and each one of them is optional.

These specifications define a specific set of functions where the entries become position-dependent. Their position is determined based on the chosen specification.

Also, there is an order to the specification which needs to be followed. Let’s discuss it below briefly.

Main Source section:

  • Control specifications → used to provide the compiler the necessary information for running the program.
  • File description specifications → for describing the files used by the program.
  • Definition specifications → used to describe the program data.
  • Input specifications → used for fields and input records.
  • Calculation specifications → for data calculations and their order.
  • Output specifications → for records and fields output

Subprocedure section:

  • Procedure specifications → beginning and end of the subprocedure
  • Definition specifications → subprocedure local data
  • Calculation specifications → calculations are done by local and global data

Apart from the specifications, you also need to learn about Cycle programming. In short, it is the cycle through which a program goes through.

Indicators and Operation Codes

The next two concepts that will help you grasp RPG programming are indicators and operation codes.

Indicators are one-byte characters. They can be set either 0 or 1 and are mainly used to determine the condition or operation result.

Operational codes are used to indicate operations including arithmetic, array, bit, and so on!

RPG IV/ILE RPG Program Example

In this section, we will take a look at the ILE RPG example. The example is already discussed in detail on the IBM Knowledgebase and we are going to utilize it for better understanding.

The example goes through a payroll program that prints out the weekly employees’ pay. In this example, two disk files are used including EMPLOYEE and TRANSACT. As you might have guessed, the EMPLOYEE file contains all the employee records whereas the TRANSACT files record how many hours the employee worked.

Next, they go through a step-by-step process of defining each specification. We encourage you to go through the link shared above to learn about how it is done.


This leads us to the end of our how to program in RPG programming language for mainframe computers. So, what do you think about it? Comment below and let us know.


About the Author

ByteScout Team ByteScout Team of Writers ByteScout has a team of professional writers proficient in different technical topics. We select the best writers to cover interesting and trending topics for our readers. We love developers and we hope our articles help you learn about programming and programmers.