LIEN entre ATLAS et le GESTION pour le fichier FDE.ART
1. Fichiers utilisé :
1.1 FAT.ART.ECR.OUT écrit via le process P.ART.ECR.IO
1.2 FAT.ART.ECR.ERR écrit via le TRIGGER sur le fichier FAT.ART.ECR.OUT
1.3 FDE.ART.MAJ écrit via le MAP2ART et MAP2TVA dans le TRIGGER
1.4 DICT FAT.ART.ECR.OUT
1.4.1 Chaque champ doit donner la valeur pour FDE.ART et/ou FDE.ART.LOC
1.4.2 Les champs à exporter sont à mettre dans le @MAP2ART ou @MAP2TVA (Des types PH dans le DICT) sur la ligne laquelle correspond avec le numéro du champ dans le fichier de la destination.
Exemple : (destination = FDE.ART)
0001 : PH
0002 : ART.OES.MNE ART.OES.NOM_
0003 : ART.TIT.1_
…
0135 : _
0136 : _
0137 : GLB.ART.OEV.CODE_
…
0142 : ART.OEV.PRI
Remarques :
Pour ne pas compliquer le compteur, met 2 champs sur la ligne 2
Chaque blanc correspond à un champ
Chaque ligne terminer avec un _ (règle de UniVerse)
Pour tester le @MAP2ART faire un LIST FAT.ART.ECR.OUT @MAP2ART
Pour chaque @MAP2ART ajouter un Itype dans le fichier de source :
0001 : I
0002 : SUBR(‘*SUBR.PH2OUT’,@ID,@RECORD, ‘fichier.de.source’,’@MAP2ART’,’’,’DATA fichier.de.destin’,’cle.destin’,’’,’options’)
fichier.de.source = FAT.ART.ECR.OUT
fichier.de.destin = FDE.ART.MAJ
cle.destin = NUMARTI
options = vide ou ‘EMPTY=DELETE’
Schéma :
dans le AFU de tableau de bord, le process P.ART.ECR.IO est activé
Dans le process P.ART.ECR.IO il y a un bloque IF MUST.SAVE.RUN
lequel fait le WRITE dans FAT.ART.ECR.OUT et temporairement aussi dans le fichier FAT.ART.ECR.ERR
Le WRITE dans le fichier active le trigger (LIST.SICA FAT.ART.ECR.OUT pour le voir)
Le trigger cherche les articles lié aux token via l’I-type NDX.ART.CODE
La routine ATBASIC AT_TRIGGER_ART_ECR_OUT va relire le FAT.ART.ECR via le process P.ECR.OUT,key parce que il y a des erreurs dans FAT.ART.ECR.OUT et des autres entrées à simuler qu’ils sont là.
Comme dernière phase le trigger fait les MAJ du fichier FDE.MNE.MAJ
(Le MNEMOARTI)
Problèmes trouvé :
Si un utilisateur lock un article, le trigger attend
Changer un I-type dans le DICT de FAT.ART.ECR.OUT est mis en route après un LOGOUT ou un changement dans le @MAP2ART (p.e. ajouter un _ comme dernière ligne.
Modifier le programme du trigger est interdit pendant le moment que le fichier est utilisé.
La routine de trigger est à mettre dans le CATALOG GLOBAL
Changer le programme du trigger :
D’abord DROP TRIGGER fichier trigger ;
Modifier la routine, sans toucher aux paramètres
CATALOGI fichier *subroutine FORCE
Le VOC TRIGGER_ECR_OUT sur HERCULE, account ATLAS execute lest étapes précédents.
Remarque IMPORTANTE
Pour dépasser le point précedent: dans la routine du trigger appeler une autre routine, avec les même paramètres
donne la possibilité de changer la deuxième routine, sans faire un DROP TRIGGER et CREATE TRIGGER
CREATE … CALLING “*TRIGGER1”;
dans la routine TRIGGER1 seulement écrire : CALL [*]TRIGGER2(avec les mêmes paramètres de TRIGGER1