Bonjour,
Je reçois un fichier FRECP plusieurs fois par jour
Je le traite et je le copie en *ADD dans un fichier historique FHIS.
Or FHIS n'a pas de date ni d'heure de traitement il a la même structure que le fichier reçu FRECP.
J'ai besoin de savoir si le fichier FRECP a été reçu avant ou après ma modif...
Connaitirez-vous une astuce pour voir à quel moment tel ou tel enregistrement a été copié dans FHIS ?
Genre une partie de l'INFDS par exemple non ?
Merci
--Message édité par le 18-01-07 à 12:03:08--
Nous avons ce genre de problème. La seule solution est de créer un fichier log dans lequel tu enregistre tes horodatages
On peut également utiliser un trigger qui crée les enreg. de ce fichier log à chaque insertion dans FHIS.
Mais cela nécessite de la programmation. On n'a aucun moyen de savoir à quel "moment" tel ou tel enreg. a été inséré ou updaté dans le fichier sans programmer.
utilise CLI DB2
je ne comprends pas
(J'ai besoin de savoir si le fichier FRECP a été reçu avant ou après ma modif...)
comme les autres sans programmation ou sans changer la structure de ton historique ...je ne vois pas.
je verrai bien pour l historique un ajout d une colonne timestamp qui s initisialise par defaut current_timestamp...
Bonjour
Journalise le fichie
Bonsoir,
Fichier = Table DB2 :
- Créer une zone date avec valeur par défaut
A chaque insertion la zone sera alimentée automatiquement
Fichier à description externe :
- Ajout préalabe d'une zone date dans le physique
- Créer une requête QMQRY de mise à jour de cette zone
- Dans le CL d'execution :
. Déclarer une variable alpha de la taille de la zone date
. Charger la date dans la variable
. Charger la ou les variables de la chause Where (si nécessaire)
. Executer le CPYF
. Appel de la requête avec en paramètre :
- La bib (optionnel)
- Le nom du fichier (optionnel)
- La variable date
- La ou les variables pour la clause WHERE (au cas où)
La requête :
UPDATE &BIB/&FILE SET
MyDate = &VARDATE
Where
MyVarWhere = &MyVarWhere
si MyVarWhere est un numérique de 5 la variable sera alpha de 5
si MyVarWhere est un alpha de 5, la variable sera alpha de 7 :
MyVarWhere = QUOTE *CAT VarWhere *CAT QUOTE
Le principe de QMQRY : (si je me souviens bien)
- Les variables sont tjrs transmises dans des variables CL Alpha
- Les variables n'étant pas de comparaison (clause Where ou
autres clauses) sont déclarées en alpha de la même taille que la
zone du fichier.
- Les variables de comparaison :
. Numérique : de même taille que la zone fichier
. Alpha : taille du fichier + 2 (pour la quote)
j'espère avoir répondu à ta question. Sinon donne plus de détail sur la méthode de copie.
Merci vous tous !
Solution gardée : journaliser le fichier.
C'est fait Philippe ! Etais en congés à l'étranger. [Xié xié]
Voici un très beau forum comme on aimera voir plus souvent. Sincère félicitations et bonne continuation. visitez le mien
numéros surtaxés
Merci a vous