Jadis, chaque fois qu'IBM publiait une nouvelle release, je me précipitais sur le chapitre Operation Codes du manuel de référence RPG, à la recherche des codes opérations nouveaux ou changés. Après tout, les codes opérations étaient les éléments qui activaient toutes les nouvelles fonctions en RPG. Ce n'est plus le
Les codeurs délicats choisissent les BIF

cas ! Désormais, le premier chapitre que je vérifie est celui des fonctions intégrées (BIF, bult-in functions). Les huit BIF originales du RPG IV ont fait boule de neige et sont devenues près de 70 en V5R1. La figure 4 énumère toutes les nouvelles BIF, qui se divisent à peu près en trois catégories : fonctions associées aux dates, fonctions de remplacement de code opération, et fonctions associées à Java.
Les fonctions associées aux dates permettent d’exploiter le support de date natif dans des expressions en format libre (enfin !). ADDDUR (Add Duration), SUBDUR (Substract Duration) et EXTRCT (Extract a Portion of a Date) sont effectivement obsolètes ; elles n’autorisent pas de syntaxe en format libre. A la place, on peut utiliser + et – pour ajouter et soustraire des dates et utiliser les nouvelles fonctions pour traiter les problèmes de durée. La fonction %DIFF remplace SUBDUR quand on veut connaître la différence entre deux dates. La fonction %SUBDT remplace EXTRCT ; elle obtient un sous-ensemble d’une date. La figure 5 présente quelques-unes des nouvelles fonctions dans deux procédures pratiques : DayOfWeek et WeekOfYear.
Les fonctions de remplacement des codes opérations prennent la place des codes opérations en format fixe correspondants (pas forcément associés aux dates), ce qui permet de les utiliser dans des expressions. Je ne peux pas m’empêcher de faire une observation critique sur ce groupe : était-il vraiment nécessaire de créer 10 fonctions pour remplacer LOOKUP ? Il est probable que %LOOKUP et %TLOOKUP auraient amplement suffi, en ajoutant un argument facultatif pour les comparaisons GT, LT, GE et LE rarement utilisées.
Les fonctions associées à Java sont représentées par une BIF vraiment nouvelle, %THIS, qui approche encore davantage le RPG de l’intégration Java directe. %THIS permet d’invoquer une méthode native pour l’instance courante d’une classe sans être obligé de connaître le nom de la classe. La fonction %THIS correspond au qualificateur réservé this de Java (nous reviendrons sur les améliorations associées à Java plus loin).
Téléchargez gratuitement cette ressource

Comment cerner la maturité digitale de votre entreprise ?
Conçu pour les directions IT et Métiers, ce guide vous permettra d'évaluer précisément vos processus de communication client, d'identifier vos lacunes et points d'inflexion pour établir un plan d’actions capable de soutenir durablement votre évolution. Bénéficiez maintenant d'une feuille de route complète.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Vidéo : A la découverte d’Azure Container Apps !
- Evènement : les Serverless Days 2022 seront à Paris le 22 juin
- FIC 2022 : une Europe forte face à la cybercriminalité
- Le collaborateur du futur plus performant grâce à l’automatisation intelligente
- Edition #FIC2022 : une mobilisation totale de l’écosystème cyber !
