PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → PB SQL Server SAGE pour insert commande [URGENT ! ]
PB SQL Server SAGE pour insert commande [URGENT ! ]
Iniciado por olivier.guin, 28,mar. 2006 08:31 - 8 respuestas
Publicado el 28,marzo 2006 - 08:31
Bonjour,

Je serait à la recherche d'une solution pour ajouter un bon de commande dans SAGE V12 version SQL !

J'ai une erreur de type : Description = RAISERROR ne peut localiser l'entrée dans sysmessages pour l'erreur 82006.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 42000
Native error Number = 2758

J'avais vu dans un post un code permettant l'ajout d'un bon de commande ainsi que qq lignes pour la commande, mais impossible de remettre la main dessus, je pense que c'était un post de Pierre.

Aussi j'envoi ma procédure ( Désolé c'est long !!! )


PROCEDURE AjoutePieceVente(vNumPiece,vType,vDate,vCT_NUM,vCommentaire)
// Demande UPDATE ou INSERT selon le mode
sCommande est une chaîne
sLigne est une chaîne
db est une Source de Données
Arith est une chaîne = "SET ARITHABORT ON"

HLitRecherche(F_COMPTET,CT_Num,vCT_NUM,hIdentique)
SI HTrouve ALORS
sCommande ="Insert into F_DOCENTETE(AB_NO,CA_NO,CA_NUM,CG_NUM,CT_NUMPAYEUR,DE_NO,DO_ATTENTE,DO_BLFACT,DO_CLOTURE,"+...
"DO_COLISAGE,DO_CONDITION,DO_COORD01,DO_COORD02,DO_COORD03,DO_COORD04,DO_COURS,DO_DATE,DO_DATELIVR,DO_DEBUTABO,DO_DEBUTPERIOD,DO_DEVISE,"+...
"DO_DOMAINE,DO_ECART,DO_EXPEDIT,DO_FINABO,DO_FINPERIOD,DO_HEURE,DO_IMPRIM,DO_LANGUE,DO_NBFACTURE,DO_NOWEB,DO_PERIOD,DO_PIECE,DO_REF,DO_REGIME,"+...
"DO_RELIQUAT,DO_SOUCHE,DO_STATUT,DO_TARIF,DO_TIERS,DO_TRANSACTION,DO_TRANSFERE,DO_TXESCOMPTE,DO_TYPE,DO_TYPECOLIS,DO_VENTILE,LI_NO,N_CATCOMPTA,RE_NO,RE_NOCAISSIER) "+...
"values ("+...
"0,"+... // AB_NO
"0,"+... // CA_NO
Quote(F_COMPTET.CA_Num)+","+... // CA_NUM
Quote(F_COMPTET.CG_NumPrinc)+","+... // CG_NUM
Quote(F_COMPTET.CT_NumPayeur)+","+... // CT_NUMPAYEUR
"1,"+... // DE_NO
"0,"+... // DO_ATTENTE
"0,"+... // DO_BLFACT
"0,"+... // DO_CLOTURE
"1,"+... // DO_COLISAGE
"1,"+... // DO_CONDITION
Quote(" ")+","+... // DO_COORD01
Quote(" ")+","+... // DO_COORD02
Quote(" ")+","+... // DO_COORD03
Quote(" ")+","+... // DO_COORD04
"0,"+... // DO_COURS
Quote("2006-03-25")+","+... // DO_DATE
"Null,"+... // DO_DATELIVR
"Null,"+... // DO_DEBUTABO
"Null,"+... // DO_DEBUTPERIOD
"0"+","+... // DO_DEVISE f_comptet.N_Devise
"0,"+... // DO_DOMAINE
"0,"+... // DO_ECART
"1,"+... // DO_EXPEDIT
"Null,"+... // DO_FINABO
"Null,"+... // DO_FINPERIOD
"Null,"+... // DO_HEURE
"0,"+... // DO_IMPRIME
"0"+","+... // DO_LANGUE F_COMPTET.CT_Langue
"1"+","+... // DO_NBFACTURE F_COMPTET.CT_Facture
Quote(" ")+","+... // DO_NOWEB
"1,"+... // DO_PERIODE
Quote(vNumPiece)+","+... // DO_PIECE
Quote("Créé par WEB")+","+... // DO_REF
"21,"+... // DO_REGIME
"0,"+... // DO_RELIQUAT
"0,"+... // DO_SOUCHE
"2,"+... // DO_STATUT
"2,"+... // DO_TARIF
Quote(F_COMPTET.CT_Num)+","+... // DO_TIERS
"11,"+... // DO_TRANSACTION
"0,"+... // DO_TRANSFERE
F_COMPTET.CT_Taux02+","+... // DO_TXESCOMPTE
"1,"+... // DO_TYPE
"1,"+... // DO_TYPECOLIS
"0,"+... // DO_VENTILE
"0,"+... // LI_NO
F_COMPTET.N_CatCompta+","+... // N_CATCOMPTABLE
F_COMPTET.RE_No+","+... // RE_NO
"0)" // RE_NOCAISSIER

HDécritConnexion(gsdBase,Guser,Gpassword,VServeur,Gbase,hOledbSQLServer,hOLectureEcriture)
SI HOuvreConnexion(gsdBase) ALORS
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,Arith) ALORS
Info("Instruction SET ARITHABORT OK") // Ca fonctionne !!
FIN
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,sCommande) ALORS
Info("Ajout de la commande n° "+vNumPiece+" effectuée !")
SINON
// Le probleme est là !!!!
Erreur("Ajout de la pièce n° "+vNumPiece+" pour le client "+vCT_NUM+" impossible !")
Info(sCommande)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
FIN
SINON
Erreur("Erreur de connexion")
FIN
HFermeConnexion(gsdBase)
Publicado el 28,marzo 2006 - 10:34
Salut,

En effet il y a un post la dessus. Ce que j'avais repondu c'est que chez Sage il faut regarder attentivement le schémas de la base de donnée. Il faut savoir que les tables Sage sont tres souvent liées les unes aux autres.

Il doit donc manquer une table amettre a jour afin que la création de ton bon de commande fonctionne.

Bon dev,

Philippe

Olivier GUIN a écrit :
Bonjour,

Je serait à la recherche d'une solution pour ajouter un bon de commande dans SAGE V12 version SQL !

J'ai une erreur de type : Description = RAISERROR ne peut localiser l'entrée dans sysmessages pour l'erreur 82006.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 42000
Native error Number = 2758

J'avais vu dans un post un code permettant l'ajout d'un bon de commande ainsi que qq lignes pour la commande, mais impossible de remettre la main dessus, je pense que c'était un post de Pierre.

Aussi j'envoi ma procédure ( Désolé c'est long !!! )


PROCEDURE AjoutePieceVente(vNumPiece,vType,vDate,vCT_NUM,vCommentaire)
// Demande UPDATE ou INSERT selon le mode
sCommande est une chaîne
sLigne est une chaîne
db est une Source de Données
Arith est une chaîne = "SET ARITHABORT ON"

HLitRecherche(F_COMPTET,CT_Num,vCT_NUM,hIdentique)
SI HTrouve ALORS
sCommande ="Insert into F_DOCENTETE(AB_NO,CA_NO,CA_NUM,CG_NUM,CT_NUMPAYEUR,DE_NO,DO_ATTENTE,DO_BLFACT,DO_CLOTURE,"+...
"DO_COLISAGE,DO_CONDITION,DO_COORD01,DO_COORD02,DO_COORD03,DO_COORD04,DO_COURS,DO_DATE,DO_DATELIVR,DO_DEBUTABO,DO_DEBUTPERIOD,DO_DEVISE,"+...
"DO_DOMAINE,DO_ECART,DO_EXPEDIT,DO_FINABO,DO_FINPERIOD,DO_HEURE,DO_IMPRIM,DO_LANGUE,DO_NBFACTURE,DO_NOWEB,DO_PERIOD,DO_PIECE,DO_REF,DO_REGIME,"+...
"DO_RELIQUAT,DO_SOUCHE,DO_STATUT,DO_TARIF,DO_TIERS,DO_TRANSACTION,DO_TRANSFERE,DO_TXESCOMPTE,DO_TYPE,DO_TYPECOLIS,DO_VENTILE,LI_NO,N_CATCOMPTA,RE_NO,RE_NOCAISSIER) "+...
"values ("+...
"0,"+... // AB_NO
"0,"+... // CA_NO
Quote(F_COMPTET.CA_Num)+","+... // CA_NUM
Quote(F_COMPTET.CG_NumPrinc)+","+... // CG_NUM
Quote(F_COMPTET.CT_NumPayeur)+","+... // CT_NUMPAYEUR
"1,"+... // DE_NO
"0,"+... // DO_ATTENTE
"0,"+... // DO_BLFACT
"0,"+... // DO_CLOTURE
"1,"+... // DO_COLISAGE
"1,"+... // DO_CONDITION
Quote(" ")+","+... // DO_COORD01
Quote(" ")+","+... // DO_COORD02
Quote(" ")+","+... // DO_COORD03
Quote(" ")+","+... // DO_COORD04
"0,"+... // DO_COURS
Quote("2006-03-25")+","+... // DO_DATE
"Null,"+... // DO_DATELIVR
"Null,"+... // DO_DEBUTABO
"Null,"+... // DO_DEBUTPERIOD
"0"+","+... // DO_DEVISE f_comptet.N_Devise
"0,"+... // DO_DOMAINE
"0,"+... // DO_ECART
"1,"+... // DO_EXPEDIT
"Null,"+... // DO_FINABO
"Null,"+... // DO_FINPERIOD
"Null,"+... // DO_HEURE
"0,"+... // DO_IMPRIME
"0"+","+... // DO_LANGUE F_COMPTET.CT_Langue
"1"+","+... // DO_NBFACTURE F_COMPTET.CT_Facture
Quote(" ")+","+... // DO_NOWEB
"1,"+... // DO_PERIODE
Quote(vNumPiece)+","+... // DO_PIECE
Quote("Créé par WEB")+","+... // DO_REF
"21,"+... // DO_REGIME
"0,"+... // DO_RELIQUAT
"0,"+... // DO_SOUCHE
"2,"+... // DO_STATUT
"2,"+... // DO_TARIF
Quote(F_COMPTET.CT_Num)+","+... // DO_TIERS
"11,"+... // DO_TRANSACTION
"0,"+... // DO_TRANSFERE
F_COMPTET.CT_Taux02+","+... // DO_TXESCOMPTE
"1,"+... // DO_TYPE
"1,"+... // DO_TYPECOLIS
"0,"+... // DO_VENTILE
"0,"+... // LI_NO
F_COMPTET.N_CatCompta+","+... // N_CATCOMPTABLE
F_COMPTET.RE_No+","+... // RE_NO
"0)" // RE_NOCAISSIER

HDécritConnexion(gsdBase,Guser,Gpassword,VServeur,Gbase,hOledbSQLServer,hOLectureEcriture)
SI HOuvreConnexion(gsdBase) ALORS
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,Arith) ALORS
Info("Instruction SET ARITHABORT OK") // Ca fonctionne !!
FIN
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,sCommande) ALORS
Info("Ajout de la commande n° "+vNumPiece+" effectuée !")
SINON
// Le probleme est là !!!!
Erreur("Ajout de la pièce n° "+vNumPiece+" pour le client "+vCT_NUM+" impossible !")
Info(sCommande)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
FIN
SINON
Erreur("Erreur de connexion")
FIN
HFermeConnexion(gsdBase)

Publicado el 28,marzo 2006 - 11:37
je ne me souviens plus pourquoi mais un mec de chez SAGE m'avait dit de
désactiver des trigger sur F_DOCENTETE

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBUPD_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
::MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux
FIN
SQLFerme("Query")

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBINS_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
::MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux
FIN
SQLFerme("Query")


Olivier GUIN a émis l'idée suivante :
Bonjour,

