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

Utilisation de valeurs par défaut dans un tableau noir

Tech - Par iTPro - 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 gratuitement cette ressource

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Ce livre blanc expose les problématiques auxquelles sont confrontés les DAF modernes et souligne les bénéfices de la facturation électronique pour la trésorerie. Il dévoile également le processus de déploiement de ce projet de transformation digitale que la réglementation rendra bientôt obligatoire.

Tech - Par iTPro - Publié le 24 juin 2010