PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Transactions
Transactions
Iniciado por sebfos, out., 04 2005 9:18 AM - 1 resposta
Publicado em outubro, 04 2005 - 9:18 AM
Bonjour,

Voici mon pb concernant les transactions (standard, pas en mode hyperfile
serveur) :

Je lance un traitement de remontée des ventes d'un serveur de caisse vers
mon application back-office.

Je mets en route les transactions :
htransactiondebut(nomfichierTransaction), je mets à jour les fichiers et en
particulier le fichier de stock.

A partir du moment où une modification du stock intervient et que j'essaye
de faire d'un autre poste une consulation des articles pendant cette
remontée des ventes (ce qui ne devrait pas être génant pour un programme
réseau), un hlitrecherche(stock,codeart,codeart_,hidentique), une erreur de
se déclenche et m'indique que je dois ANNULER LES TRANSACTIONS. Je ne veux
pas les annuler mais juste consulter le stock d'un article à partir d'un
autre poste.

La solution que j'ai trouvé pour l'instant est de faire :

quand exception dans
hlitrecherche(stock, codeart, codeart_,hidentique)
si htrouve()
txtStock = stock.stock
sinon
txtStock = 0
fin
faire
// Rien
fin

D'autre part, j'ai un écran de consultation en liste des articles qui est
basé sur une requête qui lie les fichiers articles <==> stock sur le champ
codeArt. Quand j'ouvre cet écran et que les transactions de remontée des
ventes sont actives, la liste est vierge.
La solution que j'ai trouvé pour l'instant est de ne plus avoir dans ma
requête le stock !!!

Quelqu'un a-t-il une solution à ce problème des transactions.


Merci d'avance
Publicado em outubro, 04 2005 - 11:28 AM
Bonjour,

Le but de cette transaction est-il d'annulé toutes les modifications (depuis la première ligne lue) ou bien d'éviter qu'un fichier soit modifié et pas un autre par ligne lue ?

Dans ce deuxième cas, tu peux démarrer une transaction pour chaque ligne et la terminée immédiatement après mise à jour de celle ci dans les différents fichiers.

Si c'est le premier cas, et que ton traitement est très long (ce qui semble être le cas) ne pourrais-tu pas envisager un backup du fichier avant remontée des ventes et réintégré ce backup si une erreur est survenue sans utiliser les transaction.

Je sais que ce n'est peut-être pas la solution idéale pour oti mais si tu veux englober tout ce rapatriement dans une transaction, tu seras toujours confronté à un blocage des fichier tant que la transaction à lieu.

N'hésite pas à donner plus d'infos...si je peux t'aider !

Bonne chance
Fred