Quand on utilise un tableau noir, il faut y définir les valeurs par défaut pour chaque article, de sorte qu'une application puisse supposer les valeurs par défaut sans être obligé de les définir à chaque fois qu'elle appelle le trigger. Vos valeurs par défaut doivent refléter ce que vous souhaitez
Utilisation de valeurs par défaut dans un tableau noir
voir se produire lorsque
les modifications de fichiers proviennent de programmes écrits par autrui. Que
veut-on par exemple qu’un trigger fasselors
de l’exécution d’une commande CpyF (Copy File) ou d’une procédure DFU (Data File
Utility) ? Pour cet exemple de tableau noir, l’action par défaut consiste à faire
effectuer la mise à jour du fichier croisé au trigger.
Il existe une autre raison d’utiliser des valeurs par défaut : en règle générale,
un programme trigger doit rendre la main sans se désactiver (c’est-à -dire sans
activer LR dans un programme RPG) pour éviter des problèmes de performances. Par
conséquent, un trigger pourrait fort bien rester actif même quand on a fini de
l’utiliser (surtout dans une session interactive). En utilisant des valeurs par
défaut dans le tableau noir, on empêche d’autres applications s’exécutant ultérieurement
dans la session interactive, de faire des suppositions erronées quant aux valeurs
initiales du tableau noir.
La figure 4 présente des extraits du programme trigger concernant des valeurs
par défaut dans le tableau noir. La directive /Copy fait apparaître les deux structures
de données (A sur la figure 2) dans le programme trigger : la structure de données
tableau noir(BlkBoard) et la structure de données d’initialisation (BoardInz).
Comme BoardInz ne sert qu’à fournir les valeurs initiales, je n’ai pas jugé utile
de donner des noms à chacune de ses zones.
BoardInz contient le même nombre de zones que BlkBoard. De plus, chaque zone dans
BoardInz présente le même type, longueur et valeur initiale que la zone correspondante
dans BlkBoard. Juste avant de se terminer, le programme trigger rétablit (via
l’instruction Eval) les valeurs initiales des structures de données de BlkBoard.
Les deux flags de mise à jour (UpdCustFlg et UpdItemFlg) sont toujours réinitialisés
à *On. Cette position signifie que le trigger doit, par défaut, mettre à jour
les fichiers croisés.
J’aurais pu utiliser le code opération RPG Reset pour simplifier le positionnement
des valeurs par défaut. Mais, j’ai préféré la technique Eval parce qu’elle fonctionne
quel que soit le langage sous-jacent du trigger : RPG ou un autre langage ILE.
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
- L’IA sous contrôle : un impératif pour la souveraineté des entreprises
- CESIN : un baromètre qui mesure le risque cyber réel
- Face aux ransomwares, la résilience passe par les sauvegardes immuables
- L’IA, nouveau moteur des entreprises françaises d’ici 2030
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
