Une BIF de retour indique si une opération a réussi. La figure 1 montre les BIF de retour les plus courantes utilisées avec le RPG en format libre. Ces BIF renvoient toutes une valeur d'indicateur *On ou *Off. Les BIF sont normalement associées à des opérations d'I/O. On peut coder
BIF de retour

%EOF et %Found après toute opération pertinente. Pour tester
si un enregistrement n’a pas été trouvé sur une opération Chain, on code :
chain key file;
if not %found( file );
// Handle not found condition
endif;
Les BIF %EOF et %Found permettent toutes deux un argument
facultatif qui définit la source du retour. Si vous ne
codez pas un argument, la BIF fait référence à la dernière
opération sur laquelle il pourrait être spécifié. Ainsi, la
BIF %Found fait référence à file2, pas à file1 :
chain key1 file1;
chain key2 file2;
if not %found file( );
On ne peut coder la BIF %Error qu’après une opération
qui spécifie l’extension d’erreur. Pour tester une erreur sur
une opération Write, on codera :
write(e) format;
if %error();
// Handle error
endif;
Contrairement à %EOF et %
Found, %Error ne prend pas d’argument
pour définir l’origine du retour.
Il faut coder la BIF %Error immédiatement
après l’opération qu’elle référence.
%Error s’avèrera particulièrement
utile pour tester des valeurs
valides avant de forcer des données à
changer de type. Le code suivant teste
une date *ISO dans un champ entier avant de le transformer
en un type date :
test(de) *iso int;
if not %error();
date = %date( int: *iso );
endif;
Ce fragment de code stoppe une erreur explosive sur la
BIF %Date. Cependant, les BIF
de retour ne stoppent pas normalement
les erreurs radioactives.
L’échec de détection d’une
erreur sur une opération Chain
ou Read signifie que les champs
d’entrée conservent leurs valeurs
provenant de la dernière opération
d’I/O réussie. On finit par réutiliser
des valeurs erronées plutôt
que de traiter l’erreur.
Téléchargez cette ressource

Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les banques passent à l’action avec l’IA générative et le cloud
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
