UPDATE 2021 – Version 1 of ILEditor used to be free! Sadly, Version 2 is out and it’s become a chargeable premium code editor. Priced at $35 USD per month, per forever. 🙁 Free Premium ILE RPG Editor for IBM i – ILEDITOR I’ve been waiting for a simple free-format RPG editor for the longest

Read More

In the middle of this RPG program, I want to reformat and replace some values in a big long address field. But for the life of me… I cant remember how to use the SCANREPLACE built in function in RPG. #Dingbat /me memory circuits need a service methinks. So, like all programmers, I wonder off to

Read More

Write Clean RPG Code This morning I was revisiting a program that I wrote last year and looking at my code thinking “Why the hell did I write it like that? #Ugly”. RPG code evolves and lots of code evolution starts in one direction and then branches off, drunkenly in another direction. This means that

Read More

RPG CODE EXAMPLE – “Write to joblog” in Free Format RPGLE Write to the IBM i joblog is a neat way of recording details of any running jobs information. This example lets us send messages from inside a running RPG program. It’s simple using one of IBM’s API’s – QMHSNDPM – and this source code

Read More

RPG CODE EXAMPLE – “Write to joblog” in RPG with Qp0zLprintf Write to joblog lets us send messages from inside a running RPG program. It’s simple using one of IBM’s API’s – Qp0zLprintf Qp0zLprintf() — Print Formatted Job Log DataThe Qp0zLprintf () function prints user data specified by format-string as an information message type to the

Read More

Decode JSON webservice reply data (already stored in IFS) using YAJL This reads the JSON from the IFS – decodes it using Y.A.J.L and reports on time taken to perform decode. Writing an RPG program to read JSON using YAJL is actually pretty straightforward — I hope this code example helps! In this case the

Read More

Modern ILE RPG now (finally) supports “fully free form” RPG Source code This means, we can write RPG code from column 1 to the end of the line — just like other languages. No more jumping to character 10 to get passed the old reserved (H,F,D,I,C,O) specification column. You must code **FREE in column 1

Read More

Ever had to populate the *LDA in correct layout for JBA ERP Modules (aka GEAC aka Infor System21? Here is a quick and easy JBA System21 *LDA – RPG Example written in RPGLE **FREE format. Here is a simple RPGLE program to setup the *LDA priot to running a few little INFOR SYSTEM21 extraction routines: WEBSETLDA

Read More

What is Legacy Code? I’ve always thought LEGACY it was the correct terminology for old fashioned RPG source code. For years I’ve been focused on refactoring old column based RPG “legacy” code into new “modern” RPGLE code. But it seems that I’ve been guilty of using the wrong words all this time. I just read

Read More

UPDATE JULY 2020 – IBM CHANGED THE RULES AND NO LONGER OFFER THIS SERVICE TO ALL DEVELOPERS 🙁 Since I wrote this blog way back in 2016, IBM have changed their minds and now only offer the “try an IBM i ” service to Business partners. But fear not — If the phrase “Free IBM

Read More

Do you want to play with an IBM i System? Do you want to test compatibility with old AS400 and iSeries applications? Do you want to fiddle with IBM i? Try pub400.com – the famous public IBM i server for ! PUB400 is the successor of PUB1 – the worlds famous public AS/400 system with

Read More

The IBM i System (aka i5 aka iSeries aka AS/400) uses something called 5250 to stream its data to a terminal, often called a green screen. You’ve seen this clunk old terminals in black and white scifi movies – well we still use them. Kind of. But we use a terminal emulators (software which emulates

Read More