IBM i | AS400 | iSeries

24 Lessons

0% Not started

Programming - RPG (Report Program Generator)

RPG Programming for Beginners

RPG is the well known programming language on the IBM i platform. Earlier versions of RPG ran on the old AS/400 and iSeries machines in decades gone by... the beauty of RPG is that it is fully backwards compatible. But, over the years RPG has evolved massively!

If there was a quick and easy solution to “how to quickly become a productive RPG IV and ILE programmer” then all of us old AS400, iSeries, and IBM I developers would have gobbled up that solution in double-quick time.

Upgrading your programming skills from RPG OPM (Original Programming Model) to RPG ILE (Integrated Language Environment) can seem daunting.

  • If you are a complete programming noob then this RPG Programming course might be useful
  • If you are a software developer looking to add RPG (or RPGLE) to your skillset then this might not be completely useless
  • If you are an old school RPG programmer looking to add some modern programming style to your skillset then this might be something you actually kind of enjoy
  • Or, if you just want to get an idea of what RPG is, what RPG looks like and what RPG can do?
Course overview post 1

RPG really is much easier than it seems!

Modern RPG is just old RPG with some bells and whistles – if you know old style RPG then you already have the building blocks to expand into the shiny modern world of ILE RPG.

How can i learn modern rpg using ile or free form? Rpg programming for beginners

So, if you are an experienced legacy RPG Programmer but haven't kept abreast with the huge changes to RPG over recent years, don't be put off. It’s not as daunting as it seems. You can easily become more familiar with ILE RPG (also confusingly called RPG4, RPG5 or RPG /Free) just by running older RPG source through IBM’s CVTRPGSRC command.

Comparing the new source members with the originals lets you easily compare the source code layouts and the general formatting differences. For 99.9% of source members, the resulting source should compile as a program that works the same as the original.

Let's start with an easy example of taking a very simple (4 line) RPG/2 program and modernizing it through RPG3, through RPG400 and ending in RPGLE /Freeformat

Ready to learn?


IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Shameless Trekkie, Belligerent Nerd, Englishman Abroad and Passionate Eater of Cheese and Biscuits.

Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day.

Enjoy your stay, feel free to comment and remember: If at first you don't succeed then skydiving probably isn't a hobby you should look into.