PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → [WM14] Urgent : ordre d'exécution procédure et requête stockée
[WM14] Urgent : ordre d'exécution procédure et requête stockée
Started by Jérôme Pilorget, Jul., 08 2009 1:45 PM - 2 replies
Posted on July, 08 2009 - 1:45 PM
Bonjour à vous,

J'ai un problème très embêtant dont je n'arrive pas à trouver l'origine.

voici le contexte :
je travaille avec plusieurs Datalogic Memor (7) pour préparer des commandes à expédier.
Pour résumer, j'ai 2 fichiers : 1 des commandes en cours de prépa et 1 des commandes préparées. Tout ça en HF C/S.

A la fin d'une préparation, j'exécute une procédure stockée qui réalise les opérations suivantes :
1- HExécuteRequête( Requête Stockée pour supprimer les anciennes infos de commandes préparées )
2- parcours des lignes de commandes en cours de prépa et recopie dans le fichiers des commandes préparées par un HCopieEnreg et un HAjoute
3- Flag des colis préparées
4- Flag de la commande pour signifier qu'elle a été préparée
5- HExécuteRequête( Req. Stockée pour supprimer le contenu du fichier commande en cours de prépa)

Au final, et de façon aléatoire, le contenu des commandes préparées se trouve vide, alors que les autres traitements sont ok.

Je me pose la question de savoir si l'opération n°1 (hexecuterequete) pourrait prendre plus de temps que prévu et donc s'exécuter après l'opération n°2.
Dans mon code, quand je lance le HExécuteRequête, au retour de cette action suis-je certain que la requête s'est exécutée ?

Ou alors, avez-vous constaté des problèmes de fiabilité avec HF C/S ?

Je ne sais plus vraiment où chercher, pouvez-vous m'éclairer ?

Merci d'avance,

Jérôme
Posted on July, 21 2009 - 4:13 PM
Bonjour,

Testez-vous le retour des fonctions HExecuteRequete ?
Avez-vous essayer un "multitache() entre l'étape 1 et 2 ?

Cdt

Laurent.
Posted on August, 10 2009 - 11:47 PM
Bonjour,

Je vous conseille également de tester avec des temporisations entre les requêtes. Nous avons constaté que l'exécution d'une requête n'empêche pas le programme de passer à l'instruction suivante. Il est parfois nécessaire d'utiliser l'instruction Multitache(x) ou d'effectuer un HLitpremier/HLitDernier après le code HExecuteRequete.

Cordialement,

François (CH)