MODERNIZE RPG SOURCE CODE - IBM Command to upgrade RPG3 to RPG4
When you are considering how to modernize RPG from an old language syntax to a newer version the first step is upgrade 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 CVTRPGSRC (Convert RPG Source) on the old source a new member is created in QRPGLESRC:
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 appeared.
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.
The next step is to tidy up the code further so it morphs from a hybrid RPG3-4 to full-blooded RPG4