F_DOCENTETE: erreur domaine de validité du champ incorrect

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

F_DOCENTETE: erreur domaine de validité du champ incorrect

de fj049 » Sam 2 Juin 2007 10:42

Bonjour,

Je développe une application qui synchronise des devis/commande entre Sage et un site web. Sage est sur un système windows et le site sur un système linux/mysql.

Lorsque je remonte les informations du site web vers sage, je mets à jour l'entete F_DOCENTETE ainsi :
Code: Tout sélectionner
UPDATE F_DOCENTETE SET LI_NO=:a, DO_DATELIVR=:b, DO_STATUT=:c, CBMODIFICATION=:d WHERE DO_DOMAINE=0 AND DO_TYPE=0 AND DO_PIECE=:f


Cette requête fonctionne pour plein de ligne et plante sur une avec le message "domaine de validité du champ incorrect"

Mon log m'affiche la requête suivante après substitution des paramètres :
Code: Tout sélectionner
UPDATE F_DOCENTETE SET LI_NO=994, DO_DATELIVR="31/03/2005", DO_STATUT=2, CBMODIFICATION="01/06/2007 15:04:37" WHERE DO_DOMAINE=0 AND DO_TYPE=0 AND DO_PIECE="DV050209"



Quelqu'un saurait il pourquoi cette requete plante alors que d'autres fonctionne ?


Note: je développe en delphi via le driver odbc. les champs date sont typé en AsDate dans delphi.


EDIT :

En regardant mieux, il ne s'agit pas de la requete de mise à jour de l'entete mais une requete de suppression des lignes de devis.

Dans mon fonctionnement, je prend les devis sage et je les mets sur la base du site internet. Ensuite je remonte les données du site vers sage. Pour être sur d'avoir la même chose si un devis est modifié sur le site, je supprime les lignes du devis dans sage et je recrée les lignes en fonction de celle du site.

Je fait donc la requete suivante :
Code: Tout sélectionner
DELETE FROM F_DOCLIGNE WHERE DO_DOMAINE=0 AND DO_TYPE=0 AND DO_PIECE=:a


C'est cette ligne qui plante et je ne sais aps pourquoi avec le message 'Domaine de validité du champs incorrect". Le domaine et le type sont bon (c'est bien un devis) et le n° de devis est bon (puisque que je viens de faire un update de l'entete juste avant).

Ce code fonctionne pour plein de devis avant qu'un ne plante.

Quelqu'un aurait il une explication ?

Merci.
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Ven 1 Juin 2007 16:12

de Cluf » Ven 8 Juin 2007 18:07

de Cluf, Bonjour

le message champs de validité non valide correspond à l'utilisation d'un numérique a la place d'un alpha ou inversement ..

Il est possible qu'il te manque des guillemets ou l'inverse, affiche l'sql qui plante ... c'est le plus simple ...

Autre possibilité tu essayes de suprimer des lignes qui n'existe plus, un devis vide, moi je procéde a la suppression de ligne avec leur N° unique ça va aussi plus vite ...

a plus

Claude, Expert Consultant Sage_ligne_100
Développements spécifiques, intégration
Membre du "LE FORUM DES UTILISATEURS SAGE"
==================================
Contributeur
Contributeur
 
Messages: 69
Inscription: Lun 12 Mar 2007 15:59

de pbonomme » Mer 20 Juin 2007 15:26

Effectivement, vérifie tes guillemets.
Par contre tu ne peux nous donner ta requete exacte, et vérifié si y a bien la ligne que tu souhaite supprimé
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: Mer 20 Juin 2007 10:03


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités