Dix-sept codes opération sont remplacés par des fonctions intégrées (BIF, built-in functions) (%Div effectue une division sur la portion entière et, par conséquent, ne remplace que partiellement Div). La figure 3 présente ces opérations et les BIF qui les remplacent. Voyons quelques exemples de comparaisons de RPG en format fixe
Codes opération remplacés par des BIF
avec sa contrepartie en format libre :
C Extrct
SomeDate:*M MM
MM = %SubDt(SomeDate: *Months);
L’intention des deux instructions
est claire, mais la version en format
libre est plus rapide et plus facile à lire.
Les BIF ont par ailleurs d’autres avantages
: on peut utiliser des noms de variables
plus longs et on peut placer des
BIF dans des expressions. On pourrait,
par exemple, coder :
If %SubDt(SomeDate: *Months) = ReportMonth; ExSr ProcessData; EndIf;
Ce code est parfaitement clair et
net.
Voyons un autre exemple BIF et la
transformation du RPG du format fixe
en format libre. Les exemples suivants
exécutent la sous-routine FoundString
quand la valeur de la variable
SomeSrch existe quelque part dans la
variable SomeString. Voici la solution
en format fixe :
C SomeSrch Scan SomeString C If %Found C ExSr FoundString C EndIf
Avec le format libre, on ne peut
plus utiliser %Found pour déterminer
si l’opération Scan a trouvé l’argument
de recherche. Au lieu de cela, la BIF
%Scan de remplacement renvoie la position,
indiquant si l’argument de recherche
a été trouvé (quand la position
renvoyée est zéro, l’argument de
recherche n’a pas été trouvé). Voici
une version en format libre qui suit de
près la version en format fixe :
Position = %Scan(SomeSrch:SomeString);
If Position > 0;
ExSr FoundString;
EndIf;
Pour pousser encore plus loin la
transformation en format libre, j'utilise
la BIF dans une expression pour produire
le bloc de code succinct suivant :
If %Scan(SomeSrch: SomeString) > 0;
ExSr FoundString;
EndIf;
Là encore, on voit bien que la version
en format libre est courte, claire et
précise, et facile à comprendre.
Alors que la plupart des codes opération
ont chacun une BIF unique qui
les remplace, deux codes opération
ont des BIF de remplacement multiples.
Le code opération Time accède
à la date et l'heure du système et permet
de préciser s'il faut renvoyer la
date, l'heure, ou les deux. Avec le RPG
en format libre, on utilise les BIF
%Date, %Time et %Timestamp pour
renvoyer ces valeurs.
Le code opération LookUp permet
de rechercher un élément particulier
dans une table ou une matrice. Au
moyen des indicateurs résultants, on
peut déterminer quel élément relatif à
l'argument de recherche il faut renvoyer.
Le RPG en format libre fournit
deux groupes de BIF, un pour les matrices
(arrays) (%LookUpLT,
%LookUpGT, par exemple) et un pour
les tables (%TLookUpLE,
%TLookUpGE, par exemple), pour
remplacer le code opération LookUp.
Comme les noms des BIF reflètent le
type de la recherche, on connaît rapidement
l'intention du code sans être
obligé de déterminer quelle colonne
contient les indicateurs résultants.
Pour en savoir plus sur %LookUp et sur
les autres nouvelles BIF de la V5R1,
voir « La V5 muscle le RPG IV ».
Les nouvelles BIF de remplacement
permettent d'écrire un code RPG
plus facile à lire et à comprendre, un
autre pas dans la bonne direction pour
le RPG. Pour plus d'informations sur
ces BIF et d'autres, voir WebSphere
Development Studio ILE RPG
Reference.
Téléchargez cette ressource
Travail à distance – Guide IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- AI Speech double toutes vos vidéos !
- Finance : l’IA générative plébiscitée pour les décisions stratégiques
- Cybersécurité : les comportements à risque des collaborateurs
- Prédictions 2025 : voici comment l’intelligence artificielle va redéfinir la sécurité de 3 façons
- Top 5 des technologies à suivre en 2025 et au-delà !