Peut -on récupérer l'horodateur sur une mise-à-jour d'un fichier ?

20-02-2007 à 15:08:04
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--
  • Liens sponsorisés



18-01-2007 à 12:07:41
Ce n'est pas possible.
18-01-2007 à 12:55:04
Nous avons ce genre de problème. La seule solution est de créer un fichier log dans lequel tu enregistre tes horodatages
18-01-2007 à 13:12:04
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.
26-01-2007 à 19:56:36
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...
27-01-2007 à 09:18:40
Bonjour

Journalise le fichie
12-02-2007 à 21:10:36
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.





20-02-2007 à 13:22:16
Merci vous tous !

Solution gardée : journaliser le fichier.
20-02-2007 à 14:01:20
Viens nous rejoindre, si tu veux nous retrouver, ici

http://forum.conduitedeprojet.net/viewforum.php?id=1
20-02-2007 à 15:08:04
C'est fait Philippe ! Etais en congés à l'étranger. [Xié xié]
19-06-2012 à 10:22:57

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
  • Liens sponsorisés