Bonjour,
j'ai besoin d'infos sur cette question :
- utilité ?
- faisabilité
- outils
- difficultés prévisibles
- charge
Et toutes opinions m'intéressent.
Bonjour,
j'ai besoin d'infos sur cette question :
- utilité ?
- faisabilité
- outils
- difficultés prévisibles
- charge
Et toutes opinions m'intéressent.
Tout dépend de ce que l'on veut faire.
Si c'est pour faire du classique OPM (1 source => 1 compile => 1 objet) RPG3 ou 4 c'est un peu la même chose.
Dans RPG4 un des principaux intérêts c'est ILE (Interpreted Language Extended)
1 source pourra donné un module, qui pourra être immédiatement utilisé dans x programmes ce qui offre un très grande souplesse et surtout évite de réécrire x fois la même chose dans des appli différentes. Une bonne bib de modules est très appréciable.
Ensuite il y a les programmes de services qui permettent de regrouper des fonctions similaires pour une application
Pour profiter des fonctions modules, programmes de service il n'existe pas, à ma connaissance d'outils de conversion RPG3 vers RPG4.
Pour un développeur RPG3, il n'y a pas de réelles difficultés à migrer du RPG3 vers RPG4. Suivant les appli cela demandera plus ou moins de temps et de reflexion pour définir les modules, les programmes de service, etc..
Pour l'écriture du source, RPG3 ou RPG4 (ILE) c'est la même phylosophie avec des spécificités en ILE et quelques mots clés RPG3 qui n'existe plus en RPG4.
Pour le Free, alors là, c'est autre chose, comme son nom l'indique, c'est "libre"
L'écriture d'un source est complètement différente du RPG classique. Personnellement je ne me suis pas lancé dans cette direction
Bon courage
Je signale que l'ILE est apparû en 1995 !!!! soit il y a presque de 14 ans !!!
Il serait temps de s'y interesser !!!
Quand-on y a goûté, un RPG3 est une punition !!!
Je dirais même quand on fait du FREE, un autre RPG est devenu illisible !
Bjr,
Il n'y a que des avantages à passer au RPG IV (Avec utilisation ou non des mécanismes ILE).
Pourquoi s'en priver ?
Pour un Expert RPG III mais néophyte en RPG IV, les avantages sont :
La grande compatibilité avec le RPGIII. La conversion de base est très simple : CVTRPGSRC. Évidement pour un puriste RPG IV, le résultat n'est pas fantastique, puisque la syntaxe est en grande partie celle du RPG III. Mais le source se compile et le programme marche comme avant. Et cela permet un passage "en douceur".
Le deuxième intérêt, c'est le code op EVAL : cette syntaxe à base d'expression est intuitive et bien plus simple et lisible que les combinaisons de MOVE/MOVEL/CAT/... ou Z-ADD/MULT/DIV/...
exemple :
devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 C JHRA DIV JOV,1 WRK C WRK MULT 100 TAUA
Le troisième intérêt est le support des Dates. Même si les dates de la BDD ne sont pas des champs de type dates, il est toujours possible de les convertir facilement dans des zones de travail pour faire des calculs de dates. Qui n'a jamais besoin de calculer des dates d'échéance ou des choses dans le genre ? En RPG IV, ajouter ou soustraire des jours (ou des mois, des années) à une date est trés simple : EVAL DATE_ECHEANCE = %DATE() + %DAYS(60)
Code : Sélectionner tout - Visualiser dans une fenêtre à part C EVAL TAUA = ( JHRA / JOV(1) ) * 100
Le quatrième intérêt immédiat est la longueur maxi des noms de variables qui passe de 6 à ... 4096 . Bon faut pas être idiot non plus , mais pouvoir faire nom à 10 ou 15 caractères c'est vachement sympa et bien plus lisible.
Etc, etc etc ....
Pour le reste il faudra un peu plus d'investissement (formation) mais cela se fait très naturellement et rapidement. Et comme le dit K2R400, quand on y a gouté on ne veut plus revenir en arrière !
Les gains de productivité est évident et la maintenance est bien plus facile.
Les nouveauté apparaissent en ILE, pas (ou rarement) en OPM (XML, SOA ...)
Pour ce qui est des modules je ne suis pas un fervent (je préfère les service programmes). L'intérêt est limité et le manque de références croisées simplement utilisables (comme l'est DSPPGMREF) est un grand frein à leur utilisation AMHA.
Je rajouterais quelques remarques :
IBM a classifié le RPG/400 en produit "stabilisé". Cela signifie qu'il n'y a plus d'évolution dessus, que de la maintenance curative.
De même, les nouvelles APIs sont généralement des fonctions ou procédures utilisables directement ILE alors qu'il faut passer par une API intermédiaire pour y avoir accès depuis les OPM.
Pour répondre plus directement :
- utilité ?
ENORME !
- faisabilité
Trés simple (mais 3 ou 4 jours de formation permettent de gagner beaucoup de temps)
- outils
pour la conversion : CVTRPGSRC
D'autres outils existent pour faire une conversion dans un style plus "RPG IV" mais ils sont payants.
- difficultés prévisibles
Trés peu (juste des histoires de groupes d'activation avec les Commit/rollback et OVRDBF quand on fait de l'ILE pur et dur, mais facile à résoudre)
- charge
Juste le temps de laisser tourner CVTRPGSRC (cette commande converti un ou plusieurs membres sources RPG/400 en RPG IV, dans des fichiers sources différents, donc aucun risque de perdre l'original). C'est donc à +99 % du temps machine
ça fait chaud au coeur et c'est de la bonne promotion de voir des addicts AS400-iSeries-SystemI et Tutti-Quanti parler avec autant de ferveur de cet ordinateur. Il en faudrait beaucoup des comme çà, pas vrai ?
Au passage, s'il y en a beaucoup qui nous font savoir qu'ils veulent se mettre sérieusement au RPG IV, je publierai alors un logiciel écrit lui-même en RPG IV mais pas par moi (je l'ai juste un peu corrigé), qui vous fait de la réédition d'un programme déjà converti par la moulinette IBM CVTRPGSRC, "qu'on dirait qu'il a été écrit par un Pro"
Justement la moulinette, que fait-elle exactement ? C'est elle qui transforme l'ancien code en EVAL dans l'exemple ? La transformation est 100% garantie compatible (je recompile et ça marche exactement comme avant ?) ?
Et que pensez vous d'un outil comme RPG Tools, apporte il une plus value ?
Est ce à dire que la moulinette transforme le code en des ordres non connus par des développeurs ne connaissant que le RPG 3 ? Et qu'il faut donc obligatoirement une formation ?
Bjr ripolinb,
Pas d'inquiétude. La commande CVTRPGSRC ne fait que le strict minimum de manière à ce que le programme soit directement compilable. Un MOVE restera un MOVE.
Ce qui fait que c'est très facile à relire sans connaitre le RPG IV.
Les plus grosses différences viennent de la spécif H qui ne marchent que par mots-clés maintenant et des spécifs D qui n'existaient pas. Ces specifs D reprennent les specifs E, les DS et constantes des spécifs I du RPG III.
Je vous invite à faire des essais. Il n'y a aucun risque (aucune modif sur membre source d'origine).
Pour cela, voici ce qu'il faut faire :
- Créer un fichier sources QRPGLESRC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CRTSRCPF FILE(MABIB/QRPGLESRC) RCDLEN(112) TEXT('Sources RPG IV')- Convertir un source RPG III
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CVTRPGSRC FROMFILE(MESSRC/QRPGSRC) FROMMBR(MONPGM) TOFILE(MABIB/QRPGLESRC) LOGFILE(*NONE)
Et CVTRPGSRC par rapport à RPG Tools ou d'autres outils ?
En effet, je recompile et ça marche EXACTEMENT COMME AVANT, mais avec des instructions "machine" plus performantes, mais çà, on ne le voit pas. Ensuite, on peut largement améliorer la lisibilité, les perf. et employer les nouvelles fonctionnalités dans les sources mais c'est pas indispensable. En général, on fait ce genre d'amélioration au fil des maintenances.Justement la moulinette, que fait-elle exactement ? C'est elle qui transforme l'ancien code en EVAL dans l'exemple ? La transformation est 100% garantie compatible (je recompile et ça marche exactement comme avant ?) ?Envoyé par Mercure
Non. Pas la commande CVTRPGSRC. Une fois encore, pas d'inquiétude, on est tous passés par là et j'avais alors les mêmes craintes. Mais très vite, je n'ai plus eu aucune crainte je n'ai plus du tout, mais alors plus du tout, envie de régresser en RPG III.Est ce à dire que la moulinette transforme le code en des ordres non connus par des développeurs ne connaissant que le RPG 3 ? Et qu'il faut donc obligatoirement une formation ?
Il faudrait s'y mettre sérieusement, ça fait 15 ans que RPG IV et ILE sont sur le marché maintenant !
Une formation est toujours bénéfique me semble-t-il mais perso, j'ai appris tout seul avec les docs en ligne sur la toile. C'est quand même du RPG, amélioré certes, il était temps, mais du RPG quand même.
Pour pouvoir utiliser la commande CVTRPGSRC, il faut avoir au préalable créé le fichier log de la commande par CPYF ou CRTDUPOBJ comme indiqué dans l'aide ci-dessous.
Create the log file QRNCVTLG in library *LIBL using the command CPYF on
the model log file QARNCVTLG in library QRPGLE and specify this file during
conversion. Note that the recommended name for the log file is QRNCVTLG
which is the default value on the LOGFILE parameter on the command.
Au passage, je dois dire que la commande CVTRPGSRC permet de convertir en un seul passage tous les membres d'un fichier source donné.
Je ne connais pas RPG Tools. Mais, comme dit jump400, il n'y a vraiment pas lieu de s'inquiéter. Perso, une fois la commande CVTRPGSRC passée, je repasse les sources sur mon utilitaire dont j'ai déjà parlé dans mon post précédent, mais ça, c'est pour plus tard.Et que pensez vous d'un outil comme RPG Tools, apporte il une plus value ?
ça fait un an que j'ai changé de boite et un an que j'éclate en Free après presque 10 ans de RPG3 à la sauce GOTO ... vive le Free
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager