PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → 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
Débuté par Jérôme Pilorget, 08 juil. 2009 13:45 - 2 réponses
Posté le 08 juillet 2009 - 13:45
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
Posté le 21 juillet 2009 - 16:13
Bonjour,

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

Cdt

Laurent.
Posté le 10 août 2009 - 23:47
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)