RPG Evolution, Modernization and Refactoring – Step 2 of 4 – RPG Three becomes Four

IBM i

Sep 11

MODERNIZE RPG SOURCE CODE – IBM Command to upgrade RPG3 to RPG4

First step is upgrde the old RPG3 (old style 80 character RPG) to the newer RPGLE format (112 character style). IBM gives us a command to do this and after running UPGRPGSRC (Upgrade RPG Source) on the old source a new member is created in QRPGLESRC:

* program to fix SLP06 records
 H DEBUG
 FEFP01L01 IF E K DISK INFSR(*PSSR)
 FACSUMMAR UF E K DISK INFSR(*PSSR)
 D LDA E DS EXTNAME(LDA)
 D PSTAT ESDS EXTNAME(PSDS)
 C *DTAARA DEFINE *LDA LDA
 C         IN     LDA
 C K01     KLIST
 C         KFLD   CUSN06
 C L#CONO  SETLL  ACSUMMAR
 C L#CONO  READE  ACSUMMAR 06
 C         DOW    *IN06 = *OFF
 C K01     CHAIN  EFP01L01 02
 C         IF     *IN02 = *OFF
 C         EVAL   BODV06 = AMOUNT
 C         ELSE
 C         EVAL   BODV06 = 0
 C         ENDIF
 C         UPDATE SLR06
 C L#CONO  READE  ACSUMMAR 06
 C         ENDDO
 C         EVAL  *INLR = *ON
 C         OUT    LDA
 * standard error handling routine.
 /Copy qgpl/qrpglesrc,pssr

As you can see the code if more or less the same, with the exception of few elements to make it more readable.

It’s still using indicators, but if/do loops are now completed with relevant ENDIF/DO and EVAL statement have apeared.

Note – make sure any /COPY entries are also upgraded – otherwise trying to suck in RPG3 code from copybooks will upset the compiler

So far it’s all been automatic, the CVTRPGSRC command is a wonderful thing.

Next step is to tidy up the code further so it morphs from a hybrid RPG3-4 to full blooded RPG4

  1. Take the code and upgrade it to RPG/4
  2. Tidy the Code
  3. Do some Refactoring and make it smile
  4. Evolve to RPG4 and make it awesome
Follow

About the Author

IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Alpha Nerd 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 in the words of the most interesting man in the world: Stay thirsty my friend.