Je serait à la recherche d'une solution pour ajouter un bon de commande dans
SAGE V12 version SQL !

J'ai une erreur de type : Description = RAISERROR ne peut localiser l'entrée
dans sysmessages pour l'erreur 82006. Source = Microsoft OLE DB Provider for
SQL Server SQL State = 42000
Native error Number = 2758

J'avais vu dans un post un code permettant l'ajout d'un bon de commande ainsi
que qq lignes pour la commande, mais impossible de remettre la main dessus,
je pense que c'était un post de Pierre.

Aussi j'envoi ma procédure ( Désolé c'est long !!! )


PROCEDURE AjoutePieceVente(vNumPiece,vType,vDate,vCT_NUM,vCommentaire)
// Demande UPDATE ou INSERT selon le mode
sCommande est une chaîne
sLigne est une chaîne
db est une Source de Données
Arith est une chaîne = "SET ARITHABORT ON"

HLitRecherche(F_COMPTET,CT_Num,vCT_NUM,hIdentique)
SI HTrouve ALORS
sCommande ="Insert into
F_DOCENTETE(AB_NO,CA_NO,CA_NUM,CG_NUM,CT_NUMPAYEUR,DE_NO,DO_ATTENTE,DO_BLFACT,DO_CLOTURE,"+...

"DO_COLISAGE,DO_CONDITION,DO_COORD01,DO_COORD02,DO_COORD03,DO_COORD04,DO_COURS,DO_DATE,DO_DATELIVR,DO_DEBUTABO,DO_DEBUTPERIOD,DO_DEVISE,"+...

"DO_DOMAINE,DO_ECART,DO_EXPEDIT,DO_FINABO,DO_FINPERIOD,DO_HEURE,DO_IMPRIM,DO_LANGUE,DO_NBFACTURE,DO_NOWEB,DO_PERIOD,DO_PIECE,DO_REF,DO_REGIME,"+...

"DO_RELIQUAT,DO_SOUCHE,DO_STATUT,DO_TARIF,DO_TIERS,DO_TRANSACTION,DO_TRANSFERE,DO_TXESCOMPTE,DO_TYPE,DO_TYPECOLIS,DO_VENTILE,LI_NO,N_CATCOMPTA,RE_NO,RE_NOCAISSIER)
"+... "values ("+... "0,"+... // AB_NO "0,"+... // CA_NO
Quote(F_COMPTET.CA_Num)+","+... // CA_NUM
Quote(F_COMPTET.CG_NumPrinc)+","+... // CG_NUM
Quote(F_COMPTET.CT_NumPayeur)+","+... // CT_NUMPAYEUR "1,"+... // DE_NO
"0,"+... // DO_ATTENTE "0,"+... // DO_BLFACT
"0,"+... // DO_CLOTURE
"1,"+... // DO_COLISAGE
"1,"+... // DO_CONDITION
Quote(" ")+","+... // DO_COORD01
Quote(" ")+","+... // DO_COORD02
Quote(" ")+","+... // DO_COORD03
Quote(" ")+","+... // DO_COORD04
"0,"+... // DO_COURS
Quote("2006-03-25")+","+... // DO_DATE
"Null,"+... // DO_DATELIVR
"Null,"+... // DO_DEBUTABO
"Null,"+... // DO_DEBUTPERIOD
"0"+","+... // DO_DEVISE f_comptet.N_Devise
"0,"+... // DO_DOMAINE
"0,"+... // DO_ECART
"1,"+... // DO_EXPEDIT
"Null,"+... // DO_FINABO
"Null,"+... // DO_FINPERIOD
"Null,"+... // DO_HEURE
"0,"+... // DO_IMPRIME
"0"+","+... // DO_LANGUE F_COMPTET.CT_Langue
"1"+","+... // DO_NBFACTURE F_COMPTET.CT_Facture
Quote(" ")+","+... // DO_NOWEB
"1,"+... // DO_PERIODE
Quote(vNumPiece)+","+... // DO_PIECE
Quote("Créé par WEB")+","+... // DO_REF
"21,"+... // DO_REGIME
"0,"+... // DO_RELIQUAT
"0,"+... // DO_SOUCHE
"2,"+... // DO_STATUT
"2,"+... // DO_TARIF
Quote(F_COMPTET.CT_Num)+","+... // DO_TIERS
"11,"+... // DO_TRANSACTION
"0,"+... // DO_TRANSFERE
F_COMPTET.CT_Taux02+","+... // DO_TXESCOMPTE
"1,"+... // DO_TYPE
"1,"+... // DO_TYPECOLIS
"0,"+... // DO_VENTILE
"0,"+... // LI_NO
F_COMPTET.N_CatCompta+","+... // N_CATCOMPTABLE
F_COMPTET.RE_No+","+... // RE_NO
"0)" // RE_NOCAISSIER

HDécritConnexion(gsdBase,Guser,Gpassword,VServeur,Gbase,hOledbSQLServer,hOLectureEcriture)
SI HOuvreConnexion(gsdBase) ALORS
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,Arith) ALORS
Info("Instruction SET ARITHABORT OK") // Ca fonctionne !!
FIN
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,sCommande) ALORS
Info("Ajout de la commande n° "+vNumPiece+" effectuée !")
SINON
// Le probleme est là !!!!
Erreur("Ajout de la pièce n° "+vNumPiece+" pour le client "+vCT_NUM+"
impossible !") Info(sCommande)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
FIN
SINON
Erreur("Erreur de connexion")
FIN
HFermeConnexion(gsdBase)


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicado el 28,marzo 2006 - 16:25
bonjour,

j'ai maintenant une autre erreur, j'ai bien regarder la base et je ne comprend pas !

Description = La conversion du type de données CHAR en SMALLMONEY a donné une valeur hors des limites des valeurs monétaires.

?
Publicado el 28,marzo 2006 - 16:25
Bonjour pierre,

Comment tu fait pour ré-activer les trigger après l'ajout ?
Publicado el 28,marzo 2006 - 17:13
enable à la place de disable

Olivier GUIN a écrit :

Bonjour pierre,

Comment tu fait pour ré-activer les trigger après l'ajout ?


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicado el 28,marzo 2006 - 17:13
tuas quoté un valeur qui aurait du être en numérique

Dans son message précédent, Olivier GUIN a écrit :
bonjour,

j'ai maintenant une autre erreur, j'ai bien regarder la base et je ne
comprend pas !

Description = La conversion du type de données CHAR en SMALLMONEY a donné une
valeur hors des limites des valeurs monétaires.

?


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicado el 28,marzo 2006 - 19:32
Dire que l'on paie une maintenance à SAGE pour n'avoir que le droit
d'envoyer un fax, dont la réponse peut aller jusqu'à 3 semaines de délais,
avec rarement un aboutissement valable, alors que Pierre BOUSQUET, nous
donne tjs une réponse pertinante quasiment sur le champ et celà gratuitement
!...
Alors MERCI Pierre de la part de tout ceux qui galère avec SAGE !

Gérard.


"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.e24a7d63cfbd010f.47088@hotmail.com...

je ne me souviens plus pourquoi mais un mec de chez SAGE m'avait dit de
désactiver des trigger sur F_DOCENTETE

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBUPD_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
::MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux
FIN
SQLFerme("Query")

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBINS_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
::MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux
FIN
SQLFerme("Query")


Olivier GUIN a émis l'idée suivante :
Bonjour,

Je serait à la recherche d'une solution pour ajouter un bon de commande
dans
SAGE V12 version SQL !

J'ai une erreur de type : Description = RAISERROR ne peut localiser
l'entrée
dans sysmessages pour l'erreur 82006. Source = Microsoft OLE DB Provider
for
SQL Server SQL State = 42000
Native error Number = 2758

J'avais vu dans un post un code permettant l'ajout d'un bon de commande
ainsi
que qq lignes pour la commande, mais impossible de remettre la main
dessus,
je pense que c'était un post de Pierre.

Aussi j'envoi ma procédure ( Désolé c'est long !!! )


