Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 1

Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 1

lun 30 décembre 2019 4 Par Ibmiiste
Moder­ni­ser votre code RPG avec Agi­li­té – Introduction
Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 1
Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 2
Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 3
Moder­ni­ser votre code RPG avec Agi­li­té – Par­tie 4

Du RPG III au RPG IV – CVTRPGSRC

Vous savez que plu­sieurs ver­sions de lan­gages RPG peuvent coha­bi­ter sur IBM i et qui sont pré­sent depuis OS400 (Voir IBM 36, mais ici nous n’i­rons pas si loin). C’est pour­quoi sur ces OS, vous trou­vez du RPG III, RPG IV, RPG Ile, RPG Free-form ou du RPG Full-free.
Aujourd’­hui, il n’existe pas encore de pro­duit gra­tuit qui va vous conver­tir un source de RPG III à RPG Full-free. Il va fal­loir mon­ter pro­gres­si­ve­ment de version.

Les dif­fi­cul­tés sont mul­tiples, la struc­ture de codage dif­fère, mono­bloc sur les plus vieilles ver­sions vers du refac­to­ring de plus en plus fin avec les plus modernes. L’u­sage de sous-rou­tines est rem­pla­cé par celui de sous-pro­cé­dure par exemple qui seront exter­na­li­sées dans d’autres membres sources ou fichiers texte héber­gés sur l’IFS. Les mots-clefs des anciennes ver­sions de RPG n’au­ront pas tou­jours d’é­qui­valent dans les plus récentes. Et il y a bien sûr d’autres rai­sons.
Le pre­mier niveau que nous allons voir est le plus simple, pas­ser de RPG III à RPG IV. Par chance, IBM a four­ni une com­mande CL pour le faire simplement :

CVTRPGSRC

Voi­ci une exemple d’u­ti­li­sa­tion de cette com­mande sur le source ci-dessous.

HTML
HTML

Voi­ci la ver­sion RPG IV résul­tante, vous remar­que­rez assez peu de dif­fé­rence car les mots du RPG III ont leurs équi­va­lents en RPG IV.

La posi­tion des colonnes aura chan­gé, les mot-clefs seront un peu dif­fé­rents mais vous ne serez pas « encore » dépay­sé. Vous retrou­vez les colonnes, les indi­ca­teurs, le cycle etc…

HTML

Il n’y a plus qu’à…