> Tech > Codes opération remplacés par des BIF

Codes opération remplacés par des BIF

Tech - Par iTPro - Publié le 24 juin 2010
email

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 gratuitement cette ressource

Sécurité Office 365 : 5 erreurs à ne pas commettre

Sécurité Office 365 : 5 erreurs à ne pas commettre

A l’heure où les données des solutions Microsoft de Digital Workplace sont devenues indispensables au bon fonctionnement de l’entreprise, êtes-vous certain de pouvoir compter sur votre plan de sécurité des données et de sauvegarde des identités Microsoft 365, Exchange et Teams ? Découvrez les 5 erreurs à ne pas commettre et les bonnes pratiques recommandées par les Experts DIB France.

Tech - Par iTPro - Publié le 24 juin 2010