UPDATE 2017 : USE %SCANRPL Built in Function – IBM added a %BIF to do this for us in modern RPGLE so we can now just do a %SCANRPL in native RPG. I’m leaving this old blog here for reference but look HERE for the modern and much easier way of doing this schnizzle So, You

Read More

So, for the last few weeks I’ve been working on adding credit card handling to a legacy RPG application with a static HTML website over the top. The application code itself was written in the eighties and has evolved through a number of different versions of RPG (a mix of RPG2, RPG3, RPG400 and even

Read More

This is a pain not being able to see it in RPGNG (RPG Next Generation is an excellent RPG coding tool) but I still have to revert to things like PDM find all source members with specific descriptions against them…. For example: I want to see all RPG source code used for the ‘ABCDEFG’ project

Read More

Twenty years ago these are the kind of things you had to know to work on the old AS400 systems. I found these on an old dusty corner of my homeserver. Enjoy the trip down memory lane or to use old RPG lingo AS400 NERD CABEQ ‘1’  START OLD RPG – RPG400 or COLUMN BASED

Read More

From AS400/RPG to IBMi/RPGLE I’ve been involved in some heavy RPG modernization projects recently. Ranging from application replacements, to middleware webservice integrations to light code dusting…. I enjoy it all, just a little too much! Forget Alcoholics Anonymous, I should attend a software modernization addicts meetings where AA = AS400 Anonymous “Yes my name is

Read More

You DO NOT have an AS400 or an iSERIES! This has been an ongoing argument disagreement in our IBM i and RPG programmer communities for well over a decade: Should IBM have changed the name when the launched the replacement for the old AS/400 computer? Many people using the latest IBM i servers still enjoy

Read More

Lets start from a point where you know what JSON is right? JSON JavaScript Object Notation or JSON (/JAY-sən), is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute–value pairs and array data types. It is a very common data format used for asynchronous browser/server communication, including as a replacement for XML in some AJAX-style systems. Data types in JSON include string, number, boolean, array

Read More

This morning I got question from an old RPG3 chum of mine: I know a couple of questions they will ask me, what are the different parms used on sub-procedures like *OMIT/*Nopass. Didn’t we use those any way? I thought we were writing programs that did or did not necessarily get parms depending what called

Read More

Convert RPG Datefield %DATE into a signed numeric To convert a RPG DATEFIELD to this numeric 8,0 field with no ‘/’ or ‘-‘ do this: D USADate 8s 0 USADate = %dec(%char(DateField:*iso0):8:0); Or another even neater function is this: I prefer this %UNS built in function, since it does not require me to specify length

Read More

JULY 2015 Update: I bit the bullet and bought IBM Rational Developer RDi a while ago. It’s a nice step up from the old WDSC client and it deffo runs faster, smoother and supports all the new opcodes that are being introduced to RPG over recent years. I highly recommend RDi to each and every RPG

Read More

Code400.com is probably the best RPG programming related forum around (Bob Cozzi’s comes in a close second but the UI is just awful and I really cant spend to long trying to navigate around without getting annoyed… but I digress…). I frequently read neat little tricks and this is a smart one I saw a

Read More

RPG passes parameters by reference, IE the memory address. If you are calling a program there is a potential that the calling program can modify the value at that address. If you do not want the value to change then set the parameter in the program or procedure to use the CONST keyword. This simple

Read More