> Tech > Améliorations pratiques du RPG

Améliorations pratiques du RPG

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Outre les améliorations liées à  Java, la V4R4 apporte au RPG IV quelques éléments de syntaxe fort utiles pour le développement d'applications ILE classiques.

            Le code opération EVALR (Evaluate with right-adjustment).Le code opération EVAL est l'opérateur d'affectation polyvalent du RPG IV.

Améliorations pratiques du RPG

Il permet d’évaluer une expression d’affectation en format libre en cartes
C puis d’affecter la valeur de cette expression à  une variable ;
fonctionnellement, il équivaut à  une opération MOVEL traditionnelle avec
remplissage de blancs.

Le code opération EVALR offre les mêmes possibilités d’expression qu’EVAL,
mais y ajoute la possibilité d’ajuster à  droite la valeur de l’expression dans
la zone de résultat, en comblant la partie gauche avec des blancs. La variable
résultante doit être une zone caractère (ou un jeu de caractères double
octet) de longueur fixe. La figure 1 illustre l’utilisation d’EVALR pour éliminer
les blancs à  droite d’une zone de caractère, ajuster la zone à  droite, et
transférer la valeur de cette zone dans une zone numérique.

Code opération FOR. Les
instructions d’itération comme FOR font effectuer des tâches répétitives aux
programmes. Comme la plupart des langages ont une construction en boucle FOR,
cette amélioration structurée vous est probablement familière. Alors que les
opérations DOU (Do until) et DOW (Do while) exécutent un bloc de code jusqu’à 
ce qu’une certaine condition se vérifie, les opérations DO et FOR répètent
un bloc de code un certain nombre de fois donné. L’opération FOR permet de
coder une boucle sans rien faire à  l’intérieur de la boucle pour contrôler un
compteur : il suffit de définir la boucle au début du bloc de code puis de
l’oublier. Outre la facilité de coding, FOR s’avère extrêmement souple pour
l’incrémentation ou la décrémentation d’un compteur. La figure 2 présente
trois exemples d’utilisation de FOR pour répéter un bloc de code.

Mot Clé de carte D OVERLAY(*NEXT).
Lorsqu’on décrit une structure de données (en cartes D en RPG IV), il faut
souvent que des sous-zones y partagent des positions ; c’est le rôle du mot clé
RPG IV OVERLAY. Mais le coding de positions overlay spécifiques dans des
structures de données complexe est fastidieux (figure 3a) et si la structure de
données change, la maintenance présente un risque d’erreur élevé. En V4R4,
on peut coder le mot clé OVERLAY(*NEXT) pour ordonner à  l’ordinateur de
continuer simplement un overlay dans la position de structure de données
suivant celle codée précédemment (figure 3b).

Fonctions intégrées %DIV, %REM et %XFOOT.
Avec les opérations %DIV (Integer divide), %REM (Integer remainder) et %XFOOT (Array
cross foot), IBM reste fidèle à  sa ligne de conduite qui consiste à  placer de
nouvelles fonctionnalités dans les fonctions intégrées plutôt que dans des
codes opération. Comme ces opérations sont des fonctions intégrées, on peut
les inclure dans des expressions en format libre, plutôt que d’utiliser la
notation classique Facteur1/Facteur2/Résultat. Pour ce qui est du style, il
faut toujours, quand on a le choix, préférer une fonction intégrée à  un
code opération. Comparez la méthode traditionnelle de calcul d’un reste entier
(figure 4a) avec la méthode utilisant la nouvelle fonction intégrée %REM
(figure 4b).

Code opération LEAVESR. La
nouvelle opération LEAVESR (Leave subroutine) est la preuve qu’il y a des jours
de maigre inspiration, même au Lab de Toronto d’IBM. Ce "GOTO masqué"
transfère simplement le contrôle du programme au code opération ENDSR, situé
à  la fin d’une sous-routine. On ne peut coder LEAVESR que dans une
sous-routine, mais une seule sous-routine peut contenir plus d’une opération
LEAVESR. 

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010