> Tech > Utilisation de valeurs par défaut dans un tableau noir

Utilisation de valeurs par défaut dans un tableau noir

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010