PROCEDURE AjoutePieceVente(vNumPiece,vType,vDate,vCT_NUM,vCommentaire)
// Demande UPDATE ou INSERT selon le mode
sCommande est une chaîne
sLigne est une chaîne
db est une Source de Données
Arith est une chaîne = "SET ARITHABORT ON"

HLitRecherche(F_COMPTET,CT_Num,vCT_NUM,hIdentique)
SI HTrouve ALORS
sCommande ="Insert into
F_DOCENTETE(AB_NO,CA_NO,CA_NUM,CG_NUM,CT_NUMPAYEUR,DE_NO,DO_ATTENTE,DO_BLFACT,DO_CLOTURE,"+...

"DO_COLISAGE,DO_CONDITION,DO_COORD01,DO_COORD02,DO_COORD03,DO_COORD04,DO_COURS,DO_DATE,DO_DATELIVR,DO_DEBUTABO,DO_DEBUTPERIOD,DO_DEVISE,"+...

"DO_DOMAINE,DO_ECART,DO_EXPEDIT,DO_FINABO,DO_FINPERIOD,DO_HEURE,DO_IMPRIM,DO_LANGUE,DO_NBFACTURE,DO_NOWEB,DO_PERIOD,DO_PIECE,DO_REF,DO_REGIME,"+...

"DO_RELIQUAT,DO_SOUCHE,DO_STATUT,DO_TARIF,DO_TIERS,DO_TRANSACTION,DO_TRANSFERE,DO_TXESCOMPTE,DO_TYPE,DO_TYPECOLIS,DO_VENTILE,LI_NO,N_CATCOMPTA,RE_NO,RE_NOCAISSIER)
"+... "values ("+... "0,"+... // AB_NO "0,"+... // CA_NO
Quote(F_COMPTET.CA_Num)+","+... // CA_NUM
Quote(F_COMPTET.CG_NumPrinc)+","+... // CG_NUM
Quote(F_COMPTET.CT_NumPayeur)+","+... // CT_NUMPAYEUR "1,"+... // DE_NO
"0,"+... // DO_ATTENTE "0,"+... // DO_BLFACT
"0,"+... // DO_CLOTURE
"1,"+... // DO_COLISAGE
"1,"+... // DO_CONDITION
Quote(" ")+","+... // DO_COORD01
Quote(" ")+","+... // DO_COORD02
Quote(" ")+","+... // DO_COORD03
Quote(" ")+","+... // DO_COORD04
"0,"+... // DO_COURS
Quote("2006-03-25")+","+... // DO_DATE
"Null,"+... // DO_DATELIVR
"Null,"+... // DO_DEBUTABO
"Null,"+... // DO_DEBUTPERIOD
"0"+","+... // DO_DEVISE f_comptet.N_Devise
"0,"+... // DO_DOMAINE
"0,"+... // DO_ECART
"1,"+... // DO_EXPEDIT
"Null,"+... // DO_FINABO
"Null,"+... // DO_FINPERIOD
"Null,"+... // DO_HEURE
"0,"+... // DO_IMPRIME
"0"+","+... // DO_LANGUE F_COMPTET.CT_Langue
"1"+","+... // DO_NBFACTURE F_COMPTET.CT_Facture
Quote(" ")+","+... // DO_NOWEB
"1,"+... // DO_PERIODE
Quote(vNumPiece)+","+... // DO_PIECE
Quote("Créé par WEB")+","+... // DO_REF
"21,"+... // DO_REGIME
"0,"+... // DO_RELIQUAT
"0,"+... // DO_SOUCHE
"2,"+... // DO_STATUT
"2,"+... // DO_TARIF
Quote(F_COMPTET.CT_Num)+","+... // DO_TIERS
"11,"+... // DO_TRANSACTION
"0,"+... // DO_TRANSFERE
F_COMPTET.CT_Taux02+","+... // DO_TXESCOMPTE
"1,"+... // DO_TYPE
"1,"+... // DO_TYPECOLIS
"0,"+... // DO_VENTILE
"0,"+... // LI_NO
F_COMPTET.N_CatCompta+","+... // N_CATCOMPTABLE
F_COMPTET.RE_No+","+... // RE_NO
"0)" // RE_NOCAISSIER

HDécritConnexion(gsdBase,Guser,Gpassword,VServeur,Gbase,hOledbSQLServer,hOLectureEcriture)
SI HOuvreConnexion(gsdBase) ALORS
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,Arith) ALORS
Info("Instruction SET ARITHABORT OK") // Ca fonctionne !!
FIN
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,sCommande)
ALORS
Info("Ajout de la commande n° "+vNumPiece+" effectuée !")
SINON
// Le probleme est là !!!!
Erreur("Ajout de la pièce n° "+vNumPiece+" pour le client
"+vCT_NUM+"
impossible !") Info(sCommande)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
FIN
SINON
Erreur("Erreur de connexion")
FIN
HFermeConnexion(gsdBase)

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "

Publicado el 28,marzo 2006 - 20:29
Merci mais c tout naturel, je ne viens pas au secours de l'utilisateur
SAGE (ce nom me donne des boutons) mais du développeur...
Je ne te parles même pas du temps passé au téléphone, on est jamais
mieux servit que pas soi-même

Gérard - ASI a formulé ce mardi :
Dire que l'on paie une maintenance à SAGE pour n'avoir que le droit
d'envoyer un fax, dont la réponse peut aller jusqu'à 3 semaines de délais,
avec rarement un aboutissement valable, alors que Pierre BOUSQUET, nous
donne tjs une réponse pertinante quasiment sur le champ et celà gratuitement
!...
Alors MERCI Pierre de la part de tout ceux qui galère avec SAGE !

Gérard.


"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.e24a7d63cfbd010f.47088@hotmail.com...

je ne me souviens plus pourquoi mais un mec de chez SAGE m'avait dit de
désactiver des trigger sur F_DOCENTETE

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBUPD_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux

FIN
SQLFerme("Query")

SI PAS SQLExec("ALTER TABLE F_DOCENTETE disable TRIGGER
TG_CBINS_F_DOCENTETE","Query") ALORS
SQLInfoGene("Query")
MessageErreurSAGE = SQL.MesErreur
RENVOYER Faux

FIN
SQLFerme("Query")


Olivier GUIN a émis l'idée suivante :
Bonjour,

Je serait à la recherche d'une solution pour ajouter un bon de commande
dans
SAGE V12 version SQL !

J'ai une erreur de type : Description = RAISERROR ne peut localiser
l'entrée
dans sysmessages pour l'erreur 82006. Source = Microsoft OLE DB Provider
for
SQL Server SQL State = 42000
Native error Number = 2758

J'avais vu dans un post un code permettant l'ajout d'un bon de commande
ainsi
que qq lignes pour la commande, mais impossible de remettre la main
dessus,
je pense que c'était un post de Pierre.

Aussi j'envoi ma procédure ( Désolé c'est long !!! )


PROCEDURE AjoutePieceVente(vNumPiece,vType,vDate,vCT_NUM,vCommentaire)
// Demande UPDATE ou INSERT selon le mode
sCommande est une chaîne
sLigne est une chaîne
db est une Source de Données
Arith est une chaîne = "SET ARITHABORT ON"

HLitRecherche(F_COMPTET,CT_Num,vCT_NUM,hIdentique)
SI HTrouve ALORS
sCommande ="Insert into
F_DOCENTETE(AB_NO,CA_NO,CA_NUM,CG_NUM,CT_NUMPAYEUR,DE_NO,DO_ATTENTE,DO_BLFACT,DO_CLOTURE,"+...

"DO_COLISAGE,DO_CONDITION,DO_COORD01,DO_COORD02,DO_COORD03,DO_COORD04,DO_COURS,DO_DATE,DO_DATELIVR,DO_DEBUTABO,DO_DEBUTPERIOD,DO_DEVISE,"+...

"DO_DOMAINE,DO_ECART,DO_EXPEDIT,DO_FINABO,DO_FINPERIOD,DO_HEURE,DO_IMPRIM,DO_LANGUE,DO_NBFACTURE,DO_NOWEB,DO_PERIOD,DO_PIECE,DO_REF,DO_REGIME,"+...

"DO_RELIQUAT,DO_SOUCHE,DO_STATUT,DO_TARIF,DO_TIERS,DO_TRANSACTION,DO_TRANSFERE,DO_TXESCOMPTE,DO_TYPE,DO_TYPECOLIS,DO_VENTILE,LI_NO,N_CATCOMPTA,RE_NO,RE_NOCAISSIER)
"+... "values ("+... "0,"+... // AB_NO "0,"+... // CA_NO
Quote(F_COMPTET.CA_Num)+","+... // CA_NUM
Quote(F_COMPTET.CG_NumPrinc)+","+... // CG_NUM
Quote(F_COMPTET.CT_NumPayeur)+","+... // CT_NUMPAYEUR "1,"+... // DE_NO
"0,"+... // DO_ATTENTE "0,"+... // DO_BLFACT
"0,"+... // DO_CLOTURE
"1,"+... // DO_COLISAGE
"1,"+... // DO_CONDITION
Quote(" ")+","+... // DO_COORD01
Quote(" ")+","+... // DO_COORD02
Quote(" ")+","+... // DO_COORD03
Quote(" ")+","+... // DO_COORD04
"0,"+... // DO_COURS
Quote("2006-03-25")+","+... // DO_DATE
"Null,"+... // DO_DATELIVR
"Null,"+... // DO_DEBUTABO
"Null,"+... // DO_DEBUTPERIOD
"0"+","+... // DO_DEVISE f_comptet.N_Devise
"0,"+... // DO_DOMAINE
"0,"+... // DO_ECART
"1,"+... // DO_EXPEDIT
"Null,"+... // DO_FINABO
"Null,"+... // DO_FINPERIOD
"Null,"+... // DO_HEURE
"0,"+... // DO_IMPRIME
"0"+","+... // DO_LANGUE F_COMPTET.CT_Langue
"1"+","+... // DO_NBFACTURE F_COMPTET.CT_Facture
Quote(" ")+","+... // DO_NOWEB
"1,"+... // DO_PERIODE
Quote(vNumPiece)+","+... // DO_PIECE
Quote("Créé par WEB")+","+... // DO_REF
"21,"+... // DO_REGIME
"0,"+... // DO_RELIQUAT
"0,"+... // DO_SOUCHE
"2,"+... // DO_STATUT
"2,"+... // DO_TARIF
Quote(F_COMPTET.CT_Num)+","+... // DO_TIERS
"11,"+... // DO_TRANSACTION
"0,"+... // DO_TRANSFERE
F_COMPTET.CT_Taux02+","+... // DO_TXESCOMPTE
"1,"+... // DO_TYPE
"1,"+... // DO_TYPECOLIS
"0,"+... // DO_VENTILE
"0,"+... // LI_NO
F_COMPTET.N_CatCompta+","+... // N_CATCOMPTABLE
F_COMPTET.RE_No+","+... // RE_NO
"0)" // RE_NOCAISSIER

HDécritConnexion(gsdBase,Guser,Gpassword,VServeur,Gbase,hOledbSQLServer,hOLectureEcriture)
SI HOuvreConnexion(gsdBase) ALORS
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,Arith) ALORS
Info("Instruction SET ARITHABORT OK") // Ca fonctionne !!
FIN
SI HPrépareRequêteSQL(db,gsdBase,hRequêteSansCorrection,sCommande)
ALORS
Info("Ajout de la commande n° "+vNumPiece+" effectuée !")
SINON
// Le probleme est là !!!!
Erreur("Ajout de la pièce n° "+vNumPiece+" pour le client
"+vCT_NUM+"
impossible !") Info(sCommande)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
FIN
SINON
Erreur("Erreur de connexion")
FIN
HFermeConnexion(gsdBase)

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "