D'autres BIF assorties complètent la liste des nouveaux ajouts. Comme elles ne se situent nettement dans aucune catégorie, je couvre ensemble ces quelques BIF diverses ici. La BIF %Occur (Set/Get Occurrence of a Data Structure) définit ou obtient l'occurrence courante d'une structure de données. Elle a un seul paramètre, le
Des BIF à la carte
nom de la structure
de données. Quand on l’utilise à
gauche d’une opération d’affectation
(figure 5 en A), %Occur définit l’occurrence
courante ; quand on l’utilise à
droite (B), elle extrait l’occurrence
courante.
On voudra parfois traduire des
caractères d’une chaîne d’une valeur à
une autre, d’après l’information de traduction
fournie. C’est exactement ce
que fait la BIF %Xlate (Translate). Cette
BIF accepte quatre paramètres. Le premier
est une liste de caractères à remplacer.
Le deuxième contient les valeurs
de remplacement à utiliser quand
un caractère provenant du premier paramètre
est trouvé dans la chaîne. Pour
chaque caractère indiqué dans le premier
paramètre, on indique un caractère
de remplacement dans le
deuxième. Le troisième
paramètre est la chaîne
dont %Xlate traduira
les caractères. Le quatrième
paramètre est
facultatif et contient la
position de début de la
traduction dans la
chaîne (par défaut, 1).
Le code en C
montre une utilisation
classique de cette BIF –
traduire des caractères
minuscules en majuscules.
Dans cet
exemple, le champ
Lower contient les valeurs
a-z et le champ
Upper contient les valeurs
A-Z correspondantes.
Le code en D
montre un exemple similaire
qui ne traduit
pas les 10 premiers caractères
de la chaîne.
La BIF %SqRt
(Square Root of an
Expression) renvoie la
racine carrée d’une expression
numérique.
Elle a un seul paramètre,
le nombre dont
on veut calculer la racine
carrée. Si cet opérande
est de type flottant,
le résultat est
aussi de type flottant ;
sinon, le résultat est de
type packé. On devine
qu’une valeur négative
pour cette opérande
résulte en une exception.
Le code en E
montre un exemple de
cette BIF.
Il existe aussi deux nouvelles BIF
de gestion de la mémoire, %Alloc
(Allocate Storage) et %ReAlloc
(Reallocate Storage). %Alloc alloue
une quantité spécifiée par l’utilisateur
de stockage en tas et renvoie un pointeur vers ce stockage. Son
paramètre
unique est un nombre indiquant la longueur
du stockage à allouer. Ce
nombre doit être non flottant avec
zéro décimale et doit être compris
entre 1 et 16.776.704. Le code en F démontre
l’utilisation de %Alloc.
Une fois le stockage alloué, on
peut modifier la quantité allouée en
utilisant %ReAlloc. Cette BIF accepte
deux paramètres. Le premier est le
pointeur courant vers le stockage et le
second est une nouvelle longueur qui
suit les mêmes règles que le paramètre
de longueur de %Alloc. Comme
%Alloc, %ReAlloc renvoie un pointeur
vers le stockage. Ce peut être un nouveau
pointeur ou le même que le pointeur
courant. En G, %ReAlloc change la
quantité de stockage allouée dans
l’exemple précédent et renvoie la valeur
du pointeur dans le champ du
pointeur d’origine.
En utilisant la BIF %ShtDn (Shut
Down) (en H), on peut déterminer si
un utilisateur a demandé l’arrêt du système.
Cette BIF n’a pas de paramètre
et renvoie un indicateur booléen. Une
valeur de « 1 » indique qu’une demande
d’arrêt (ou de fermeture) a été
émise.
Ceux d’entre vous qui intègrent
Java et RPG doivent noter l’ajout de la
BIF %This (Return Class Instance for
Native Method). C’est la réponse par
RPG au mot réservé de Java this. %This
renvoie une valeur Object qui contient
une référence à l’instance de classe
pour le compte de laquelle la méthode
native est appelée, donnant aux méthodes
non statiques l’accès à l’instance
classe. Le code en I montre une
instruction provenant d’une méthode
qui évoque une autre méthode,
SomeMethod, dans la même classe.
Téléchargez cette ressource
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
- Ransomware en santé : la double extorsion fait exploser la facture en Europe
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
- L’IA accélère les attaques et expose les identités non gouvernées
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
