IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Migration RPG 3 vers RPG 4 (et peut être free RPG)


Sujet :

AS/400

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Migration RPG 3 vers RPG 4 (et peut être free RPG)
    Bonjour,
    j'ai besoin d'infos sur cette question :
    - utilité ?
    - faisabilité
    - outils
    - difficultés prévisibles
    - charge

    Et toutes opinions m'intéressent.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    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

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    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 !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C           JHRA      DIV  JOV,1     WRK  
    C           WRK       MULT 100       TAUA
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C                     EVAL TAUA =  ( JHRA / JOV(1) ) * 100
    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)

    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

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    ç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"

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Mercure Voir le message
    ... la moulinette IBM CVTRPGSRC...
    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 ?

    Citation Envoyé par jump400 Voir le message
    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 !
    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 ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    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 :

    1. 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')
    2. 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)

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Et CVTRPGSRC par rapport à RPG Tools ou d'autres outils ?

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Citation Envoyé par Mercure
    ... la moulinette IBM CVTRPGSRC...
    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 ?) ?
    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.

    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 ?
    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.
    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é.

    Et que pensez vous d'un outil comme RPG Tools, apporte il une plus value ?
    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.

  10. #10
    En attente de confirmation mail
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 204
    Points : 238
    Points
    238
    Par défaut
    ç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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion RPG 3 vers IV
    Par anthonyl56 dans le forum AS/400
    Réponses: 6
    Dernier message: 14/11/2007, 12h10
  2. [VB.NET] Conseil migration d'ADO vers ADO.NET
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2004, 08h57
  3. [Forms]migration forms 6 vers forms 8
    Par anthonychery dans le forum Oracle
    Réponses: 7
    Dernier message: 17/11/2004, 17h54
  4. Demande de conseil pour migration de lignes vers colonnes
    Par ririd dans le forum Administration
    Réponses: 6
    Dernier message: 04/11/2004, 17h02
  5. [SYBASE] migration ASE12.0 vers ASE12.5
    Par sybase dans le forum Sybase
    Réponses: 1
    Dernier message: 25/10/2004, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo