AS400 Modernization starts with Modernizing RPG Applications 

 July 19, 2017

By  NickLitten

Modernizing RPG Programs – Learn the RPG History first

I had email email from an old work colleague this morning. He was a windows programmer, with limited exposure to RPG, but works in a company that is driven by a huge, old, complex RPG3 application that has changed little over the last decade. He is looking into “learning the old style RPG 3 and then looking at modernizing RPG into free format RPG ILE” and was asking if there are any good resources to help with that. For a good software developer, with experience of other languages, reading modern RPG ILE is straightforward but understanding the old stuff is mystical and shrouded in the mists of time. The trouble is there are lots of online resources for existing RPG programmers to help them modernizing old RPG and upgrading old AS400 applications but they are all focused on teaching the established programmers the new tricks to help them (finally) start to grasp new technology.

Whoops – I nearly went into a rant about gray haired programmers who refuse to evolve and grasp the latest advances from IBM and RPG in particular. #deepbreath and back on track

AS400 Modernization for modernizing RPG

But, there are few places that teach new programmers how to understand RPG in all its flavours from twenty year old column based and logic cycle through to new cloud connected OO’ish style.

We need some simple on line training courses to introduce RPG to software developers working on other platforms. Modernizing RPG applications is FUN who wouldn’t want to work on it? 😉

The IBM I marketplace is buzzing and has been for a couple of years now… lots of code modernization projects out there.

As the older programming brigade, sunset off into their retirement years they are leaving behind billions of lines of RPG code and millions of programs that need to be dusted off, modernized and re-factored to work in the modern world of Internet, web services and open-data sources.

AS400 Modernization can be Simple

There are lots of companies out there, offering products that simply capture the 5250 data stream and reformat it to present the data in a modern web-page style.

But, is it really possible to go from 1990’s AS400 style, or more recent iSERIES applications to modern web friendly layouts at the click of mouse?

The answer is a YES and a NO.

The jump from old Green Screen AS400 applications to Modern web page style and mobile screens is more than just screen-scraping a nice web-page over the top of the old green screen.  The RPG code that drives those applications is still written in the old fashioned, linear style of yesteryear. SO, if you want to just make your screens pretty then use a front end tool – it will look pretty but perform slowly.

“How can I get modern fast front end screens on my IBM i application?”

RPG Modernization – upgrading from RPG to modern RPGLE ILE

modernizing rpg and RPG3 on old AS/400

The devil is in the details as they say. The only way to truly modernize an AS400 or iSeries application written in RPG over the DB2 Database is to dive into the code. Focused on RPG Application Modernization, developers will take existing RPG applications which are designed to create 5250 individual data stream or printed reports and re-write and modernize that old RPG3, RPG400 code.

This process is called modernization or refactoring.

Modernizing RPG applications is more than just upgrading from any early version of RPG. It includes database redesign, adoption of SQL data techniques. Radical changes to program logic, exploding dinosaur programs into bite sized business logic chunks. Sometimes, a different language is best placed for one of these logical chunks of business logic so different languages will be selected as needed.

The mission to create the type of powerful, modern, Web-based applications that your customer and employees are looking for is a complex one.

If it was easy – everyone would have done it right?


IBM has published a rather snazzy redbook with the succinct title of “Modernize IBM i Applications from the Database up to the User Interface and Everything in Between. The focus is on modernizing RPG, changing the mindset of older linear RPG programmers and focusing on upgrading the traditional “green screen” UI to web and mobile. Welcome to the wonderful world of IBM i application development.

[pullquote align=”normal” cite=”IBM Modernization Propeller Heads”]Learn about preferred practices for modern development. Use modern tools for a modern world. Incorporate data-centric programming for success : The world of business applications has become a fast-moving, ever-changing environment. The web, mobile computing, and the cloud have quickly followed the impact of graphical interfaces. The community is facing an ever-changing environment and it must ensure that applications can be easily enhanced and maintained when dealing with these new requirements.[/pullquote]

It’s a gripping read.

Pour a cup of Horlicks and get on it…

RPG Evolution, Modernization and Refactoring – Step 1 of 4I’ve recently been writing all my new programs in RPG Free format. Attending RPGWORLD earlier this y…Sep 11 2009www.nicklitten.com

What is AS400 modernization?I’ve been involved in some heavy RPG modernization projects recently. I enjoy it just a little but …Apr 16 2014www.nicklitten.com


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.

Nick Litten

related posts:

  • Recently, I had a bad time when I proactively changed some old school programs (RPGIII and RPGIV) to free format to improve maintenance and readability (even performance using SQL statements). My boss didn’t like that… “If it’s not broke, don’t fix it” they say, pulling back everything for the next release. The resistance to change is HUGE, they don’t want to use new practices or programming techniques to modernize the system. I am a young iseries programmer (30 years old) and I believe modernization is a must since it is happening in differente programming languages (web development is a perfect example).

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    __CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"cff50":{"name":"Main Accent","parent":-1},"a344d":{"name":"Accent Transparent","parent":"cff50"}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"cff50":{"val":"var(--tcb-skin-color-0)"},"a344d":{"val":"rgba(46, 138, 229, 0.85)","hsl_parent_dependency":{"h":210,"l":0.54,"s":0.78}}},"gradients":[]},"original":{"colors":{"cff50":{"val":"rgb(0, 178, 255)","hsl":{"h":198,"s":1,"l":0.5}},"a344d":{"val":"rgba(0, 178, 255, 0.85)","hsl_parent_dependency":{"h":198,"s":1,"l":0.5}}},"gradients":[]}}]}__CONFIG_colors_palette__

    Get In Touch

    I’m always looking for awesome input, feedback and critique!