You are on page 1of 275

Kit ODBC 100

Version 12.00

Rfrence

COMPOSITION DU PROGICIEL

Votre progiciel est compos d'un botier de rangement comprenant :


le CD-ROM sur lequel est enregistr le programme,
la documentation correspondante

PROPRIETE & USAGE

Tout usage, reprsentation ou reproduction intgral ou partiel, fait sans le consentement de Sage France est illicite (Loi du 11 Mars
1957 - Loi du 3 Juillet 1985). Ils constitueraient une contrefaon sanctionne par les articles 425 et suivants du Code Pnal.
Tous droits rservs dans tous pays.
Logiciel original dvelopp par Sage France.
Documentation Sage France.
Toute utilisation, quelque titre que ce soit, non autorise dans le cadre de la convention de licence, est strictement interdite sous peine
de sanctions pnales (Loi du 3 Juillet 1985, Art. 46).
CONFORMITE & MISE EN GARDE

Compte tenu des contraintes inhrentes la prsentation sous forme papier, les spcifications vises dans la prsente documentation
constituent une illustration aussi proche que possible des spcifications.
Il appartient au client, paralllement la documentation, de mettre en uvre le progiciel pour permettre de mesurer exactement
l'adquation de ses besoins aux fonctionnalits.
Il est important, pour une utilisation sre et oprationnelle du progiciel, de lire pralablement la documentation.
EVOLUTION

La documentation correspond la version rfrence. Entre deux versions, des mises jour du logiciel peuvent tre opres sans
modification de la documentation. Toutefois, un additif peut tre joint la documentation existante pour prsenter les modifications et
amliorations apportes ces mises jour.
LA FICHE SUGGESTION

Sage France recherche une constante amlioration du progiciel et de sa documentation. Nous invitons notre clientle nous faire
parvenir ses suggestions et les ventuels dfauts ou erreurs qu'elle pourrait relever sur la fiche suggestion figurant en dernire page du
manuel.
MARQUES

Ligne 30 est une marque dpose appartenant Sage France.


Ligne 100 est une marque dpose appartenant Sage France.
Ligne 500 est une marque dpose appartenant Sage France.
Windows 2000, Windows 98, Windows 95, Windows, MS-DOS sont des marques dposes de Microsoft Corporation.
Macintosh, MAC/OS est une marque dpose de Apple Computer Inc.
Sage France

Sommaire gnral

Sommaire
Chapitre 1 Gnralits sur le
programme_______________________ 1
Dfinition dODBC _______________________ 2
Principe de fonctionnement ____________ 2
Compatibilit avec les bases de la
ligne 100 Windows ______________________ 3
Principe dutilisation dans les
applications _____________________________ 4
Contenu du Kit ODBC 100 ....................... 5
Base de Donnes : ACC2000EX.MDB de
Microsoft ACCESS ................................................ 5
Base de Donnes: ODBCNEW2000.MDB de
Microsoft ACCESS ................................................ 5
Exemple dutilisation du Driver ODBC 100
avec Excel et Visual Basic (ExExc2000.XLS) ...... 5
Bases Bijou............................................................ 5
Exemple sur Crystal Report version 8 :
COMPTET.RPT ..................................................... 5
Fichier texte : t_descri.txt....................................... 5
Fichier texte : fonction.txt....................................... 6
Fichier texte : erreurs.txt ........................................ 6
Fichier ActiveX.Txt................................................. 6
Sources de donnes ____________________ 7
Dfinition ................................................. 7
Comptabilit 100.................................................... 7

Gestion Commerciale 100......................................7


Immobilisations 100................................................7
Manager 100 ..........................................................8
Moyen de Paiement 100 ........................................8
Paie Windows 100..................................................8
Types de Sources de Donnes................ 9
Utilisateur................................................................9
Systme..................................................................9
Fichier.....................................................................9
Cration dune source de donnes
Sage ...................................................... 11
Cration dune DSN de type fichier ......................14

Chapitre 2 Fonctions
avances et DLL Active X :
dclaration des fonctions ______ 15
Les fonctions avances Sage __________ 16
Introduction gnrale ........................... 16
Description des fonctions de lAPI
Sage ...................................................... 17
Introduction...........................................................17
Description des fonctions avances
de la comptabilit ................................. 18
TotalMvtDebit (CG_Num, CT_Num,
JO_Num, Deb, Fin, Resultat) ...............................18
TotalMvtCredit (CG_Num, CT_Num,
JO_Num, Deb, Fin, Credit)...................................18
I
Sage France

Sommaire gnral
TotalMvtSolde (CG_Num, CT_Num,
JO_Num, Deb, Fin, Resultat) .............................. 19
TotalDevDebit (CG_Num, CT_Num,
JO_Num, Deb, Fin, Resultat) .............................. 20
TotalDevCredit (CG_Num, CT_Num,
JO_Num, Deb, Fin, Resultat) .............................. 20
TotalDevSolde (CG_Num, CT_Num,
JO_Num, Deb, Fin, Resultat) .............................. 21
TotalRepDebit (CR_Num, JO_Num, Deb,
Fin, Resultat) ....................................................... 22
TotalRepCredit (CR_Num, JO_Num, Deb,
Fin, Resultat) ....................................................... 22
TotalRepSolde (CR_Num, JO_Num, Deb,
Fin, Resultat) ....................................................... 23
TotalRepDevDebit (CR_Num, JO_Num, Deb,
Fin, Resultat) ....................................................... 23
TotalRepDevCredit (CR_Num, JO_Num,
Deb, Fin, Resultat)............................................... 24
TotalRepDevSolde (CR_Num, JO_Num,
Deb, Fin, Resultat)............................................... 24
RealisationBudg (BD_Num, Deb, Fin,
Resultat) .............................................................. 25
JournalNouvPiece (JO_Num, JM_Date,
Resultat ) ............................................................. 25
Description des fonctions avances
de la Gestion Commerciale................... 27
CIALLigneMontantHT (DL_No, Resultat) ............ 27
CIALLigneMontantTTC (DL_NO,
RESULTAT)......................................................... 27
CIALLigneRemiseGlobal (DL_NO,
RESULTAT)......................................................... 27
CIALLignePrixUNet (DL_NO, RESULTAT) ......... 28
CIALLignePrixUNetTTC (DL_NO,
RESULTAT)......................................................... 28
CIALLignePrixUNetDevise (DL_NO,
RESULTAT)......................................................... 28

CIALLigneMontantTaxes (DL_NO,
RESULTAT) .........................................................29
CIALLigneMontantHTSigne (DL_NO,
RESULTAT) .........................................................29
CIALLigneMontantTTCSigne (DL_NO,
RESULTAT) .........................................................29
CIALLigneMontantQteSigne (DL_NO,
RESULTAT) .........................................................30
Algorithme de calcul des quantits signes .........30
CIALDocTotalHT (DO_Type, DO_Piece,
Rsultat) ...............................................................32
CIALDocEscompte (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................32
CIALDocTotalHTNet (DO_TYPE,
DO_PIECE, RESULTAT) .....................................32
CIALDocBaseTaxes (DO_Type, DO_Piece,
Ntaxe) ...................................................................33
CIALDocMontantTaxes (DO_Type,
DO_Piece, Ntaxe) ................................................33
CIALDocMontantTotalTaxes (DO_TYPE,
DO_PIECE, RESULTAT) .....................................33
CIALDocTotalTTC (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................34
CIALDocTotalPrixRevient (DO_TYPE,
DO_PIECE, RESULTAT) .....................................34
CIALDocTotalMarge (DO_TYPE,
DO_PIECE, RESULTAT) .....................................34
CIALDocNetaPayer (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................35
CIALDocMontantEcheance (DO_TYPE,
DO_PIECE, RESULTAT) .....................................35
CIALDocPoidsNet (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................35
CIALDocPoidsBrut (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................36
CIALDocQuantites (DO_TYPE, DO_PIECE,
RESULTAT) .........................................................36
II
Sage France

Sommaire gnral
CIALDocQtesColisee (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 36
CIALDocTotalHTDev (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 37
CIALDocEscompteDev (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 37
CIALDocTotalHTNetDev (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 38
CIALDocMontantTaxesDev (DO_Type,
DO_Piece, Ntaxe, RESULTAT)........................... 38
CIALDocMontantTotalTaxesDev (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 38
CIALDocTotalTTCDev (DO_TYPE,
DO_PIECE, RESULTAT) .................................... 39
CIALDocNouvPiece (DO_Type,
DO_SOUCHE, RESULTAT)................................ 39
CIALTiersCAHTBrut (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................. 39
CIALTiersCAHTNet (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................. 40
CIALTiersCATTC (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 40
CIALTiersPrixRevient (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 41
CIALTiersQuantites (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 42
CIALTiersQtesColisee (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 42
CIALTiersPoidsNet (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 43
CIALTiersPoidsBrut (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 43
CIALTiersMarge (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 44
CIALTiersRemise (CT_Num, Debut, Fin,
TypeDocDe, TypeDocA, RESULTAT)................ 44
CIALTiersSolde(CT_NUM, Rsultat)................... 45

CIALTiersEchus1(CT_NUM, RESULTAT) ...........45


CIALTiersEchus2(CT_NUM, RESULTAT) ...........45
CIALTiersEchus3(CT_NUM, RESULTAT) ...........46
CIALTiersNonEchus(CT_NUM, RESULTAT) ......46
CIALTiersDepassement1(CT_NUM,
RESULTAT) .........................................................46
CIALTiersDepassement2(CT_NUM,
RESULTAT) .........................................................47
CIALTiersBLFA(CT_NUM, RESULTAT) ..............47
CIALTiersRisque(CT_NUM, RESULTAT)............47
CIALTiersBC(CT_NUM, RESULTAT) ..................48
CIALTiersFact(CT_NUM, RESULTAT) ................48
CIALTiersRegl(CT_NUM, RESULTAT)................48
CIALArtCAHTBrut (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................49
CIALArtCAHTNet (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................49
CIALArtCATTC (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................50
CIALArtRemise (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................51
CIALArtPrixRevient (AR_R ef, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
51
CIALArtMarge (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................52
CIALArtQuantites (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................53
CIALArtQtesColisee (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat) ............................................53
III
Sage France

Sommaire gnral
CIALArtPoidsNet (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)............................................ 54
CIALArtPoidsBrut (AR_Ref, CT_NumDe,
CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)............................................ 55
CIALArtMarge (AR_REF, CT_NumA,
CT_NumDe, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)............................................ 55
CIALArtCompteA (AR_Ref, Domaine,
CatCompta, Rsultat) .......................................... 56
CIALArtCompteG (AR_Ref, Domaine,
CatCompta, Rsultat) .......................................... 56
CIALArtTaxe1 (AR_Ref, Domaine,
CatCompta, Taxe1) ............................................. 57
CIALArtTaxe2 (AR_Ref, Domaine,
CatCompta, Rsultat) .......................................... 57
CIALArtTaxe3 (AR_Ref, Domaine,
CatCompta, Rsultat) .......................................... 58
CIALArtPrixCat (AR_Ref, CatTarif, AG_No1,
Ag_No2, Rsultat) ............................................... 58
CIALArtCoefCat (AR_Ref, CatTarif, Rsultat)..... 59
CIALArtPrixClient (AR_Ref, CT_Num,
CatTarif, AG_No1, AG_No2, Rsultat)................ 59
CIALArtCoefClient (AR_Ref, CatTarif,
Rsultat) .............................................................. 60
CIALArtPrixFourniss(AR_Ref,
CT_NUM,AG_NO1, AG_NO2, Rsultat) ............. 60
CIALFamCAHTBrut (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) ...................... 60
CIALFamCAHTNet (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) ...................... 61
CIALFamCATTC (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) ...................... 62

CIALFamRemise (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................62
CIALFamPrixRevient (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................63
CIALFamMarge (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................64
CIALFamQuantites (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................64
CIALFamQtesColisee (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................65
CIALFamPoidsNet (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................66
CIALFamPoidsBrut (Fa_CodeFamille,
CT_NumDe, CT_NumA, Debut, Fin,
TypeDocDe, TypeDocA, Rsultat) .......................66
CIALRepCAHTBrut (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) ...............................................................67
CIALRepCAHTNet (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) ...............................................................68
CIALRepCATTC (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) ...............................................................69
CIALRepRemise (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
IV
Sage France

Sommaire gnral
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 70
CIALRepPrixRevient (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 71
CIALRepMarge (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 72
CIALRepQuantites (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 73
CIALRepQtesColisee (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 74
CIALRepPoidsNet (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 75
CIALRepPoidsBrut (RE_No, CT_NumDe,
CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA,
Debut, Fin, TypeDocDe, TypeDocA,
Rsultat) .............................................................. 76
CIALStockVal(DE_No, AR_REF,
AG_NO1,AG_NO2, Date, Rsultat) .................... 77
CIALStockQte(DE_No, AR_REF,
AG_NO1,AG_NO2, Date, Rsultat) .................... 77
GetParamValeurStr (TypeBase, NomTable,
NomChamp, Rsultat) ......................................... 78
GetParamValeurDbl (TypeBase, NomTable,
NomChamp, Rsultat) ......................................... 78

GetParamValeurEnt (TypeBase, NomTable,


NomChamp, Rsultat)..........................................79
GetParamValeurDate (TypeBase, NomTable,
NomChamp, Rsultat)..........................................79
GetParamReplication (TypeBase, Rsultat) ........80
GetParamType (TypeBase, Fichier, Field,
Rsultat) ...............................................................80
Description des fonctions avances
de la Paie Maestria Windows................ 82
FSalCumul (SA_Num, RB_Num, Debut, Fin,
Rsultat) ...............................................................82
FSALCumulbase (SA_Num, RB_Num,
Debut, Fin, Rsultat) ............................................82
FSALCumulCotPat (SA_Num, RB_Num,
Debut, Fin, Rsultat) ............................................83
FSALCumulRes (SA_Num, RB_Num, Debut,
Fin, Rsultat) ........................................................83
FSALCumulTaux (SA_Num, RB_Num,
Debut, Fin, Rsultat) ............................................84
FSALCumulTauxPat (SA_Num, RB_Num,
Debut, Fin, Rsultat) ............................................84
Description des objets de lActiveX
Sage ____________________________________ 85
Introduction........................................... 85
Principe dutilisation de LActiveX
Sage ...................................................... 86
Exemple de Proprits de lobjet
CPTA (base comptable) ........................ 87
TotalMvtDebit (CG_Num, CT_Num,
JO_Num, Deb, Fin) ..............................................87
Exemple de proprits de lobjet
CIAL (Gestion Commerciale) ................ 88
LigneMontantHT (DL_NO) ...................................88
V
Sage France

Sommaire gnral
TiersCAHTBrut (CT_NUM, Debut, Fin,
TypeDocDe, TypeDocA)...................................... 88
Proprits de lobjet Param (pages
paramtres)........................................... 89
GetParamValeurStr (TypeBase, NomTable,
NomChamp) ........................................................ 89
Proprits de lobjet Fsal (la paie
Maestria Windows)................................ 90
FSalCumul (SA_Num, RB_Num, Debut, Fin)...... 90

Chapitre 3 Description des


exemples fournis avec le Kit
ODBC ____________________________ 91
Base Exemple ACC2000EX.MDB
sous Microsoft Access 2000 ___________ 92

Exemple de gnration automatique de


documents en gestion commerciale.....................94
Exemple de gnration automatique
darticles ...............................................................95
Exemple de gnration automatique
dcritures comptables .........................................95
Base de Donnes
ODBCNEW2000.MDB sous Microsoft
Access 2000____________________________ 96
Contenu de la base de donnes............ 96
Utilisation des formulaires fournis ....... 97
Aide la cration de requtes et tats.................97
Visualisation des champs de toutes les tables
de votre base........................................................97
Fichier Exemple Exc2000odbc.xls
sous Microsoft Excel 2000.................... 98

Introduction........................................... 92

Contenu de cet exemple ......................................98

Contenu de la base ACC2000EX.MDB... 92

Etat CompteT.rpt sous Crystal


Reports 8.0 ............................................ 98

Visualisation de tous les Champs des tables


de la Base............................................................ 93
Etat : Annuaire Client........................................... 93
Etat : Palmars Client .......................................... 93
Etat : Grand Livre Tiers........................................ 93
Etat : Distribution Analytique ............................... 93
Etat : balance des comptes ................................. 94
Etat : Mouvements articles .................................. 94
Etat : tarifs par catgorie tarifaire ........................ 94
Exemple dcriture dans un journal ..................... 94
Exemple dcriture dans un Document de
vente .................................................................... 94
Utilisation des fonctions avances de
Comptabilit et de Gestion Commerciale ............ 94

Contenu de cet exemple ......................................98

Annexe 1 Rappel sur le


langage SQL ____________________ 99
Remarques gnrales _________________100
Ajout dun enregistrement .................. 100
Modification denregistrements.......... 101
Suppression dEnregistrements .......... 101
Exemples de requtes ........................ 101
Exemple 1...........................................................101
VI
Sage France

Sommaire gnral
Exemple 2.......................................................... 102
Exemple 3.......................................................... 102

Annexe 2 Fonctions SQL


supportes par Sage ODBC
Ligne 100 ______________________ 103

Fonctions systme.............................. 111


DATABASE () .....................................................111
USER () ..............................................................111

Annexe 3 Conseils
doptimisation _________________ 112

Grammaire SQL supporte par le


driver __________________________________ 104

Les lments perturbants_____________113

Fonctions de la grammaire ODBC


supportes par le driver Sage Ligne
100....................................................... 105

Annexe 4 Les codes erreurs


Sage ___________________________ 114

Fonctions sur les chanes de


caractres ........................................... 106
CONCAT (Chane1, Chane2) ........................... 106
LENGTH (CHAINE) ........................................... 106
RIGHT (CHAINE, NB)........................................ 106
UCASE (CHAINE) ............................................. 106
LCASE (CHAINE) .............................................. 107
LOCATE (CHAINE1, CHAINE2, [START])........ 107
RTRIM (CHAINE) .............................................. 107
LEFT (CHAINE, NB) .......................................... 108
LTRIM (CHAINE) ............................................... 108
SUBSTRING (CHAINE, DEBUT, LONG) .......... 108
MOD (ENTIER1, ENTIER2) .............................. 109
Fonctions sur les dates....................... 109
CURDATE () ...................................................... 109
DAYOFMONTH (DATE) .................................... 109
MONTH (DATE)................................................. 110
CURTIME () ....................................................... 110
DAYOFWEEK (DATE)....................................... 110
YEAR (DATE) .................................................... 111

Description des erreurs gnrales


CBASE _________________________________115
Description des codes erreurs des
fonctions volues ____________________117
Erreurs en criture dans les
diffrentes applications _______________121

Annexe 5 Les erreurs les


plus frquentes ________________ 178
Avant propos __________________________179
Mauvaise version de fichier ................ 179
Erreur Sage 5002 obtenue au
moment de lexcution dune
requte dcriture. .............................. 179
Refus d'autorisation erreur Sage
1807 obtenue au moment de
lexcution dune requte dcriture... 179
VII
Sage France

Sommaire gnral
Domaine de validit du champ
incorrect, veuillez vous rfrer la
documentation .................................... 180

Annexe 6 Utilisation dODBC


avec Visual Basic______________ 181

Syntaxe de la procdure SQLInfoGene .............208


Fonctions disponibles.........................................208

Annexe 8 Utilisation dODBC


avec Visual FoxPro ____________ 211
Introduction ___________________________212

Introduction ___________________________ 182

Les vues distantes .............................. 212

Les ADO............................................... 183

Programmation en Visual FoxPro ....... 213

Connexion Dconnexion .................... 184

Connexion Dconnexion ...................................213

Recherche denregistrements............. 186

Recherche denregistrements ............ 215

Ecriture dans les bases ...................... 188

Ecriture dans les bases ...................... 217

Rcupration des erreurs ................... 189

Rcupration des erreurs ................... 218

Les DAO............................................... 191


Connexion Dconnexion .................... 192
Recherche denregistrements............. 194
Ecriture dans les bases ...................... 196

Annexe 9 Utilisation dODBC


avec Delphi ____________________ 221
Introduction ___________________________222

Rcupration des erreurs ................... 198

Connexion Dconnexion______________223

Annexe 7 Utilisation dODBC


avec Windev ___________________ 201

Recherche denregistrements ________224

Introduction ___________________________ 202


Connexion Dconnexion .................... 202
Recherche denregistrements ________ 204
Ecriture dans les bases _______________ 206
Rcupration des erreurs ................... 208

Utilisation de lobjet TQuery ............... 225


Utilisation de lobjet TTable ............... 227
Ecriture dans les bases _______________229
Utilisation de lobjet TQuery ............... 230
Utilisation de lobjet TTable ............... 232
Rcupration des erreurs _____________234
VIII
Sage France

Sommaire gnral

Annexe 10 Utilisation des


fonctions avances Sage______ 237

GetParamValeurDate ()......................................251

Introduction ___________________________ 238

Visual FoxPro__________________________253

API Sage .............................................. 238

API Sage .............................................. 253

DLL ActiveX......................................... 239

TotalMvtSolde () .................................................253
CIALDocNouvPiece () ........................................254
GetParamValeurDate ()......................................255
DLL ActiveX........................................................256

Principe dutilisation ........................................... 239


Descriptif des fonctions utilises
dans les exemples .............................. 240
TotalMvtSolde (CG_Num, CT_Num,
JO_Num, Deb, Fin, [Rsultat] ) ......................... 240
CIALDocNouvPiece (DO_Type,
DO_SOUCHE, [Rsultat] )................................. 241
GetParamValeurDate (TypeBase, NomTable,
NomChamp, [Rsultat] ) .................................... 241
Visual Basic ___________________________ 242
API Sage .............................................. 242
TotalMvtSolde () ................................................ 242
CIALDocNouvPiece ()........................................ 243
GetParamValeurDate () ..................................... 244
DLL ActiveX......................................... 245
TotalMvtSolde () ................................................ 245
CIALDocNouvPiece ()........................................ 246
GetParamValeurDate () ..................................... 247

DLL ActiveX......................................... 252

Dclaration des fonctions avances


Sage .................................................... 256
Delphi __________________________________257
API Sage .............................................. 257
TotalMvtSolde () .................................................257
CIALDocNouvPiece () ........................................258
GetParamValeurDate ()......................................259
DLL ActiveX......................................... 261
TotalMvtSolde () .................................................261
CIALDocNouvPiece () ........................................262
GetParamValeurDate ()......................................263
Dclaration des fonctions avances
Sage .................................................... 264

Dclaration des fonctions avances


Sage..................................................... 247
WinDev ________________________________ 248
API Sage .............................................. 248
TotalMvtSolde () ................................................ 248
CIALDocNouvPiece ()........................................ 250
IX
Sage France

Chapitre 1 Gnralits sur le


programme
Dfinition dODBC ___________________________________________ 2
Principe de fonctionnement ________________________________ 2
Compatibilit avec les bases de la ligne 100 Windows ____ 3
Principe dutilisation dans les applications ________________ 4
Contenu du Kit ODBC 100 __________________________________________ 5

Sources de donnes ________________________________________ 7


Dfinition ___________________________________________________________ 7
Types de Sources de Donnes _____________________________________ 9
Cration dune source de donnes Sage_________________________ 11

1
Sage France

Chapitre 1 Gnralits sur le programme

Dfinition dODBC
La norme ODBC (Open Database Connectivity) permet de se connecter une source dinformations
externe et dutiliser ses donnes. Elle est gre par le Gestionnaire ODBC qui contient les drivers
ncessaires cette procdure. Ce gestionnaire se place automatiquement dans le Panneau de
configuration de Microsoft Windows lors de linstallation de la plupart des bases de donnes. Les
drivers des fichiers que vous souhaitez interroger sont, en gnral, installs automatiquement avec la
plupart des applications.

Principe de fonctionnement
La norme ODBC permet aux applications qui lutilisent, dexploiter la pleine puissance du langage de
requte SQL (Structured Query Language). Elle est gnralement utilise pour les connexions aux
bases implantes sur des serveurs. Des drivers ODBC sont disponibles pour Oracle, Microsoft SQL
Server, Sybase SQL Server et de nombreux autres gestionnaires de bases de donnes sur un grand
nombre de plates-formes.
Le schma ci-aprs permet de comprendre le fonctionnement dODBC. Lapplication envoie une
requte SQL. Le Driver Manager intercepte cet appel et le redirige vers le bon driver ODBC. Ce
driver analyse alors la requte SQL puis rcupre les donnes par lintermdiaire de la source de
donnes. Ces donnes sont alors renvoyes lapplication. La source de donnes est donc le lien entre
lapplication et le fichier physique.

2
Sage France

Chapitre 1 Gnralits sur le programme

Compatibilit avec les bases de la ligne 100 Windows


Avec Sage Kit ODBC 100, vous pouvez accder aux bases (fichier physique) des principaux produits
de la ligne 100 propritaire, savoir :

Comptabilit 100,

Gestion Commerciale 100,

Saisie de Caisse Dcentralise 100

Immobilisations 100

Moyen de paiement 100

Manager 100

Paie Windows 100

La plupart des tables sont en lecture/criture. Vous trouverez plus avant le dtail de chaque table en
lecture et criture.

3
Sage France

Chapitre 1 Gnralits sur le programme

Principe dutilisation dans les applications


Chaque application compatible ODBC peut se connecter aux bases de la ligne 100 Windows. Les
applications compatibles ODBC testes sont dcrites en Annexe de ce guide. Le principe est en fait le
mme pour chaque application. On se connecte une source de donnes qui permet daccder aux
donnes que lon dsire via des requtes SQL.
Les donnes peuvent tre alors lues partir dun systme de gestion de bases de donnes comme
Microsoft Access ou de gnrateurs de requtes comme Query de Microsoft Excel qui utilisent le
gestionnaire ODBC.
Vous pouvez ainsi gnrer dans Microsoft Access vos propres modles dimpression en slectionnant
les donnes dont vous avez rellement besoin et en les prsentant sous la forme de formulaires ou
dtats que vous paramtrez trs facilement. De plus, il vous est possible avec Microsoft Excel par
lintermdiaire de Microsoft Query, de crer des graphiques complexes avec vos donnes de
gestion.
Pour lcriture dans les bases de la ligne 100 Windows, des explications et des exemples sont fournis
dans ce guide. Nanmoins, pour lcriture, il vaut mieux utiliser un outil de dveloppement comme
par exemple Visual basic ou Delphi pour pouvoir grer les diffrents cas possibles derreurs. Ces
erreurs sont gres par le driver. Si par exemple vous dtruisez un compte alors quil y a des critures
associes, le driver renverra une erreur et ne crera pas le compte. Il faudra intercepter cette erreur et
en fonction du type de lerreur agir en consquence.

4
Sage France

Chapitre 1 Gnralits sur le programme

Contenu du Kit ODBC 100


Base de Donnes : ACC2000EX.MDB de Microsoft ACCESS
La base de donnes ACC2000EX.MDB fournie avec le kit, vous permet de vous familiariser avec la
structure des Fichiers ligne 100 via ODBC (en loccurrence pour lexemple fourni, ceux de la
Comptabilit 100, la Gestion commerciale 100) et vous montre au travers de certains Formulaires et
Etats ce que lon peut faire rellement avec ODBC au travers notamment dexemples dcriture dans
les bases Sage.
Base de Donnes: ODBCNEW2000.MDB de Microsoft ACCESS
Cette base de donnes contient plusieurs formulaires dj fournis dans la base de donnes exemple
ACC2000EX.MDB. Vous pouvez toutefois, vous en servir si vous crez votre propre base avec des
attaches de tables du Kit ODBC 100. Le premier formulaire vous permet de crer automatiquement les
jointures entre les tables, le deuxime vous montre les champs de toutes les tables de votre base et le
troisime vous permet de crer le descriptif de chaque champ des tables ODBC.
Exemple dutilisation du Driver ODBC 100 avec Excel et Visual Basic (ExExc2000.XLS)
Ce classeur vous prsente des exemples de connexion ODBC avec Microsoft Excel via Visual
Basic.
Bases Bijou
Les fichiers dexemples sont ceux de la base BIJOU, savoir C_Bijou.Mae, G_Bijou.Gcm,
IM_Bijou.Imo et T_Bijou.Mdp.
Exemple sur Crystal Report version 8 : COMPTET.RPT
Exemple dtat cr avec Crystal Report : Grand-livre des Tiers.
Fichier texte : t_descri.txt
Descriptif de toutes les tables, champs ODBC.

5
Sage France

Chapitre 1 Gnralits sur le programme


Fichier texte : fonction.txt
Dclaration des fonctions volues dans Visual Basic (Visual Basic , Access et Excel ), Delphi et
Visual FoxPro.
Fichier texte : erreurs.txt
Description de l'ensemble des codes erreurs pour l'criture dans les bases de la ligne 100 Windows.
Fichier ActiveX.Txt
Description de lensemble des objets de lactiveX ASD100.Dll avec leurs proprits et mthodes.

6
Sage France

Chapitre 1 Gnralits sur le programme

Sources de donnes

Dfinition
Une source de donnes est le lien entre lapplication et le driver ODBC. Elle est compose de 2
lments :

Un Driver ODBC,

Un ou plusieurs fichiers physiques associs.

Vous trouverez ci-dessous les diffrents cas suivant le type de base de donnes Sage Ligne 100.
Comptabilit 100

Driver : Sage Comptabilit 100

Fichier physique : fichier comptable (*.MAE)

Gestion Commerciale 100

Driver : Sage Gestion commerciale 100

Fichiers physiques :

fichier commercial (*.GCM)

fichier comptable (*.MAE)

Les mots de passe de ces fichiers (mots de passe des applications Comptabilit 100 et Gestion
Commerciale 100) doivent tre identiques, sinon la connexion chouera.
Immobilisations 100

Driver : Sage Immobilisations 100

Fichiers physiques :

fichier immobilisations (*.IMO)

fichier comptable (*.MAE)


7
Sage France

Chapitre 1 Gnralits sur le programme


Manager 100

Driver : Sage Manager 100

Fichiers physiques :

fichier bibliothque (*.CHP)

fichier annexe (*.CHL)

Moyen de Paiement 100

Driver : Sage Moyen de Paiement 100

Fichiers physiques :

Fichier moyens de paiement (*.MDP)

fichier comptable (*.MAE)

Paie Windows 100

Driver : Sage Paie 100

Fichier physique : fichier paie (*.PRH)

8
Sage France

Chapitre 1 Gnralits sur le programme

Types de Sources de Donnes


Il existe 3 types de sources de donnes :

Utilisateur,

Systme,

Fichier.

Utilisateur
Une source de donnes de type Utilisateur nest visible que par lutilisateur connect sur sa
machine et uniquement sur celle-ci.
Un utilisateur connect sur un poste Windows NT sous le login DUPONT ne verra donc que les
sources de donnes que celui-ci a cres sur cette machine.
Systme
Une source de donnes de type Systme est visible par tous les utilisateurs connects sur sa
machine et uniquement sur celle-ci.
Un utilisateur connect sur un poste Windows NT sous le login DUPONT verra donc toutes les
sources de donnes cres sur cette machine.
Ce type de sources de donnes est utile lorsque vous voulez par exemple excuter une tche planifie
pour un programme que vous avez cr. Le compte sous lequel va sexcuter la tche est gnralement
le compte SYSTEM ou un compte qui nest pas celui avec lequel vous testez votre programme.
Si vous utilisez une source de donnes Utilisateur la tche planifie provoquera une erreur, mais
fonctionnera correctement si vous utilisez une source de donnes de type SYSTEM.
Fichier
Les sources de donnes File DSN fournies sont

ComptaC_Bijou.dsn

GestcomG_Bijou.dsn

Param_Bijou.dsn

Immo_Bijou.dsn

PaieP_Essai.dsn
9
Sage France

Chapitre 1 Gnralits sur le programme


Ce fichier a le format suivant :
[ODBC]
DSN=Nom_Source_de_donnes_existante (systme ou utilisateur)
La source de donnes systme ou utilisateur doit exister sur votre poste.

10
Sage France

Chapitre 1 Gnralits sur le programme

Cration dune source de donnes Sage


La cration dune source de donnes Sage seffectue via ladministrateur ODBC 32 bits du Panneau
de configuration.
Ci-dessous est explicit un exemple de cration dune source de donnes Utilisateur de type Gestion
commerciale 100 : GestCom_Ligne 100

1.

Cliquez sur licne ODBC 32 bits sous Windows 95 ou 98, ou sur Sources de donnes
(ODBC) dans Outils dadministration sous Windows NT 4, 2000 ou XP.

11
Sage France

Chapitre 1 Gnralits sur le programme

2.

Cliquez sur le bouton Ajouter.

3.

Cliquez sur le bouton Terminer.

4.

Slectionnez dans la fentre Installation CBase , les fichiers respectivement de comptabilit et


de gestion commerciale (*.GCM) et (*.MAE).

12
Sage France

Chapitre 1 Gnralits sur le programme

5.

Cliquez alors sur le bouton OK pour terminer la cration de cette source de donnes.

Le premier fichier est obligatoire, le deuxime est facultatif. Cette association vous permet d'ouvrir
directement toutes les tables de gestion commerciale et de comptabilit, ou toutes les tables
d'immobilisations et de comptabilit, de mme pour les autres bases.
Pour l'exemple ci-dessus, si vous utilisez Microsoft QUERY, en slectionnant la source de donnes
Gestcom_Ligne100 vous verrez alors la fois les tables de gestion commerciale et de comptabilit,
comme ci-dessous.

Lorsque le paramtrage est effectu, cliquez sur le bouton OK pour enregistrer cette Source de
Donnes. Lcriture des informations relatives cette source de donnes seffectue dans la Base de
Registre de Windows.

13
Sage France

Cration dune DSN de type fichier


Automatiquement la cration de DSN utilisateur ou DSN systme

Lorsque vous crez des sources utilisateurs ou systmes, une source de donnes de type fichier (File
DSN) est automatiquement cre avec le nom de la source de donnes utilisateur ou systme avec
lextension .DSN.
Manuellement

Il nest pas possible de crer directement des sources de donnes de type fichier par ladministrateur
ODBC 32 bits. Vous devez crer ce fichier de toute pice. Voici ci-dessous un exemple dun tel
fichier : dition du fichier ComptaC_Bijou.dsn
[ODBC]
DSN=ComptaC_Bijou
Il suffit donc dindiquer dans la premire ligne :
[ODBC]
Sur la deuxime ligne, indiquer :
DSN= et le nom dune source de donnes utilisateur ou systme existante, ici ComptaC_Bijou.
Enregistrer ensuite ce fichier dans le rpertoire Program Files\Fichiers communs\ODBC\Data
Sources avec lextension .DSN. Ce rpertoire par dfaut peut tre chang grce ladministrateur
ODBC 32 bits.
Intrt de ce type de sources de donnes

Certains programmes, comme Microsoft Query , demandent exclusivement des sources de donnes de
type fichier (File DSN).
Le seul moyen pour que cela fonctionne avec ce logiciel est de crer auparavant des File DSN, comme
ci-dessus, soit manuellement, soit automatiquement. Vous pourrez ensuite avoir accs cette source
de donnes dans Microsoft Query et lutiliser, comme toute autre source de donnes.

14
Sage France

Chapitre 2 Fonctions avances et


DLL Active X : dclaration des
fonctions
Les fonctions avances Sage______________________________ 16
Introduction gnrale ____________________________________________ 16
Description des fonctions de lAPI Sage _________________________ 17
Description des fonctions avances de la comptabilit_________ 18
Description des fonctions avances de la Gestion
Commerciale _____________________________________________________ 27
Description des fonctions avances de la Paie Maestria
Windows __________________________________________________________ 82

Description des objets de lActiveX Sage _________________ 85


Introduction ______________________________________________________ 85
Principe dutilisation de LActiveX Sage _________________________ 86
Exemple de Proprits de lobjet CPTA (base comptable) ______ 87
Exemple de proprits de lobjet CIAL (Gestion
Commerciale) ____________________________________________________ 88
Proprits de lobjet Param (pages paramtres) ________________ 89
Proprits de lobjet Fsal (la paie Maestria Windows)___________ 90

15
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Les fonctions avances Sage


Introduction gnrale
Vous avez accs dans Sage ODBC 100 diffrentes fonctions volues. Ces fonctions avances sont
disponibles pour la comptabilit, la gestion commerciale, la Paie Maestria et la Paie Windows. Ces
fonctions ont t cres afin de faciliter les dveloppements. Les fonctions telles que le calcul du CA
Net Client ou le total TTC dun document auraient ncessit un dveloppement important et
compliqu si vous aviez du les raliser vous-mme.
Celles-ci sont stockes dans les diffrentes librairies fournies avec ce kit :

CptaLib.Dll

CialLib.Dll

ImmoLib.Dll

TresLib.Dll

FSalLib.Dll

PMS1Lib.Dll

Il existe deux mthodes pour appeler ces fonctions :

La premire consiste lappel de fonctions externes (API Sage). Ces fonctions se trouvent dans
la DLL CBODBC32.DLL. Cette mthode est utilisable par tous les logiciels 32 bits capables
dappeler des fonctions externes.

La seconde consiste lutilisation dune DLL ActiveX (ASD100.DLL). Cette mthode est
utilisable par tous les logiciels 32 bits capables dutiliser la technologie ActiveX.

16
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des fonctions de lAPI Sage


Introduction
Chaque fonction retourne un code erreur qui indique si la procdure sest bien excute. Si un
paramtre est incorrect, un code erreur est retourn par la fonction. Si la valeur du code erreur est 0,
cela indique que la fonction a retourn un rsultat.
Le rsultat que vous recherchez est toujours le dernier paramtre de la fonction (paramtre dentre /
sortie).
Ces fonctions ne sont utilisables que si une connexion a t effectue auparavant avec la base
concerne.
De mme,i l faut imprativement respecter la syntaxe Minuscules/Majuscules de ces fonctions, sinon
cela ne fonctionnera pas.
De mme, il faut bien respecter les types de donnes des paramtres de ces fonctions. Des exemples
dutilisation sous ACCESS, VISUAL BASIC, VISUAL FOX PRO, DELPHI et WINDEV sont fournis en
Annexe.
Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la
base comptable.
Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC,
la base comptable et la base commerciale.

17
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des fonctions avances de la comptabilit


TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total des mouvements dbit connaissant le compte gnral
CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut
Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total du mouvement dbit
TotalMvtCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Credit)
Cette fonction permet de calculer le total des mouvements crdit connaissant le compte gnral
CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut
Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.

18
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total du mouvement crdit
TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le solde des mouvements connaissant le compte gnral CG_Num,
le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la
date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Solde

19
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


TotalDevDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total des dbits en devise connaissant le compte gnral
CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut
Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total des dbits en devise
TotalDevCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total crdit en devise connaissant le compte gnral CG_Num, le
compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date
de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
20
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total crdit en devise
TotalDevSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le solde en devise connaissant le compte gnral CG_Num, le
compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date
de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral
CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers
JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Solde en devise

21
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


TotalRepDebit (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total des mouvements dbit connaissant le compte reporting
CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total du mouvement dbit
TotalRepCredit (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total des mouvements crdit connaissant le compte reporting
CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin

22
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Rsultat (Double) : Total du mouvement crdit
TotalRepSolde (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le solde des mouvements connaissant le compte reporting CR_Num,
le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Solde (Double) : Solde
TotalRepDevDebit (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total des dbits en devise connaissant le compte reporting
CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting


23
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


RepDevDebit (Double) : Total des dbits en devise
TotalRepDevCredit (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le total crdit en devise connaissant le compte reporting CR_Num,
le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

CR_Num (Chane Alphanumrique maj. 13 caractres) : Numro de compte reporting


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


DevCredit (Double) : Total crdit en devise
TotalRepDevSolde (CR_Num, JO_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer le solde en devise connaissant le compte reporting CR_Num, le code
journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit avoir une valeur non nulle.
24
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Entre

CR_Num (Chane Alphanumrique maj. 13 caractres) : Numro de compte reporting


JO_Num (Chane de caractres 6 caractres max) : Code Journal
Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


DevSolde (Double) : Solde en devise
RealisationBudg (BD_Num, Deb, Fin, Resultat)
Cette fonction permet de calculer la ralisation budgtaire connaissant le code budget, la date de dbut
de priode et la date de fin de priode.
Les champs Deb et Fin peuvent tre vide, alors que BD_Num doit obligatoirement avoir une valeur
non nulle.
En Entre

BD_Num (Chane Alphanumrique Maj. 13 caractres max) : Numro budgtaire


Deb (Chane de caractres au format jjmmaa) : Date de dbut
Fin (Chane de caractres au format jjmmaa) : Date de fin
En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Realisation (Reel) : Ralisation budgtaire
JournalNouvPiece (JO_Num, JM_Date, Resultat )
Cette fonction permet de calculer le nouveau numro de pice en saisie dun journal dfini par son
code journal JO_Num et sa priode JM_Date.
En Entre

JO_Num (Chane Alphanumrique Maj. 7 caractres max) : Code journal


JM_Date (Chane de caractres au format jjmmaa) : Date de dbut
25
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Err (Entier) : Code erreur retourn par la fonction.


Resultat (Chane de caractres) : Numro de pice

26
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des fonctions avances de la Gestion Commerciale


CIALLigneMontantHT (DL_No, Resultat)
Calcul du montant HT pour une ligne de document. Ce champ est prsent pour un souci de
compatibilit avec les versions prcdentes du driver ODBC. A partir de la version 11.00, le HT est
stock la ligne de document (champ DL_MontantHT). Il est prfrable dutiliser le champ
DL_MontantHT pour vos dveloppements futurs.
En Entre

DL_NO (Entier long): Numro interne de la ligne


En Sortie

Rsultat (Double): Valeur du HT.


Err (Entier) : Code erreur retourn par la fonction.
CIALLigneMontantTTC (DL_NO, RESULTAT)
Calcul du montant TTC pour une ligne de document. Ce champ est prsent pour un souci de
compatibilit avec les versions prcdentes du driver ODBC. A partir de la version 11, le TTC est
stock la ligne de document (champ DL_MontantTTC). Il est prfrable dutiliser le champ
DL_MontantTTC pour vos dveloppements futurs.
En Entre

DL_NO (Entier long): Numro interne de la ligne


En Sortie

Rsultat (Double): Valeur du TTC.


Err (Entier) : Code erreur retourn par la fonction.
CIALLigneRemiseGlobal (DL_NO, RESULTAT)
Calcul du taux de remise global pour une ligne de document.
En Entre

DL_NO (Entier long): Numro interne de la ligne

27
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double): Valeur du taux de remise global.


Err (Entier) : Code erreur retourn par la fonction.
CIALLignePrixUNet (DL_NO, RESULTAT)
Calcul du prix unitaire net pour une ligne de document.
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Valeur du prix unitaire net.


Err (Entier) : Code erreur retourn par la fonction.
CIALLignePrixUNetTTC (DL_NO, RESULTAT)
Calcul du prix unitaire net TTC pour une ligne de document.
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Valeur du prix unitaire net TTC.


Err (Entier) : Code erreur retourn par la fonction.
CIALLignePrixUNetDevise (DL_NO, RESULTAT)
Calcul du prix unitaire net en devise pour une ligne de document.
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Valeur du prix unitaire net en devise.


Err (Entier) : Code erreur retourn par la fonction.
28
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALLigneMontantTaxes (DL_NO, RESULTAT)
Calcul du montant des taxes pour une ligne de document.
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Montant total des taxes.


Err (Entier) : Code erreur retourn par la fonction.
CIALLigneMontantHTSigne (DL_NO, RESULTAT)
Calcul du montant HT sign en fonction du type de document (positif ou ngatif).
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Montant HT sign.


Err (Entier) : Code erreur retourn par la fonction.
CIALLigneMontantTTCSigne (DL_NO, RESULTAT)
Calcul du montant TTC sign en fonction du type de document (positif ou ngatif).
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Montant TTC sign.


Err (Entier) : Code erreur retourn par la fonction.

29
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALLigneMontantQteSigne (DL_NO, RESULTAT)
Calcul de la quantit, signe en fonction du type de document (positif ou ngatif).
En Entre

DL_NO (Entier): Numro interne de la ligne


En Sortie

Rsultat (Double): Total quantit sign.


Err (Entier) : Code erreur retourn par la fonction.
Algorithme de calcul des quantits signes
Si la rfrence article est vide ou remise de pied ou remise exceptionnelle alors
0
fin si
Si domaine des ventes et le document nest pas un devis alors
Si Type de document = Bon de livraison ou (type de document = facture et le type de pice
livre = facture) alors
-Quantit
sinon si le type de document est une reprise alors
Quantit
sinon si le type de document est une facture et le type de pice livre est un bon de retour
alors
-Quantit
sinon si le type de document est une archive alors
-Quantit
fin si
sinon si domaine dachat alors
Si Type de document = Bon de livraison ou (type de document = facture et le type de pice
livre = facture) alors
-Quantit
30
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


sinon si le type de document est une reprise alors
Quantit
sinon si le type de document est une facture et le type de pice livre est un bon de retour
alors
-Quantit
sinon si le type de document est une archive alors
si le mouvement de stock est une entre ou une sortie alors
Quantit
fin si
fin si
sinon
si le type de document est un mouvement dentre alors
Quantit
sinon si le type de document est un mouvement de sortie alors
-Quantit
sinon si (le type de document est un virement ou le type est un bon de fabrication) alors
si le mouvement de stock est une sortie alors
-Quantit
sinon
Quantit
fin si
sinon si le type de document est une archive alors
si le mouvement de stock est une entre
Quantit
fin si
fin si

31
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALDocTotalHT (DO_Type, DO_Piece, Rsultat)
Calcul du montant total HT pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant HT du document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocEscompte (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant de lescompte pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Valeur de lescompte.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalHTNet (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant total HT net pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant HT net du document.


Err (Entier) : Code erreur retourn par la fonction.

32
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALDocBaseTaxes (DO_Type, DO_Piece, Ntaxe)
Cette fonction permet de calculer la base de taxe pour le document dfini par son type et son numro
de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
NTaxe (Entier): Numro de taxe
En Sortie

Rsultat (Double): Base de taxes.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocMontantTaxes (DO_Type, DO_Piece, Ntaxe)
Calcul du montant des taxes pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
NTaxe (Entier): Numro de taxe
En Sortie

Rsultat (Double): Montant des taxes.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocMontantTotalTaxes (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant total des taxes pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document

33
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double): Montant total des taxes.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalTTC (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant total TTC pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant TTC du document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalPrixRevient (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du prix de revient pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant du prix de revient pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalMarge (DO_TYPE, DO_PIECE, RESULTAT)
Cette fonction permet de calculer la marge pour le document dfini par son type et son numro de
pice.
En Entre

DO_Type (Entier): Type de document


34
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Marge du document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocNetaPayer (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du net payer pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant du net payer pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocMontantEcheance (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant chance pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En sortie

Rsultat (Double): Montant chance pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocPoidsNet (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du poids net pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


35
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Poids net pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocPoidsBrut (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du poids brut pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Poids brut pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocQuantites (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du total des quantits pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Total quantits pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocQtesColisee (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du total des quantits colises pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


36
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Total quantits pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalHTDev (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du total HT en devise pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Total HT en devise pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocEscompteDev (DO_TYPE, DO_PIECE, RESULTAT)
Cette fonction permet de calculer lescompte en devise pour le document dfini par son type et son
numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Total de lescompte en devise pour le document.


Err (Entier) : Code erreur retourn par la fonction.

37
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALDocTotalHTNetDev (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du total HT Net en devise pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Total HT Net en devise pour le document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocMontantTaxesDev (DO_Type, DO_Piece, Ntaxe, RESULTAT)
Calcul du montant des taxes en devise pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
NTaxe (Entier): Numro de taxe
En Sortie

Rsultat (Double): Montant des taxes en devise.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocMontantTotalTaxesDev (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant total des taxes en devise pour le document dfini par son type et son numro de
pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant total des taxes en devise.


38
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Err (Entier) : Code erreur retourn par la fonction.
CIALDocTotalTTCDev (DO_TYPE, DO_PIECE, RESULTAT)
Calcul du montant total TTC en devise pour le document dfini par son type et son numro de pice.
En Entre

DO_Type (Entier): Type de document


DO_Piece (Chane de caractres): Numro de pice du document
En Sortie

Rsultat (Double): Montant TTC en devise du document.


Err (Entier) : Code erreur retourn par la fonction.
CIALDocNouvPiece (DO_Type, DO_SOUCHE, RESULTAT)
Fonction retournant le prochain numro de document disponible, en fonction du numro de souche.
En Entre

DO_Type (Entier): Type de document


DO_Souche (Entier) : Numro de souche du document
En Sortie

Rsultat (Chane de caractres): Nouveau numro de document.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersCAHTBrut (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du CA HT Brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur
le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.

39
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : CA HT Brut.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersCAHTNet (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du CA HT Net pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur
le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : CA HT Net.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersCATTC (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du CA TTC pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le
type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur

40
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : CA HT Brut.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersPrixRevient (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du Prix de revient pour le client ou fournisseur CT_NUM, avec une slection sur la priode et
sur le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Prix de revient.


Err (Entier) : Code erreur retourn par la fonction.

41
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersQuantites (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du total quantits pour le client ou fournisseur CT_NUM, avec une slection sur la priode et
sur le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total Quantits pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersQtesColisee (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du total quantits colises pour le client ou fournisseur CT_NUM, avec une slection sur la
priode et sur le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur les toutes dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total Quantits colises pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
42
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersPoidsNet (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du poids net pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le
type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids net pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersPoidsBrut (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Calcul du poids brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le
type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids brut pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
43
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersMarge (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Cette fonction permet de calculer la marge pour le client ou fournisseur CT_NUM, avec une slection
sur la priode et sur le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total de la Marge pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersRemise (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, RESULTAT)
Cette fonction permet de calculer le pourcentage de remise pour le client ou fournisseur CT_NUM,
avec une slection sur la priode et sur le type de document.
En Entre

CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Calcul du pourcentage de remise pour le tiers.


Err (Entier) : Code erreur retourn par la fonction.
44
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersSolde(CT_NUM, Rsultat)
Cette fonction permet de calculer le solde la date systme (volet solvalibit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Solde.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersEchus1(CT_NUM, RESULTAT)
Cette fonction permet de calculer le solde chus 1 mois (volet solvalibit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Solde chus 1 mois.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersEchus2(CT_NUM, RESULTAT)
Cette fonction permet de calculer le solde chus 2 mois (volet solvabilit de la fiche Tiers de la
Gestion Commerciale).
En Entre
CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur
En Sortie

Rsultat (Double): Solde chus 2 mois.


Err (Entier) : Code erreur retourn par la fonction.

45
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersEchus3(CT_NUM, RESULTAT)
Cette fonction permet de calculer le solde chus 3 mois (volet solvabilit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Solde chus 3 mois.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersNonEchus(CT_NUM, RESULTAT)
Cette fonction permet de calculer le solde non chus (volet solvabilit de la fiche Tiers de la Gestion
Commerciale).
En Entre

CT_NUM(Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Solde non chus.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersDepassement1(CT_NUM, RESULTAT)
Cette fonction permet de calculer le dpassement (volet solvabilit de la fiche Tiers de la Gestion
Commerciale).
En Entre

CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Dpassement.


Err (Entier) : Code erreur retourn par la fonction.

46
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersDepassement2(CT_NUM, RESULTAT)
Cette fonction permet de calculer le dpassement (volet solvabilit de la fiche Tiers de la Gestion
Commerciale).
En Entre

CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Dpassement.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersBLFA(CT_NUM, RESULTAT)
Cette fonction permet de calculer le portefeuille BL et BA (volet solvabilit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Portefeuille BL et BA.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersRisque(CT_NUM, RESULTAT)
Cette fonction permet de calculer le risque rel (volet solvabilit de la fiche Tiers de la Gestion
Commerciale).
En Entre

CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Risque rel.


Err (Entier) : Code erreur retourn par la fonction.

47
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALTiersBC(CT_NUM, RESULTAT)
Cette fonction permet de calculer le portefeuille BC (volet solvabilit de la fiche Tiers de la Gestion
Commerciale).
En Entre

CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Double): Portefeuille BC.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersFact(CT_NUM, RESULTAT)
Cette fonction permet de calculer la date de la dernire facture (volet solvabilit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Date): Date de la dernire facture.


Err (Entier) : Code erreur retourn par la fonction.
CIALTiersRegl(CT_NUM, RESULTAT)
Cette fonction permet de calculer la date de dernier rglement (volet solvabilit de la fiche Tiers de la
Gestion Commerciale).
En Entre

CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur


En Sortie

Rsultat (Date): Date de la dernire facture.


Err (Entier) : Code erreur retourn par la fonction.

48
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtCAHTBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du CA HT Brut pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA HT Brut pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtCAHTNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du CA HT Net pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
49
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA HT Net pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtCATTC (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du CA TTC pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers,
la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA TTC pour larticle.


Err (Entier) : Code erreur retourn par la fonction.

50
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtRemise (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du taux de remise moyen pour larticle dfini par sa rfrence article AR_Ref, avec une
slection sur le tiers, la priode et sur le type de document.
En Entre

AR_Ref (Ch

ane de caractres :18 maximum) : Rfrence article

CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la


chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du taux de remise moyen pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtPrixRevient (AR_R
Rsultat)

ef, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,

Calcul du total prix de revient pour larticle dfini par sa rfrence article AR_Ref, avec une slection
sur le tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
51
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du Prix de revient pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtMarge (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Cette fonction permet de calculer la Marge pour larticle dfini par sa rfrence article AR_Ref, avec
une slection sur le tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Marge pour larticle.


Err (Entier) : Code erreur retourn par la fonction.

52
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtQuantites (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du total quantits pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total quantits pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtQtesColisee (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du total quantit colise pour larticle dfini par sa rfrence article AR_Ref, avec une
slection sur le tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
53
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total quantit colise pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtPoidsNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du total poids net pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids net pour larticle.


Err (Entier) : Code erreur retourn par la fonction.

54
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtPoidsBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul du total poids brut pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur
le tiers, la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids brut pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtMarge (AR_REF, CT_NumA, CT_NumDe, Debut, Fin, TypeDocDe, TypeDocA,
Rsultat)
Calcul de la marge pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers,
la priode et sur le type de document.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
55
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Marge pour larticle.


Err (Entier) : Code erreur retourn par la fonction.
CIALArtCompteA (AR_Ref, Domaine, CatCompta, Rsultat)
Calcul de la section analytique, pour un article, une catgorie comptable et un domaine (Vente, Achat,
Stock).
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock
CatCompta (Entier) : Catgorie comptable
En Sortie

Rsultat (Chane de caractres ) : Section analytique


Err (Entier) : Code erreur retourn par la fonction.
CIALArtCompteG (AR_Ref, Domaine, CatCompta, Rsultat)
Calcul du compte gnral, pour un article, une catgorie comptable et un domaine (Vente, Achat,
Stock).
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock
CatCompta (Entier) : Catgorie comptable

56
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Chane de caractres ) : Compte gnral


Err (Entier) : Code erreur retourn par la fonction.
CIALArtTaxe1 (AR_Ref, Domaine, CatCompta, Taxe1)
Calcul du compte de taxe 1 , pour un article, une catgorie comptable et un domaine (Vente, Achat,
Stock).
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock
CatCompta (Entier) : Catgorie comptable
En Sortie

Rsultat (Chane de caractres ) : Compte de taxe 1


Err (Entier) : Code erreur retourn par la fonction.
CIALArtTaxe2 (AR_Ref, Domaine, CatCompta, Rsultat)
Calcul du compte de taxe 2, pour un article, une catgorie comptable et un domaine (Vente, Achat,
Stock).
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock
CatCompta (Entier) : Catgorie comptable
En Sortie

Rsultat (Chane de caractres ) : Compte de taxe 2


Err (Entier) : Code erreur retourn par la fonction.

57
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtTaxe3 (AR_Ref, Domaine, CatCompta, Rsultat)
Calcul du compte de taxe 3, pour un article, une catgorie comptable et un domaine (Vente, Achat,
Stock).
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock
CatCompta (Entier) : Catgorie comptable
En Sortie

Rsultat (Chane de caractres ) : Compte de taxe 3


Err (Entier) : Code erreur retourn par la fonction.
CIALArtPrixCat (AR_Ref, CatTarif, AG_No1, Ag_No2, Rsultat)
Calcul du prix de vente pour larticle, la catgorie tarifaire et les gamme 1 et gamme 2 respectivement
dfinis par AR_REF, CatTarif, AG_NO1 et AG_NO2.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CatTarif (Entier) : Catgorie tarifaire (1 32)
AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur
0
AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la
valeur 0
En Sortie

Rsultat (Double ) : Prix de vente


Err (Entier) : Code erreur retourn par la fonction.

58
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtCoefCat (AR_Ref, CatTarif, Rsultat)
Calcul du coefficient pour larticle, la catgorie tarifaire respectivement dfinis par AR_REF et
CatTarif,.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CatTarif (Entier) : Catgorie tarifaire (1 32)
En Sortie

Rsultat (Double ) : Coefficient


Err (Entier) : Code erreur retourn par la fonction.
CIALArtPrixClient (AR_Ref, CT_Num, CatTarif, AG_No1, AG_No2, Rsultat)
Calcul du prix de vente pour larticle, le tiers, la catgorie tarifaire et les gamme 1 et gamme 2
respectivement dfinis par AR_REF, CT_NUM, CatTarif, AG_NO1 et AG_NO2. Si le tiers nexiste
pas, le prix est calcul par rapport la catgorie tarifaire CatTarif
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NUM (Chane de caractres :17 maximum) : Client
CatTarif (Entier) : Catgorie tarifaire (1 32)
AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur
0
AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la
valeur 0
En Sortie

Rsultat (Double ) : Prix de vente


Err (Entier) : Code erreur retourn par la fonction.

59
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALArtCoefClient (AR_Ref, CatTarif, Rsultat)
Calcul du coefficient pour larticle, le tiers, la catgorie tarifaire respectivement dfinis par AR_REF,
CT_NUM et CatTarif,.
En Entre

AR_Ref (Chane de caractres :18 maximum) : Rfrence article


CT_NUM (Chane de caractres :17 maximum) : Client
CatTarif (Entier) : Catgorie tarifaire (1 32)
En Sortie

Rsultat (Double ) : Coefficient


Err (Entier) : Code erreur retourn par la fonction.
CIALArtPrixFourniss(AR_Ref, CT_NUM,AG_NO1, AG_NO2, Rsultat)
Calcul du prix dachat pour le fournisseur CT_Num de larticle AR_Ref.
En Entre

AR_Ref(Chane de caractres :18 maximum): Rfrence article


CT_NUM (Chane de caractres :17 maximum): Client
AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur
0
AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la
valeur 0
En Sortie

Rsultat (Double ): Coefficient


CIALFamCAHTBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du CA HT Brut pour la famille darticles dfinie par son code famille, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


60
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA HT Brut pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamCAHTNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du CA HT Net pour la famille darticles dfinie par son code famille, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

61
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double) : Total du CA HT Net pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamCATTC (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du CA TTC pour la famille darticles dfinie par son code famille, avec une slection sur le
tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA TTC pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamRemise (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du taux de remise moyen pour la famille darticles dfinie par son code famille, avec une
slection sur le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


62
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du taux de remise moyen pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamPrixRevient (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du total prix de revient pour la famille darticles dfinie par son code famille, avec une
slection sur le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

63
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double) : Total du Prix de revient pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamMarge (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Cette fonction permet de calculer la Marge pour la famille darticles dfinie par son code famille, avec
une slection sur le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Marge pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamQuantites (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du total quantits pour la famille darticles dfinie par son code famille, avec une slection sur
le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


64
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total quantits pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamQtesColisee (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du total quantit colise pour la famille darticles dfinie par son code famille, avec une
slection sur le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :18 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

65
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double) : Total quantit colise pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamPoidsNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du total poids net pour la famille dfinie par son code famille, avec une slection sur le tiers, la
priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids net pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALFamPoidsBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe,
TypeDocA, Rsultat)
Calcul du total poids brut pour la famille darticles dfinie par son code famille, avec une slection sur
le tiers, la priode et sur le type de document.
En Entre

Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille


66
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids brut pour la famille darticles.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepCAHTBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du CA HT Brut pour le reprsentant dfini par son numro RE_No, avec une slection sur le
tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)

67
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA HT Brut pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepCAHTNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du CA HT Net pour le reprsentant dfini par son numro RE_No, avec une slection sur le
tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
68
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA HT Net pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepCATTC (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du CA TTC pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers,
larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.

69
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du CA TTC pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepRemise (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du taux de remise moyen pour le reprsentant dfini par son numro RE_No, avec une
slection sur le tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
70
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total du taux de remise moyen pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepPrixRevient (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du total prix de revient pour le reprsentant dfini par son numro RE_No, avec une slection
sur le tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

71
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Sortie

Rsultat (Double) : Total du Prix de revient pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.
CIALRepMarge (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Cette fonction permet de calculer la Marge pour le reprsentant dfini par son numro RE_No, avec
une slection sur le tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Marge pour le reprsentant.


72
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Err (Entier) : Code erreur retourn par la fonction.
CIALRepQuantites (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du total quantits pour le reprsentant dfini par son numro RE_No, avec une slection sur le
tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu' la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total quantits pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.

73
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALRepQtesColisee (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA,
FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du total quantit colise pour le reprsentant dfini par son numro RE_No, avec une slection
sur le tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total quantit colise pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.

74
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALRepPoidsNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du total poids net pour le reprsentant dfini par son numro RE_No, avec une slection sur le
tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids net pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.

75
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALRepPoidsBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe,
FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Rsultat)
Calcul du total poids brut pour le reprsentant dfini par son numro RE_No, avec une slection sur le
tiers, larticle, la famille, la priode et sur le type de document.
En Entre

RE_No (Entier long) : Numro reprsentant


CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la
chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)
CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe)
AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane
est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)
AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la
chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe)
Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la
chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)
Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la
chane est vide alors la slection porte sur toutes les familles partir de la famille
(Fa_CodeFamilleDe)
Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la
slection porte sur toutes les dates jusqu la date de fin.
Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection
porte sur toutes les dates partir de la date de dbut.
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat (Double) : Total poids brut pour le reprsentant.


Err (Entier) : Code erreur retourn par la fonction.

76
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


CIALStockVal(DE_No, AR_REF, AG_NO1,AG_NO2, Date, Rsultat)
Calcul de la valeur en stock la date DATE.
En Entre

DE_No(Entier Long): Numro interne du dpt


AR_Ref(Chane de caractres :18 maximum): Rfrence article
AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur
0
AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la
valeur 0
Date (Date): Calcul de la valeur en stock jusqu' cette date.
En Sortie

Rsultat (Double ) : Valeur en stock


Err (Entier) : Code erreur retourn par la fonction.
CIALStockQte(DE_No, AR_REF, AG_NO1,AG_NO2, Date, Rsultat)
Calcul de la quantit en stock la date DATE.
En Entre

DE_No(Entier Long): Numro interne du dpt


AR_Ref(Chane de caractres :18 maximum): Rfrence article
AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur
0
AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la
valeur 0
Date (Date): Calcul de la quantit en stock jusqu' cette date.
En Sortie

Rsultat (Double ) : Quantit en stock


Err (Entier) : Code erreur retourn par la fonction.

77
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


GetParamValeurStr (TypeBase, NomTable, NomChamp, Rsultat)
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurStr
retourne la valeur en chane de caractres, du champ NomChamp, de la page paramtre NomTable, de
la base de type TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la table
NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou
modification).
Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_)
NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat (Chane de caractres) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.
GetParamValeurDbl (TypeBase, NomTable, NomChamp, Rsultat)
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDbl
retourne la valeur de type double, du champ NomChamp, de la page paramtre NomTable, de la base
de type TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurDbl retourne la valeur en double, du champ NomChamp, de la table NomTable, de la
base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification).
Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_)
78
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat (Double) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.
GetParamValeurEnt (TypeBase, NomTable, NomChamp, Rsultat)
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurEnt
retourne la valeur en entier long, du champ NomChamp, de la page paramtre NomTable, de la base
de type TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurEnt retourne la valeur en Entier long, du champ NomChamp, de la table NomTable,
de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou
modification).
Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_)
NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat (Entier) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.
GetParamValeurDate (TypeBase, NomTable, NomChamp, Rsultat)
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDate
retourne la valeur en chane de caractres au format jjmmaa, du champ NomChamp, de la page
paramtre NomTable, de la base de type TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurDate retourne la valeur en chane de caractres au format jjmmaa, du champ
NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement
crit par ODBC (ajout ou modification).
79
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_)
NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat (Chane de caractres : format jjmmaa) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.
GetParamReplication (TypeBase, Rsultat)
Retourne le numro de rplication de la base dfinie par TypeBase.
En Entre

TypeBase (Chane de caractres ) : Type de la base : CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
En Sortie

Rsultat (Entier) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.
GetParamType (TypeBase, Fichier, Field, Rsultat)
Retourne le type du champ Field de la table Fichier :

Type calcul : valeur = 2

Type Extra : valeur = 3

Type Information libre : valeur = 4

Type Standard : valeur = 0

80
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


En Entre

TypeBase (Chane de caractres ) : Type de la base : CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
Fichier (Chane de caractres) : Nom de la table
Field (Chane de carctres) : Nom du champ
En Sortie

Rsultat (Entier) : Valeur du champ


Err (Entier) : Code erreur retourn par la fonction.

81
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des fonctions avances de la Paie Maestria Windows


FSalCumul (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul Born pour le salari SAL_Num de la rubrique RB_Num, sur la priode comprise
entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.
FSALCumulbase (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Montant base de la
rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.
82
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


FSALCumulCotPat (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Cotisation Patronale de
la rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.
FSALCumulRes (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Gain ou Retenue de la
rubrique RB_Num si la Qualit de cette rubrique est Gain dans le premier cas ou Dduction ou
Cotisation dans le second, pour la priode comprise entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.

83
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


FSALCumulTaux (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Nombre Taux de la
rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.
FSALCumulTauxPat (SA_Num, RB_Num, Debut, Fin, Rsultat)
Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Taux Patronal de la
rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors
Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant)
Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de
Fin de lexercice courant)
En Sortie

Rsultat (Double) : Valeur du Cumul.


Err (Entier) : Code erreur retourn par la fonction.

84
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des objets de lActiveX Sage


Introduction
Un composant ActiveX est une unit de code excutable qui suit la spcification ActiveX dans le but
de fournir des objets. Ces objets sont utilisables par tous les logiciels de dveloppement capables
dutiliser cette technologie (Visual Basic, Delphi etc...).
Lintrt dutiliser une DLL activeX pour les fonctions volues est multiple :

Manipulation dun objet avec des proprits

Plus besoin de dclarer lensemble des fonctions volues

Facilit dutilisation

Possibilit dutilisation dans Microsoft Visual Interdev pour dvelopper des applications Intranet
ou Internet

85
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Principe dutilisation de LActiveX Sage


La DLL ActiveX est ASD100.DLL (Active Sage Data 100). Cette DLL est stocke dans
Windows\System. A lintrieur de cette DLL sont stockes lensemble des fonctions volues.
Cette DLL est compose de 4 objets :

CPTA : fonctions volues de la comptabilit 100

CIAL : fonctions volues de la gestion commerciale 100

FSAL : fonctions volues de la paie Maestria

PARAM : fonctions paramtres

Chaque objet expose ses proprits, qui sont les fonctions volues du driver Sage ODBC.
Contrairement aux fonctions volues qui retournent un code erreur, chaque proprit de lobjet
retourne le rsultat.
Le code erreur retourn par la fonction est rcuprable par la proprit Erreur.
Le format date nest plus une chane de caractres (cf : API Sage), mais bel et bien un format date de
lapplication.
Ces objets ne sont utilisables que si une connexion a t effectue auparavant avec la base concerne.
Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la
base comptable.
Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC,
la base comptable et la base commerciale.
Vous trouverez ci-dessous quelques exemples de proprits de lACTIVE X ASD100. Ces proprits
sont les mmes que les fonctions dcrites ci-dessus, exceptes quelles retournent donc le rsultat et
non plus le code erreur et que le nom des proprits de lobjet CIAL ne commence plus par CIAL.

86
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Exemple de Proprits de lobjet CPTA (base comptable)


TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin)
Cette fonction permet de calculer le total des mouvements dbit connaissant le compte gnral
CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut
Deb et la date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral.
CT_Num (Chane Alphanumrique Maj. 17 caractres max.) : Numro de compte tiers.
JO_Num (Chane de caractres 6 caractres max.) : Code Journal.
Deb (Date) : Date de dbut.
Fin (Date) : Date de fin.
En Sortie

Rsultat de la proprit (Double) : Total du mouvement dbit.

87
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Exemple de proprits de lobjet CIAL (Gestion Commerciale)


LigneMontantHT (DL_NO)
Calcul du montant HT pour une ligne de document.
En Entre

DL_NO (Entier long) : Numro interne de la ligne


En Sortie

Rsultat de la proprit (Double) : Valeur du HT.


TiersCAHTBrut (CT_NUM, Debut, Fin, TypeDocDe, TypeDocA)
Calcul du CA HT Brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur
le type de document.
En Entre

CT_NUM (Chane de caractres: 17 maximum) : Client ou fournisseur


Debut (Date) : Date de dbut .
Fin (Date) : Date de fin .
TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE
TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE
En Sortie

Rsultat de la proprit (Double) : CA HT Brut.


Les champs Debut et Fin sont bien des champs de type DATE contrairement aux fonctions volues
o le type tait une chane de cractres au format jjmmaa . Ce sera le cas pour tous les champs de
type DATE.

88
Sage France

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Proprits de lobjet Param (pages paramtres)


Ce sont toutes les proprits du type GETPARAMVALEUR* , dont voici un exemple.
GetParamValeurStr (TypeBase, NomTable, NomChamp)
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurStr
retourne la valeur en chane de caractres, du champ NomChamp, de la page paramtre NomTable, de
la base de type TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la table
NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout
ou modification).
Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres) : Type de la base : CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre), IMO (Base Immobilisation)
NomTable (Chane de caractres) : Nom de la table de type paramtre (table commenant par P_)
NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat de la proprit (Chane de caractres) : Valeur du champ

89
Sage France

Proprits de lobjet Fsal (la paie Maestria Windows)


FSalCumul (SA_Num, RB_Num, Debut, Fin)
Calcul du Cumul Born pour le salari SAL_Num de la rubrique RB_Num, sur la priode comprise
entre date de dbut et date de fin.
En Entre

SA_Num (Chane Alpha Maj 5 car max) : Numro du salari


RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique
Debut (Date) : Date de dbut.
Fin (Chane de caractres) : Date de Fin ; Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice
courant)
En Sortie

Rsultat de la proprit (Double) : Valeur du Cumul.

90
Sage France

Chapitre 3 Description des


exemples fournis avec le Kit ODBC
Base Exemple ACC2000EX.MDB sous Microsoft
Access 2000 _______________________________________________ 92
Introduction ______________________________________________________ 92
Contenu de la base ACC2000EX.MDB____________________________ 92

Base de Donnes ODBCNEW2000.MDB sous Microsoft


Access 2000 _______________________________________________ 96
Contenu de la base de donnes__________________________________ 96
Utilisation des formulaires fournis_______________________________ 97
Fichier Exemple Exc2000odbc.xls sous Microsoft Excel
2000 ______________________________________________________________ 98
Etat CompteT.rpt sous Crystal Reports 8.0______________________ 98

91
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Base Exemple ACC2000EX.MDB sous Microsoft Access 2000


Introduction
La base ACC2000EX.MDB a t dveloppe sous Microsoft ACCESS. Elle permet dune part, de
comprendre la structure des bases de la ligne 100 Windows, et, dautre part, de voir ce quon peut
rellement faire avec SAGE ODBC Ligne 100 (Lecture, criture, fonctions avances).

Contenu de la base ACC2000EX.MDB


Cette base utilise respectivement la base comptable C_BIJOU.MAE et la base commerciale
G_BIJOU.GCM. Vous trouverez ci-dessous le contenu dtaill de cette base.
Au lancement de cette base, les diffrents menus vous donnent le choix entre :

Visualisation de tous les Champs des tables de la base,

Etat : Annuaire Client,

Etat : Palmars Client,

Etat : Grand Livre Tiers,

Etat : Distribution Analytique,

Etat : Balance des comptes,

Etat : Mouvements Articles,

Etat : Tarifs par catgorie tarifaire,

Exemple dcriture dans un journal via un formulaire de saisie,

Exemple dcriture dans un document des ventes, via un formulaire de saisie,

Utilisation des fonctions avances de Comptabilit et de Gestion Commerciale,

Exemple de gnration automatique de documents de Vente, Achat, Stock avec chacun 10 lignes
de document. Les articles sont pris alatoirement dans la base,

Exemple de gnration alatoire darticles,

Exemple de gnration alatoire dcritures comptables via un modle de saisie.

92
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC


Pour excuter chacune de ces options, cliquez sur loption du menu correspondant. Les formulaires et
tats sexcuteront.
Visualisation de tous les Champs des tables de la Base
Ce formulaire vous permet de visualiser tous les champs des tables de la base ouverte, avec leurs types
de donnes (entier, rel et texte) et leurs longueurs pour les champs de type Texte.
Etat : Annuaire Client
Cet tat vous permet dobtenir pour chaque client : son Code Client, son libell, son adresse, sa ville,
son premier numro de tlphone et son premier numro de tlcopie.
Etat : Palmars Client
Cet tat vous permet dobtenir pour chaque client, dont on connat le code client, son libell et sa ville,
le Chiffre dAffaires TTC, le pourcentage du Chiffre dAffaires TTC par rapport au total, le
pourcentage cumul du Chiffre dAffaires et enfin le Palmars du client.
Le Chiffre dAffaires TTC est calcul en additionnant toutes les critures comptables des clients dont
le type de journal est uniquement de Vente.
Etat : Grand Livre Tiers
Le Grand-livre des tiers existe dj dans la Comptabilit. Il permet dobtenir pour chaque tiers le
dtail de ses critures comptables, avec la date de lcriture, le code journal, le n de pice, le libell
de lcriture, le montant de lcriture en dbit ou en crdit et le solde progressif ainsi quun total des
critures par tiers.
Etat : Distribution Analytique
Cet tat vous permet dobtenir pour chaque compte gnral, le dtail des critures analytiques pour ce
compte et une rpartition de ses critures suivant trois fourchettes de sections analytiques possibles.
Les fourchettes de sections analytiques seront saisies dans un formulaire. Le plan analytique est fix
au premier (dans notre exemple, ce sera Activite).Vous avez la possibilit de trois fourchettes
possibles dont les valeurs sont slectionner dans une liste pour chacune.

93
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC


Etat : balance des comptes
Cet tat vous permet dobtenir pour une priode donne et pour chaque compte gnral, le total des
mouvements Dbit et Crdit ainsi que les soldes correspondants.
Etat : Mouvements articles
Cet tat vous permet dobtenir pour chaque article, les quantits achetes, mouvementes en stock,
vendues et le solde progressif, lensemble chelonn par mois.
Etat : tarifs par catgorie tarifaire
Cet tat vous permet dobtenir pour chaque article, le prix de vente pour chaque catgorie tarifaire
dfinie en colonne. Un maximum de 4 catgories tarifaires est autoris.
Exemple dcriture dans un journal
Cet exemple permet de comprendre comment fonctionne l'criture dans les bases de la ligne 100
Windows au travers d'un exemple d'criture dans un journal. On peut crer ou modifier une criture
existante.
Exemple dcriture dans un Document de vente
Cet exemple permet de comprendre comment fonctionne l'criture dans les bases de la ligne 100
Windows au travers d'un exemple d'criture dans un document de vente. On peut, au travers de cet
exemple crer un document de vente, crer ou modifier des lignes dans ce document.
Utilisation des fonctions avances de Comptabilit et de Gestion Commerciale
Ces formulaires permettent de comprendre le fonctionnement et l'utilisation des fonctions avances de
comptabilit et de gestion commerciale.
Exemple de gnration automatique de documents en gestion commerciale
Cet exemple permet de gnrer automatiquement des documents de tous les types avec chacun 10
lignes gnres avec des articles choisis de faon alatoire dans la base (criture dans
F_DOCENTETE et F_DOCLIGNE).
94
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC


Cet exemple permet surtout de comprendre quels sont les champs renseigner en insertion et les
valeurs par dfaut utilises par lapplication (rcupration dinformations de larticle ou du tiers par
exemple).
Le code nest pas protg. Il vous est donc facile de comprendre comment ces lignes ont t gnres.
Exemple de gnration automatique darticles
Cet exemple permet de gnrer automatiquement des articles de faon alatoire avec gnration de
valeurs par dfaut dans les autres tables lies aux articles. Ces valeurs par dfaut sont celles gnres
par lapplication Gestion commmerciale 100 en cration dun nouvel article.
Exemple de gnration automatique dcritures comptables
Cet exemple permet de gnrer automatiquement des critures comptables dans un journal de Vente,
et ce pour toutes les priodes via un modle de saisie prdfini.

95
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Base de Donnes ODBCNEW2000.MDB sous Microsoft Access 2000


Contenu de la base de donnes
La base de donnes ODBCNEW2000.MDB fournie avec Sage ODBC Ligne 100 peut vous servir de
modle pour la cration dune nouvelle base utilisant vos propres sources de donnes Sage .
Le formulaire Creation Relations Entre les Tables permet la cration automatique des jointures
entre les tables de la ligne 100 Windows de votre base de donnes Microsoft Access.
Le formulaire Visualisation des Champs de la Base permet de visualiser comme dans les bases
Exemple, tous les champs des tables de votre base.
Le formulaire Descriptif Champs Tables permet de crer le descriptif de chaque champ ODBC de
votre base (indique le nom en clair des champs).
Vous allez utiliser cette base pour votre utilisation personnelle. Il est fortement conseill den faire
une copie et de renommer cette nouvelle base sous le nom de votre choix (*.MDB) et utiliser alors
cette base personnalise.
Vous pourrez alors reprendre ODBCNEW2000.MDB lorsque vous recrerez une nouvelle base sur
des donnes Sage. La procdure sera identique ce qui est dcrit ci-dessus.

96
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Utilisation des formulaires fournis


Vous venez dattacher vos tables. Les formulaires fournis pourront vous aider pour la cration de
requtes et dtats.
Aide la cration de requtes et tats
Le formulaire Creation Relations Entre les Tables cre automatiquement les diffrentes relations
entre les tables de la ligne 100 de votre base. Pour cela ouvrez le formulaire Creation Relations
Entre les Tables et cliquez sur le bouton, ce qui crera les bonnes relations. Ces relations seront
stockes dans la base et elles seront prsentes lors de chaque utilisation de votre base.
Ces relations sont visibles, dune part dans la fentre des relations et, dautre part lorsque vous crez
une nouvelle requte et que vous slectionnez des tables.
Il est noter que lorsque vous activez ce formulaire et appuyez sur le bouton pour lancer la cration
des relations, sil existe dj des relations, celles ci seront dtruites. Cela vite ainsi les mauvaises
relations, source derreur.
Aussi, sil vous arrivait de supprimer certaines relations et que vous vouliez les recrer, il vous
suffirait de relancer ce formulaire.
Lorsque vous crez des requtes et que vous slectionnez deux tables avec des relations (jointures)
entre elles, celles-ci saffichent alors lcran.
Nanmoins, certaines jointures possdent des critres supplmentaires pour tre valides. Par exemple
F_COMPTEG et F_ECRITUREC, respectivement table des comptes gnraux et table des critures
comptables, ont la jointure suivante.
F_COMPTEG.CG_NUM = F_ECRITUREC.CG_NUM avec CG_TYPE = 0 (Type dtail)
(lien sur les comptes gnraux avec type dtail)
Dans ce cas, si vous slectionnez ces tables, le lien entre CG_NUM sera cr, mais il faudra
slectionner le champ CG_TYPE et mettre 0 dans sa zone critre.
Vous ferez de mme pour les autres jointures possdant des critres particuliers. Pour cela, reportezvous la partie expliquant les jointures des tables de la ligne 100 Windows.
Visualisation des champs de toutes les tables de votre base
Il vous sera peut tre utile de visualiser pour chaque table, le nom de ces champs associs. Ce
formulaire vous permettra de le faire.
Ouvrer le formulaire Visualisation des Champs de la Base
97
Sage France

Chapitre 3 Description des exemples fournis avec le Kit ODBC


Le formulaire Tables_champs est utilis quant lui par le formulaire prcdent. Ne lactivez donc pas
avant celui-ci sous risque derreur.

Fichier Exemple Exc2000odbc.xls sous Microsoft Excel 2000


Contenu de cet exemple
Ce classeur contient plusieurs feuillets
Un menu principal dans la feuille Prsentation, vous permet d'excuter certaines requtes et fonctions
Visual Basic de ce classeur. Vous pouvez visualiser la source correspondant chaque bouton et peut
tre vous en inspirer pour d'ventuels dveloppements avec Microsoft Excel 97 et Visual Basic pour
applications (VBA). Les exemples utilisent les bases Bijou.

Etat CompteT.rpt sous Crystal Reports 8.0


Contenu de cet exemple
Ce rapport est un grand livre des Tiers bas sur les donnes de la comptabilit.

98
Sage France

Annexe 1 Rappel sur le langage SQL

Annexe 1 Rappel sur le langage


SQL
Remarques gnrales ____________________________________ 100
Ajout dun enregistrement ______________________________________ 100
Modification denregistrements _________________________________ 101
Suppression dEnregistrements _________________________________ 101
Exemples de requtes __________________________________________ 101

99
Sage France

Annexe 1 Rappel sur le langage SQL

Remarques gnrales

Utilisez les cotes pour spcifier une chane de caractres (pas les guillemets "").

Une date, au format SQL, se prsente sous la forme dune chane de caractres formate par des {
}, du type {d AAAA-MM-JJ}, ou AAAA reprsente lanne, MM le mois, et JJ le jour.

Le SQL fait la diffrence entre les majuscules et les minuscules sur les chanes de caractres.
Rechercher le client Boby ne revient pas au mme que rechercher le client BOBY.

Les commandes SQL peuvent tre tapes indiffremment en minuscules ou en majuscules.

Ajout dun enregistrement


Utilisation de la clause INSERT INTO.
INSERT INTO F_CompteG (CG_Num, CG_Type, CG_Intitule, CG_Classement,
N_Nature, CG_Saut)
VALUES (411TOTO, 0, Compte Tiers TOTO, 411TOTO, 1, 1)
Les enregistrements sont ajouts un par un.
Tous les champs de F_CompteG ne sont pas prsents dans cette requte dajout. Les champs (qui ne
sont pas dfinis dans la requte) prendront la valeur par dfaut, savoir 0 pour tout ce qui est
numrique, et pour tout ce qui est du type chane de caractres. Les dates ventuelles seront
NULL.

100
Sage France

Annexe 1 Rappel sur le langage SQL

Modification denregistrements
Utilisation de la clause UPDATE
UPDATE F_CompteG
SET CG_Classement = CLASS_01, CG_Saut = 2
WHERE N_Nature = 1
AND CG_Type = 0
Cette requte va modifier le classement et le saut de ligne de tous les comptes de tiers client qui sont
du type dtail. Si vous ne dsirez modifier quun seul enregistrement, il faudra utiliser les champs qui
permettent de rendre cet enregistrement unique, dans la clause WHERE.

Suppression dEnregistrements
Utilisation de la clause DELETE FROM.
DELETE FROM F_CompteT
WHERE CG_Num = 411TOTO
AND CG_Type = 0
Tout comme la modification denregistrement, il est possible deffectuer une suppression en
cascade, mais attention ne pas supprimer dautres enregistrements...

Exemples de requtes
Le driver ODBC permet lutilisation de fonctions oprant sur les chanes de caractres telles que
LCASE ou UCASE, LEFT... afin de pouvoir rcuprer ou identifier plus facilement des
enregistrements.
Voici quelques requtes de slection utilisant la grammaire et les fonctions SQL volues gres par
le driver ODBC Sage Ligne 100.
Exemple 1
Lister tous les articles qui nont pas t vendus et qui ne font pas partis dune nomenclature dun
produit.
Select F_Article.AR_Ref, Ucase (F_Article.AR_Design)
From F_Article
101
Sage France

Annexe 1 Rappel sur le langage SQL


Where F_Article.AR_Ref NOT IN
(Select F_DocLigne.AR_Ref
From F_DocLigne
Where (F_DocLigne.DO_Type Between 0 And 7))
And F_Article.AR_Ref NOT IN
(Select F_NomenClat.NO_RefDet
From F_Nomenclat)
Order By F_Article.AR_Ref
Exemple 2
Somme des dbits/crdits de tous les comptes fournisseurs pour
lanne 1995.
Select F_CompteT.CT_Intitule, Sum ( (EC_Montant * (1-EC_Sens))) AS
SommeDebit,
Sum ( (EC_Montant * EC_Sens)) AS SommeCredit
From F_CompteT, F_EcritureC
Group by F_CompteT.CT_Num, F_EcritureC.CT_Num,
F_CompteT.CT_Intitule,
Year (F_EcritureC.JM_Date), Left (F_EcritureC.CG_Num,3)
Having ( (F_CompteT.CT_Num = F_EcritureC.CT_Num)
And (Year (F_Ecriturec.JM_Date) = 1995)
And (Left (F_EcritureC.CG_Num,3) = '411'))
Order By LCase (F_CompteT.CT_Intitule)
Exemple 3
Slection de tous les comptes de Tiers qui ont t associs, au moins une fois, une criture
comptable dont le numro de compte gnral commence par 411, au cours du 1er trimestre 96.
Select Distinct F_CompteT.CT_Num, F_CompteT.CT_Intitule
from F_CompteT, F_EcritureC
Where F_CompteT.CT_Num = F_EcritureC.CT_Num
And (F_EcritureC.JM_Date Between {d 1996-01-01} and {d 1996-0301})
And F_EcritureC.CG_Num Like '411%'

102
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100

Annexe 2 Fonctions SQL


supportes par Sage ODBC Ligne
100
Grammaire SQL supporte par le driver _________________ 104
Fonctions de la grammaire ODBC supportes par le driver
Sage Ligne 100 __________________________________________________ 105
Fonctions sur les chanes de caractres _______________________ 106
Fonctions sur les dates _________________________________________ 109
Fonctions systme ______________________________________________ 111

103
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100

Grammaire SQL supporte par le driver


SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
BETWEEN
IN
OPERATION : MIN, MAX, SUM, AVG, COUNT
UNION
LEFT OUTER JOIN
SOUS REQUETE

104
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100

Fonctions de la grammaire ODBC supportes par le driver Sage Ligne 100


Les fonctions suivantes font partie intgrante du driver ODBC 32 Bits. Vous pouvez les utiliser dans
les requtes SQL Direct. Les requtes SQL Direct sont interprtes directement par le driver.
Si vous utilisez ACCESS et les requtes graphiques, les fonctions ci-dessous ne fonctionneront pas.
ACCESS possde en interne les mmes types de fonctions. Utilisez dans ce cas ses fonctions. Par
contre, si vous utilisez du SQL Direct les fonctions ci-dessous fonctionneront.
Les exemples ci-dessous sont tests avec Microsoft Query. Les requtes sont en effet directement
interprtes par le driver.

105
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100

Fonctions sur les chanes de caractres


CONCAT (Chane1, Chane2)
Cette fonction concatne les chanes Chane1 et Chane2. Le rsultat est une chane.
Exemple
Exemple dutilisation avec Microsoft QUERY (Concatnation du champ CG_NUM et de la chane
TEST .
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CONCAT (CG_NUM,
TEST) CONCATENATION
FROM F_COMPTEG F_COMPTEG
LENGTH (CHAINE)
Cette fonction retourne le nombre de caractres de la chane Chane. Le rsultat est un Entier.
Exemple
Exemple dutilisation avec Microsoft QUERY (Nombre de caractres de lintitul du compte gnral)
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LENGTH (CG_INTITULE)
NB
FROM F_COMPTEG F_COMPTEG
RIGHT (CHAINE, NB)
Cette fonction retourne les NB caractres les plus droite de la chane CHAINE. Le rsultat est une
chane.
Exemple
Exemple dutilisation avec Microsoft QUERY (Les 3 caractres les plus droite de lintitul du
compte gnral)
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, RIGHT (CG_INTITULE,
3) 3CARDROITE
FROM F_COMPTEG F_COMPTEG
UCASE (CHAINE)
Cette fonction met en majuscule tous les caractres de la chane CHAINE.
106
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100


Exemple
Exemple dutilisation avec QUERY (Intitul du compte gnral en majuscule).
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, UCASE (CG_INTITULE)
MAJUSCULE
FROM F_COMPTEG F_COMPTEG
LCASE (CHAINE)
Cette fonction met en minuscule tous les caractres de la chane CHAINE.
Exemple
Exemple dutilisation avec QUERY (Compte gnral en minuscule).
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LCASE (CG_INTITULE)
MINUSCULE
FROM F_COMPTEG F_COMPTEG
LOCATE (CHAINE1, CHAINE2, [START])
Cette fonction recherche la premire occurrence de la chaine CHAINE1 lintrieur de la chane
CHAINE2. Si loption START est omise la recherche est effectue partir du premier caractre de la
chane CHAINE2, sinon la recherche commence partir du START ime caractre de CHAINE2.
Si le test choue la fonction retourne 0.
Exemple
Exemple dutilisation avec QUERY (Recherche du premier 0 dans le Compte gnral).
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LOCATE (0, CG_NUM)
0INCG_NUM
FROM F_COMPTEG F_COMPTEG
RTRIM (CHAINE)
Cette fonction renvoie la chane CHAINE sans les blancs de dbut de chane.
Exemple
Exemple dutilisation avec QUERY.
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, RTRIM (TESTRTRIM
) TESTRTRIM

FROM F_COMPTEG F_COMPTEG


107
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100


LEFT (CHAINE, NB)
Cette fonction renvoie les NB caractres les plus gauche de la chane CHAINE.
Exemple
Exemple dutilisation avec QUERY (les 3 caractres les plus gauche de lintitul du compte
gnral).
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LEFT (CG_INTITULE,
3) 3 CARGAUCHE
FROM F_COMPTEG F_COMPTEG
LTRIM (CHAINE)
Cette fonction renvoie la chane CHAINE sans les blancs de fin de chane.
Exemple
Exemple dutilisation avec QUERY (Enlever les blancs dans la chane
TESTRTRIM
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LTRIM (
TESTRTRIM)
TESTRTRIM
FROM F_COMPTEG F_COMPTEG
SUBSTRING (CHAINE, DEBUT, LONG)
Cette fonction retourne une chane drive de CHAINE commenant la position DEBUT et de
LONG caractres. Exemple : SUBSTRING (TESTCHAINE, 7, 2)=AI
Exemple
Exemple dutilisation avec QUERY :
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, SUBSTRING
(CG_INTITULE, 4, 2) SUBSTRING
FROM F_COMPTEG F_COMPTEG
Fonction numrique

108
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100


MOD (ENTIER1, ENTIER2)
Cette fonction retourne le reste modulo de la division de ENTIER1 par ENTIER2.
Exemple
Exemple dutilisation avec QUERY (Reste module de 10 / 6, soit 4)
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, MOD (10, 6) MOD
FROM F_COMPTEG F_COMPTEG

Fonctions sur les dates


CURDATE ()
Cette fonction retourne la date systme.
Exemple
Exemple dutilisation avec QUERY :
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CURDATE () DATE
COURANTE
FROM F_COMPTEG F_COMPTEG
DAYOFMONTH (DATE)
Cette fonction retourne le jour dans le mois pour le champ DATE. Cest un entier compris entre 1 et
31.
Exemple
Exemple dutilisation avec QUERY :
SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CURDATE () DATE
COURANTE, DAYOFMONTH (CURDATE ()) JOUR MOIS
FROM F_COMPTEG F_COMPTEG

109
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100


MONTH (DATE)
Cette fonction retourne le mois pour le champ DATE. Cest en entier compris entre 1 et 12.
Exemple
Exemple dutilisation dans QUERY:
SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_JOUR,
MONTH (JM_DATE)
FROM F_ECRITUREC F_ECRITUREC
ORDER BY F_ECRITUREC.CG_NUM
CURTIME ()
Cette fonction retourne lheure courante.
Exemple
Exemple dutilisation dans QUERY:
SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_JOUR,
MONTH (JM_DATE), CURTIME ()
FROM F_ECRITUREC F_ECRITUREC
ORDER BY F_ECRITUREC.CG_NUM
DAYOFWEEK (DATE)
Cette fonction retourne le jour comme un entier de 1 7 pour le champ DATE.
Exemple
Exemple dutilisation dans QUERY:
SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_DATE,
MONTH (EC_DATE), CURTIME (), DAYOFWEEK (EC_DATE)
FROM F_ECRITUREC F_ECRITUREC
ORDER BY F_ECRITUREC.CG_NUM

110
Sage France

Annexe 2 Fonctions SQL supportes par Sage ODBC Ligne 100


YEAR (DATE)
Cette fonction retourne lanne pour le champ DATE.
Exemple
Exemple dutilisation dans QUERY:
SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_DATE,
MONTH (EC_DATE), CURTIME (), DAYOFWEEK (EC_DATE)
FROM F_ECRITUREC F_ECRITUREC
ORDER BY F_ECRITUREC.CG_NUM

Fonctions systme
DATABASE ()
Cette fonction retourne le fichier physique associ la source de donnes en cours dutilisation.
Exemple
Exemple dutilisation dans QUERY:
SELECT P_DOSSIER.D_RAISONSOC, DATABASE ()
FROM P_DOSSIER P_DOSSIER
USER ()
Cette fonction retourne le nom de lutilisateur connect.
Exemple
Exemple dutilisation dans QUERY:
SELECT P_DOSSIER.D_RAISONSOC, DATABASE (), USER ()
FROM P_DOSSIER P_DOSSIER

111
Sage France

Annexe 3 Conseils doptimisation

Annexe 3 Conseils doptimisation


Les lments perturbants________________________________ 113

112
Sage France

Annexe 3 Conseils doptimisation

Les lments perturbants


Plusieurs critres peuvent influer sur le temps dexcution dune requte.

Le mode trace ODBC doit tre dsactiv. En effet, chaque requte envoye au driver ODBC peut
tre enregistre dans un fichier texte (plusieurs lignes par requte). Lcriture dans ce type de
fichier prend normment de temps.

La requte SQL elle-mme influe sur les performances. En effet, si une jointure entre deux tables
nest pas complte, le driver ODBC ne pourra pas utiliser les index de recherche et il devra
parcourir tous les enregistrements. Le choix des critres de slection et des regroupements est
aussi important. En effet, il est prfrable de poser des critres de slection sur des champs
indexs afin dviter le parcours de tous les enregistrements (renseigner de prfrence les
premiers champs dun index).

Sage ODBC Ligne 100 ( partir de la version 7.0) dispose de champs virtuels afin de
rcuprer directement des informations provenant des pages paramtres. Ces champs nexistent
pas physiquement dans la base, mais sont calculs par le driver ODBC (le nom de ces champs
commence par INT_ ou FNT_). Si un critre de slection est pos sur un de ces champs, le driver
devra parcourir tous les enregistrements, calculer la valeur du champ INT_, puis comparer avec le
critre de slection.

De plus, lors de la cration dune requte de slection, afin doptimiser les temps dexcution, il
est important de slectionner uniquement les champs ncessaires (ne pas rapatrier des
informations superflues, en particulier les champs INT_ et FNT_ qui sont calculs par le driver
ODBC Sage).

113
Sage France

Annexe 4 Les codes erreurs Sage

Annexe 4 Les codes erreurs Sage


Description des erreurs gnrales CBASE ______________ 115
Description des codes erreurs des fonctions volues _ 117
Erreurs en criture dans les diffrentes applications ___ 121

114
Sage France

Annexe 4 Les codes erreurs Sage

Description des erreurs gnrales CBASE

4999, Fin de fichier atteinte !

4998, Ressource non disponible !

4997, Mauvaise version de dossier !

4996, Taille trop petite en cration !

4995, Dossier non ouvert !

4994, Le bloc lu n'est pas un bloc !

4993, Le bloc crit n'est pas un bloc !

4992, Erreur de longueur de cellule !

4991, Numro d'index illgal !

4990, Numro de page poubelle illgal !

4989, Longueur de chane suprieure la longueur dclare !

4988, Le dossier est satur, veuillez l'agrandir au plus vite !

4987, Le dossier est satur, veuillez l'agrandir au plus vite !

4986, Mauvaise longueur de page poubelle !

4985, Numro de fichier inexistant !

4984, Bloc dtruit !

4983, Bloc libr !

4982, Fonction invalide !

4981, Trop d'utilisateurs en cours !

4980, Trop de verrouillages !

4979, Libration d'un fichier non verrouill !

4978, Incohrence du fichier .flg !

4977, Erreur de lecture du fichier .flg !

4976, Erreur d'criture du fichier .flg !

4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite !
115
Sage France

Annexe 4 Les codes erreurs Sage

4974, Opration annule...

4973, Version de DLL incompatible !

4972, Index modifi !

4971, Trop d'index temporaires !

4970, Version de serveur incompatible !

4969, Fonction serveur non implante !

4968, Le serveur a t dconnect !

4967, Erreur d'index !

4966, Erreur inconnue !

4965, Mauvaise version de fichier !

4964, Type de fichier dj ouvert !

116
Sage France

Annexe 4 Les codes erreurs Sage

Description des codes erreurs des fonctions volues

1, Fin de fichier atteinte !

2000, Ressource non disponible !

2001, Mauvaise version de dossier !

2002, Taille trop petite en cration !

2013, Dossier non ouvert !

2017, Le bloc lu n'est pas un bloc !

2018, Le bloc crit n'est pas un bloc !

2100, Erreur de longueur de cellule !

2374, Numro d'index illgal !

2376, Numro de page paramtre illgal !

2415, Longueur de chane suprieure la longueur dclare !

2416, Impossible d'insrer un enregistrement, veuillez l'agrandir au plus vite !

2417, Impossible d'insrer une page d'index, veuillez l'agrandir au plus vite !

2418, Trop de bases en ligne

2419, Mauvaise longueur de page paramtre !

2426, Numro de fichier inexistant !

2428, Bloc dtruit !

2429, Bloc libr !

2430, Fonction invalide !

2502, Trop d'utilisateurs en cours !

2503, Trop de verrouillages !

2504, Libration d'un fichier non verrouill !

2505, Incohrence du fichier .flg !

2506, Erreur de lecture du fichier .flg !

2507, Erreur d'criture du fichier .flg !


117
Sage France

Annexe 4 Les codes erreurs Sage

4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite !

2602, Opration annule...

2603, Version de DLL incompatible !

2607, Le document, la ligne, L'article, la famille ou le reprsentant n'existe pas.

2609, Index modifi !

2610, Trop d'index temporaires !

2700, Version de serveur incompatible !

2701, Fonction serveur non implante !

2704, Le serveur a t dconnect !

3005, Erreur d'accs

4966, Erreur inconnue !

4965, Mauvaise version de fichier !

4964, Type de fichier dj ouvert !

1100, Erreur de longueur de compte analytique

1101, Erreur de longueur de compte gnral

1102, Erreur de longueur de compte EDI

1103, Erreur de longueur de compte reporting

4700, La base paramtre n'est pas ouverte

4701, La rubrique n'existe pas

4702, Le salari n'existe pas

4703, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation

7000, La famille n'existe pas

7001, Le client n'existe pas

7002, Le fournisseur n'existe pas

7003, L'article n'existe pas

7004: Domaine de validit du champ incorrect, veuillez vous rfrer la documentation

63536, Ressource non disponible


118
Sage France

Annexe 4 Les codes erreurs Sage

63535, Numro de version illgale

63534, Taille trop petite en cration

63523, Base non ouverte

63519, Le bloc lu n'est pas un bloc

63518, Le bloc crit n'est pas un bloc

63436, Erreur longueur de cellules

63127, Suppression enregistrement non lu ou inexistant

63126, Modification enregistrement non lu ou inexistant

63125, Marqueur illgal

63121, Longueur chane suprieure la longueur dclare

63120, Impossible d'insrer une page enregistrement (base pleine)

63118, Trop de bases en ligne

63108, Bloc dtruit

63107, Bloc libr

63036, Base en cours d'utilisation

63035, Erreur permission

63034, Trop d'utilisateurs en cours

63031, Incohrence base multi utilisateurs (.flg)

63030, Erreur lecture (.flg)

63029, Erreur criture (.flg)

63025, Fichier lock en destruction

63024, Enregistrement lock en modification

63023, Fichier lock en modification

62936, Pas assez de mmoire

62934, Opration annule

62933, Version de DLL incompatible

62929, Enregistrement non trouv


119
Sage France

Annexe 4 Les codes erreurs Sage

62928, Index dupliqu

62927, Index modifi

62836, Version de serveur incompatible

62832, Serveur dconnect

62831, Fichier inexistant

62830, Erreur accs fichier

62829, Trop de fichiers ouverts

62828, Espace disque insuffisant

62827, Erreur E/S

120
Sage France

Annexe 4 Les codes erreurs Sage

Erreurs en criture dans les diffrentes applications

3567, Le code rattach n'est pas modifiable si l'immobilisation n'est pas de type Biens

3568, L'immobilisation n'est pas de type Biens, le code rattach doit tre vide

3569, Le couple AR_REF et GL_No doit tre unique

3570, Le champ DL_PrixUnitaire ne peut pas tre modifi pour les documents TTC

3571, La quantit livre doit tre >= 0

3572, La quantit commande doit tre >= 0

3573, Le champ CG_Num est modifiable si le rglement n'est pas cltur ou si il ne possde pas
d'chance

3574, Les champs RG_Reference, RG_Impaye, RG_DateEchCont, CG_NumCont sont


modifiables si le rglement n'est pas cltur

3575, Les champs LS_Peremption, LS_Fabrication ou LS_SERIE doivent tre vide

3576, Les champs LS_Peremption ou LS_Fabrication ne peuvent tre modifis en stock que pour
les documents d'entres ou de sortie

3577, On ne peut modifier la date de cration de l'article

3578, Le champ DL_PUBC n'est pas modifiable

3579, Le champ AR_RefCompose ne peut etre vide si l'article est nomenclature commerciale
compos ou composant

3580, La valeur de DL_Valorise est incompatible avec le type de nomenclature de l'article


(compos ou composant)

3581, La gestion des gammes est incompatible avec les articles de subtitution

3582, Les champs LS_Peremption ou LS_Fabrication doivent avoir un suivi de stock de type
srie ou lot

3583, Les champs LS_Peremption ou LS_Fabrication ne peuvent pas tre modifis pour les
documents de type vente

3585, Le champ DL_TYPEPL est modifiable que dans les documents de type facture

3586, Le numro de srie ne peut pas tre modifi en sortie de stock

3587, Le lot de sortie n'existe pas


121
Sage France

Annexe 4 Les codes erreurs Sage

3588, Le lot d'entre n'existe pas

3589, Les champs DL_MontantTTC, DL_MontantHT, DL_Escompte, DL_FactPoids ne sont pas


modifiables

3590, En modification les articles suivis en SERIE ou en LOT doivent tre de type mouvement
d'entre, mouvement sortie, bon de commande ou de reprise

3591, Les champs de contrepartie ne sont pas modifiables

3592, Le champ chance doit tre obligatoire

3593, Le champ DL_Frais est saisissable qu'avec un document d'achat de type facture ou un bon
de livraison si l'article n'est pas suivi en stock

3594, Si le type de rglement est de type acompte, seul JO_Num est modifiable

3595, Si le type de rglement n'est pas de type acompte, seuls RG_Date(Cont), RG_Reference,
RG_Libelle, RG_Montant, N_Reglement,RG_Impaye ,CG_Num(cont) ou JO_Num sont
modifiables

3596, Un rglement est pass un document de vente, certains champs ne sont pas modifiables

3597, Les champs suivants AL_MontantHT, AL_MontantTTC, AL_FactPoids et AL_Escompte


doivent tre zro

3598, Les champs suivants DL_MontantHT, DL_MontantTTC, DL_FactPoids et DL_Escompte


doivent tre zro

3599, Le champ DO_Provenance ne peut avoir la valeur 3

3600, Le champ DO_Replication n'est pas modifiable

3601, Le champ DO_Replication doit tre 0

3602, Le champ CP_Type n'est pas modifiable

3603, Le champ CP_champ n'est pas modifiable

3604, Le champ ACP_TypeFacture n'est pas modifiable

3605, Le champ FCP_Champ n'est pas modifiable

3606, Le champ FCP_TypeFacture n'est pas modifiable

3607, Le champ EF_No n'est pas modifiable

3608, La date n'est pas dans la liste des exercices de la base

3609, EF_No doit tre 0


122
Sage France

Annexe 4 Les codes erreurs Sage

3610, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail

3611, EE_Comptabilise est non modifiable

3612, Le champ CG_Num n'est pas modifiable

3613, Le champ CG_Num n'est pas modifiable

3614, EE_Comptabilise doit tre gal 0

3615, Le numro de compte gnral est vide ou n'est pas de type compte

3616, Rfrence un compte de tiers inexistant

3617, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail

3617, Suppression impossible, l'article possde des cumuls de stock

3618, Le fichier n'existe pas

3619, Suppression impossible. Des fichiers multimdia sont rattachs l'immobilisation


supprimer

3620, Suppression impossible car il existe au moins un fichier multimdia pour ce tiers

3621, Le fichier multimdia n'existe pas

3622, Le fichier multimdia n'existe pas

3623, 19/08/2002 BRSC V11 erreur ERRECH_EXISTESCOMPTE

3623, Suppression impossible, l'article est associ un fichier multimdia

3624, Suppression impossible car le lot comporte encore des chances.

3625, Nombre de lignes du lot incorrect.

3626, Incohrence du montant entre les lots et les chances du lot.

3627, Le prix numr de gamme doit tre unique

3628, Le payeur origine n'est pas de type alphanumrique et majuscule ou est de longueur > 17
caractres

3629, Le code barres numr doit tre unique

3630, La rfrence numr doit tre unique

3631, Le client ou le fournisseur n'est pas en majuscule (avec longueur <= 17 car ), ou la
catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou les 2 derniers
caractres non numriques (et compris entre 1 et 32)
123
Sage France

Annexe 4 Les codes erreurs Sage

3632, La rfrence client doit tre unique

3633, La rfrence client ne peut pas tre renseigne pour les catgories tarifaires

3634, La rfrence client doit tre de type C39 avec une de longueur <= 18 ou vide

3635, Le code barres fournisseur doit tre unique

3636, Le code barres doit tre unique

3637, Le code barres n'est pas de type C39 ou est de longueur > 18

3638, Le numro de lieu n'est pas modifiable

3639, Le contact existe dj

3640, Suppression impossible, le lieu possde des contacts

3641, Les cumuls et la date de mise jour comptable ne sont pas modifiables

3642, Les cumuls et la date de mise jour comptable de l'immobilisation doivent tre nuls

3643, ER_PIECE non modifiable

3644, JA_NUM non modifiable

3645, ER_NO non modifiable

3646, CG_NUM non modifiable

3647, CA_NUM non modifiable

3648, N_ANALYTIQUE non modifiable

3649, ER_DATE non modifiable

3650, Le code journal analytique n'existe pas

3651, Le nombre de dcimales de ER_QUANTITEA est incorrect (quantit)

3652, Le nombre de dcimales de ER_MONTANTA est incorrect (montant)

3653, Le tiers du document est diffrent de celui du rglement

3654, La borne suprieure ne peut pas tre modifie

3655, Le compte gnral ne peut pas tre modifi

3656, Le reprsentant ne peut pas tre modifi

3657, Le reprsentant n'est pas de type vendeur

3658, ECH_No est non modifiable


124
Sage France

Annexe 4 Les codes erreurs Sage

3659, Le code taxe n'existe pas

3660, Le compte gnral n'existe pas

3661, L'chance est dj lie des critures comptables

3662, Le registre Taxe existe dj

3663, L'chance n'existe pas en ajout d'un registre Taxe

3664, Le motif conomique existe dj

3665, Suppression impossible car il existe des registres taxes

3666, La banque intermdiaire n'existe pas

3667, Le compte de frais n'existe pas

3668, Le Pays n'existe pas

3669, Le motif conomique n'existe pas

3670, Il existe dj un registre taxe

3671, L'immobilisation rattache n'est pas de type Biens

3672, Suppression impossible. Des virements poste poste existent

3673, Suppression impossible. Des historiques existent

3674, Champs non valide pour une famille ou une immobilisation non soumise taxe vhicule de
tourisme

3675, Le champ Article non livr ne peut pas tre modifi

3676, Le document est cltur

3677, Les lments de caisse (CA_No,RE_NoCaissier,DO_Cloture) ne sont pas modifiables

3678, Suppression impossible, l'article est rattach une ligne de commande en attente

3679, Suppression impossible, l'numr de gamme est rattach une ligne de ticket d'archive

3680, Suppression impossible, l'article est rattach une ligne de commande en attente

3681, Suppression impossible, l'article est rattach une ligne de ticket d'archive

3682, Suppression impossible, l'article est rattach un raccourci clavier

3683, Le code taxe n'est pas modifiable

3684, Le taux de taxe n'est pas modifiable


125
Sage France

Annexe 4 Les codes erreurs Sage

3685, Le taux de remise n'est pas modifiable

3686, L'unit de vente n'est pas modifiable

3687, L'numr de gamme 2 n'est pas modifiable

3688, L'numr de gamme 1 n'est pas modifiable

3689, La rfrence article n'est pas modifiable

3690, La rfrence article n'existe pas

3691, L'numr de gamme 2 n'existe pas

3692, L'numr de gamme 1 n'existe pas

3693, Le numro de pice n'est pas modifiable

3694, CL_No n'est pas modifiable

3695, CL_No doit tre unique

3696, La commande en attente n'existe pas

3697, La commande en attente possde des lignes

3698, Le numro de pice n'est pas modifiable

3699, Le numro de pice existe dj

3700, Le numro de dpt n'est pas modifiable

3701, Le contact existe dj

3702, Le dpt n'existe pas

3703, Suppression impossible, le reprsentant est rattach un agenda

3704, Suppression impossible, le reprsentant est rattach une ligne de ticket d'archive

3705, Suppression impossible, le reprsentant est rattach un ticket d'archive

3706, Suppression impossible, le reprsentant est rattach un rglement

3707, Suppression impossible, le reprsentant est rattach une ligne d'abonnement

3708, Suppression impossible, le reprsentant est rattach un entte d'abonnement

3709, Suppression impossible, le reprsentant est rattach une ligne de document

3710, Suppression impossible, le reprsentant est rattach un document

3711, Suppression impossible, le reprsentant est rattach une caisse


126
Sage France

Annexe 4 Les codes erreurs Sage

3712, Suppression impossible, le reprsentant est dj utilis dans une caisse

3713, Suppression impossible, le dpt possde des contacts

3714, Le code interbancaire existe dj en ajout

3715, Le Contact Dossier existe dj

3716, Le numro de registre Taxe existe dj

3717, Le code Taxe n'existe pas en ajout d'un registre taxe

3718, Le code Taxe n'existe pas

3719, Suppression impossible car il existe des contacts

3720, Le contact existe dj dans la banque

3721, L'abrg du RIB existe dj

3722, Suppression impossible, la taxe est utilise dans une criture

3723, Suppression impossible, la taxe est utilise dans le compte gnral

3724, TA_CODE estb non modifiable

3725, Le contact existe dj

3726, Suppression impossible car il existe dj des contacts

3727, Le code Taxe n'existe pas

3728, Le rglement doit tre unique

3729, EG_CHAMP de F_FAMTARIF ne fait pas rfrence un champ de P_GAMME de type


quantit ou montant

3730, EG_CHAMP de F_FAMFOURNISS ne fait pas rfrence un champ de P_GAMME de


type quantit ou montant

3731, EG_CHAMP de F_ARTFOURNISS ne fait pas rfrence un champ de P_GAMME de


type quantit ou montant

3732, AS_QteComCM n'est pas modifiable

3733, AS_QteResCM n'est pas modifiable

3734, AS_Principal n'est pas modifiable

3735, AS_QteCom n'est pas modifiable

3736, AS_QteRes n'est pas modifiable


127
Sage France

Annexe 4 Les codes erreurs Sage

3737, AS_QteSto n'est pas modifiable

3738, AS_MontSto n'est pas modifiable

3739, DE_No n'est pas modifiable

3740, EG_Ligne n'est pas modifiable

3741, EG_LIGNE doit tre 0 en ajout

3742, La gamme 2 ne peut pas tre modifie

3743, La gamme 1 ne peut pas tre modifie

3744, Le prix unitaire TTC doit tre gal 0

3745, La catgorie comptable ne peut pas tre modifie, car des lignes sont associes ce
document

3746, AL_VALORISE n'est pas modifiable

3747, Le type d'abonnement n'est pas modifiable, car c'est un modle

3748, Le modle d'abonnement doit tre unique

3749, FT_CATEGORIE n'est pas modifiable

3750, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans
F_FAMTARIFQTE

3751, CT_NUM n'est pas modifiable

3752, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans
F_FAMTARIFQTE

3753, Le type de gamme n'est pas de type quantit ou montant

3754, La catgorie tarifaire n'existe pas dans F_FAMCLIENT

3755, Le Tiers n'existe pas dans F_FAMFOURNISS

3756, Suppression impossible du fournisseur principal

3757, Le type de gamme n'est pas de type quantit ou montant

3758, EC_CHAMP n'est pas modifiable

3759, EG_CHAMP n'est pas modifiable

3760, Le journal de rglement de vente n'est pas renseign

3761, Le journal de rglement d'achat n'est pas renseign


128
Sage France

Annexe 4 Les codes erreurs Sage

3762, Suppression impossible, car l'imputation n'est pas de type rglement

3763, Suppression impossible, car le rglement n'est pas de type rglement

3764, Modification du type vendeur impossible, car il existe des commissions

3765, Suppression impossible ou modification du type vendeur impossible

3766, Le reprsentant n'existe pas

3767, Le code dpt doit tre unique

3768, L'numr statistique article existe dj

3769, L'intitul de l'vnement n'existe pas dans F_AGENDADET

3771, Saisie du compte tiers obligatoire pour ce compte gnral.

3772, La famille pas de type dtail

3773, L'enregistrement de ARTCOMPTA est vide

3774, L'enregistrement de FAMCOMPTA est vide

3775, FA_TYPE et FA_CODEFAMILLE sont non modifiables

3776, Le code barre doit tre unique

3782, Suppression impossible, car ce dpt est utilis dans un agenda

3783, Suppression impossible, car ce dpt est utilis dans une ligne d'abonnement

3784, Suppression impossible, car ce dpt est utilis dans un entte d'abonnement

3785, Suppression impossible, car ce dpt est utilis dans un dpt article

3786, Suppression impossible, car ce dpt est utilis dans un entte de document

3787, Suppression impossible, car ce dpt est utilis dans une ligne de document

3788, Le type de barme ne peut pas tre modifi

3789, Le reprsentant n'existe pas

3790, RE_NO doit tre gal 0

3791, Le barme n'existe pas

3792, TF_NO doit tre gal 0

3793, La quantit du lien ne peut pas tre augmente

3794, Le numro de la ligne d'achat ne peut pas tre modifi


129
Sage France

Annexe 4 Les codes erreurs Sage

3795, Le numro de la ligne de vente ne peut pas tre modifi

3796, Le total des liens est suprieur la quantit de la ligne d'achat

3797, Le total des liens est suprieur la quantit de la ligne de sortie

3798, Ajout, modification et suppression impossible, car il existe un enregistrement dans le


fichier des liens entre les rglements et les chances

3799, Le statut du document d'achat n'est pas valide

3800, Le statut du document de vente n'est pas valide

3801, L'article des lignes n'est pas contremarque

3802, La rfrence article des lignes est vide

3803, Les deux lignes n'ont pas la mme rfrence article

3804, Le type de la ligne d'achat est incorrect

3805, Le type de la ligne de vente est incorrect

3806, La ligne d'achat n'existe pas

3807, La ligne de vente n'existe pas

3808, Le numro de srie ne peut pas tre modifi

3809, La quantit doit tre ngative

3810, La quantit doit tre ngative pour les factures d'avoir ou de retour

3811, Le N de lot est utilis en commande client

3812, Le numro de srie/lot est inexistant

3813, Le numro de srie/lot existe dj

3814, L'tat du stock ne permet pas de modifier la ligne

3815, L'tat du stock ne permet pas la suppression

3816, Suppression impossible, car ce modle est utilis

3817, Le numro du dpt de stockage ne peut pas tre modifi

3818, Suppression impossible, L'entte d'abonnement doit d'abord tre supprime

3819, Le numro du reprsentant ne peut pas tre modifi

3820, Le reprsentant existe dj


130
Sage France

Annexe 4 Les codes erreurs Sage

3821, Suppression impossible, car des commissions/reprsentant sont associes

3822, Suppression impossible, car des tarifs/quantits sont associs

3823, Suppression impossible, car des tarifs/quantits sont associs

3824, Suppression impossible, car des tarifs sont associs

3825, Suppression impossible, car des familles/comptabilit sont associes

3826, Suppression impossible, car des modles sont associs

3827, Suppression impossible, car des fournisseurs sont associs

3828, Suppression impossible, car des clients sont associs

3829, Le numro tarif de tarif reprsentant ne peut pas tre modifi

3830, Le numro reprsentant de tarif reprsentant ne peut pas tre modifi

3831, Le tarif reprsentant existe dj

3832, Suppression impossible, car des remises de tarif sont associes

3833, Suppression impossible, car des applications de tarif sont associes

3834, Le numro de remise de tarif/barme ne peut pas tre modifi

3835, La remise de tarif/barme existe dj

3836, L'application de tarif/barme existe dj

3837, Le numro d'application de tarif/barme ne peut pas tre modifi

3838, Le numro de tarif/barme ne peut pas tre modifi

3839, Le tiers ne peut pas tre modifi

3840, Le code famille ne peut pas tre modifi

3841, Le champ d'agenda ne peut pas tre modifi

3843, La date d'opration doit tre < la date du nouveau solde

3844, On ne peut ajouter de lignes d'extraits que dans le dernier extrait et extrait manuel

3845, On ne peut supprimer des lignes d'extraits rapproches

3846, On ne peut supprimer un extrait car il existe des lignes d'extrait

3847, PIECE n'est pas modifiable

3848, MONTANTCPTA n'est pas modifiable


131
Sage France

Annexe 4 Les codes erreurs Sage

3849, EE_MONTANT n'est pas modifiable

3850, N_REJET n'est pas modifiable

3851, CODEINTERBANCAIRE n'est pas modifiable

3852, CODEINTERNE n'est pas modifiable

3853, EE_DATEVAL n'est pas modifiable

3854, EE_DATEOP n'est pas modifiable

3855, EE_ETAT et EE_LETTRE non modifiables

3856, Une ligne d'extrait existe dj avec un EE_LIGNE identique

3857, On ne peut supprimer que le dernier extrait

3858, Suppression impossible car rapproch

3859, NOUVDATE n'est pas modifiable

3860, EX_ANCSOLD n'est pas modifiable

3861, EB_NO n'est pas modifiable

3862, EX_NO n'est pas modifiable

3863, EX_ANCDATE n'est pas modifiable

3864, Le champ EX_AncSolde doit prendre la valeur du solde de l'extrait prcdent

3865, Le champ EX_AncDate doit prendre la valeur de la date de l'extrait prcdent

3866, L'ajout d'un nouvel extrait se fait obligatoirement la fin

3867, Il existe dj un extrait

3868, EE_LETTRE doit tre vide

3869, Nb de dcimales de MONTANTCPTA incorrect

3870, EE_MONTANT est invalide

3871, Date de valeur obligatoire

3872, Date opration obligatoire

3873, On ne peut ajouter des lignes d'extrait dans un tat rapproch

3874, EE_LIGNE invalide

3875, Nb de dcimales de EX_ANCSOLD incorrect


132
Sage France

Annexe 4 Les codes erreurs Sage

3876, EX_ETAT doit tre 0

3877, EX_REF obligatoire

3878, EB_NO inexistant

3879, EX_TYPE doit tre 0

3880, EX_NO invalide

3881, Le pays existe dj

3882, Nb de dcimales de PA_TRANSPORT incorrect

3883, Nb de dcimales de PA_ASSURANCE incorrect

3884, Intitul du pays obligatoire

3885, N_Analytique et EA_Rupture non modifiables

3886, L'numr analytique existe dj

3887, L'intitul de l'numr analytique est obligatoire

3888, EC_DATE non modifiable

3889, L'enregistrement COMPTEGA existe dj

3890, CG_AVREPART doit tre 0

3891, Nb de dcimales de CG_AVREPART incorrect

3892, Suppression impossible, car des priodes sont associes

3893, L'intervalle de priode d'abonnement existe dj

3894, Suppression impossible, car des rglements sont associs

3895, L'entte d'abonnement n'existe pas

3896, L'entte d'abonnement doit tre unique

3897, L'abonnement est obligatoire en saisie d'abonnement

3898, Suppression impossible, car des lignes sont associes cet abonnement

3899, La catgorie comptable ne peut pas tre modifie

3900, Le tiers ne peut pas tre modifi

3901, Le Numro d'abonnement ne peut pas tre modifi

133
Sage France

Annexe 4 Les codes erreurs Sage

3902, La catgorie tarifaire ne peut pas tre modifie, car des lignes sont associes cet
abonnement

3903, Le compte analytique ne peut pas tre modifi, car des lignes sont associes cet
abonnement

3904, La devise ne peut pas tre modifie, car des rglements sont associs cet abonnement

3905, La devise ne peut pas tre modifie, car des lignes sont associes cet abonnement

3906, Le taux de conversion en devise ne peut pas tre modifi, car des rglements sont associs
cet abonnement

3907, Le taux d'escompte ne peut pas tre modifi, car des rglements sont associs cet
abonnement

3908, Le compte gnral n'existe pas

3909, Le modle d'abonnement ne peut tre modifi

3910, Le client de l'abonnement ne peut tre modifi

3911, Le numro d'abonnement ne peut tre modifi

3912, Le modle n'existe pas

3913, L'article comptabilit doit tre unique

3914, La famille comptabilit doit tre unique

3915, Un dpt principal est obligatoire

3916, L'intitul de dpt doit tre unique

3920, La quantit minimale de commande doit tre suprieure au colisage du fournisseur

3921, La famille centralisatrice est utilise dans une famille

3922, La famille est utilise dans un barme

3923, La famille est utilise dans un article

3924, La famille centrale n'existe pas

3925, La famille existe dj

3926, L'numr de conditionnement existe dj

3927, L'numr de gamme existe dj

3928, Le champ de l'numr statistique article n'est pas modifiable


134
Sage France

Annexe 4 Les codes erreurs Sage

3929, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation.

3930, Le champ ne peut tre modifi

3931, La cl RIB est incorrecte

3932, Suppression impossible. L'chance possde des critures associes

3933, Suppression impossible. L'chance a fait l'objet d'une transmission

3934, L'criture comptable n'existe pas

3935, Le compte effet n'existe pas

3936, La banque n'existe pas

3937, Le compte de TVA n'existe pas

3938, Le compte de tiers n'existe pas

3939, Le compte gnral n'existe pas

3940, L'intitul du tarif doit tre unique

3941, Certains champs ne peuvent pas tre modifis dans les lignes de commentaire

3942, Modification de DL_Frais possible, qu'avec un document d'achat de type facture ou un bon
de livraison si l'article n'est pas suivi en stock

3943, L'chance ne peut tre modifie car elle est associe un entte.

3944, L'criture est une criture de centralisation

3945, L'criture est lettre

3946, La modification du numro d'chance est impossible

3947, Cette criture est dj associe cette chance

3948, L'chance n'existe pas

3949, L'criture comptable n'existe pas

3950, Ce raccourci existe dj

3951, AR_RefCompose n'est pas modifiable

3952, DO_Ventile n'est pas modifiable

3953, DO_FinPeriod n'est pas modifiable

3954, DO_DebutPeriod n'est pas modifiable


135
Sage France

Annexe 4 Les codes erreurs Sage

3955, DO_FinAbo n'est pas modifiable

3956, DO_DebutAbo n'est pas modifiable

3957, AB_No n'est pas modifiable

3958, L'abonnement n'existe pas

3959, La date n'est pas une date valide

3960, DO_Reliquat n'est pas modifiable

3961, La souche est invalide

3962, DO_souche n'est pas modifiable

3963, EC_ANTYPE est non modifiable

3964, Impossible de modifier la devise quand il y a des extraits associs

3965, Le compte payeur n'est du type du compte tiers

3966, Le nombre de dcimales des quantits est incorrect

3966, Ce statut est invalide

3967, EB_NO est non modifiable

3968, EB_NO doit tre 0 en ajout

3969, La section analytique du compte de tiers n'existe pas

3970, La section analytique est dj utilise dans un compte de tiers

3971, La section analytique est dj utilise dans des rpartitions analytiques

3972, Il existe dj des rpartitions analytiques

3973, Ce statut est invalide

3974, Si on modifie le statut du document, alors il faut que l'ancien statut soit valide et que le
nouveau le soit aussi

3975, Le statut du document est invalide

3976, L'article est incompatible avec les articles lis

3977, L'article est incompatible avec les nomenclatures commerciales

3978, Dans F_ARTCLIENT, si on est sur Hors Remise, alors on ne peut pas affecter de gamme
de remise

136
Sage France

Annexe 4 Les codes erreurs Sage

3979, Dans F_ARTFOURNISS, si on est sur Hors Remise, alors on ne peut pas affecter de
gamme de remise

3980, AR_NOMENCL ne peut tre modifi. L'article fait partie d'un article commercial compos,
composant ou li

3981, Le compte gnral n'existe pas

3982, Le compte gnral n'existe pas

3983, Dans F_NOMENCLAT, la somme des % de rpartitions ne doit tre > 100%

3984, Dans F_ARTCLIENT, on ne peut pas passer en Hors remise, s'il existe une gamme de
remise pour cet article

3985, Dans F_ARTCLIENT, si on est sur Hors Remise, alors on ne peut pas affecter de remise

3986, Dans F_ARTFOURNISS, on ne peut pas passer en Hors remise, s'il existe une gamme de
remise pour cet article

3987, Dans F_ARTFOURNISS, si on est sur Hors Remise, alors on ne peut pas affecter de remise

3988, L'article n'est pas une nomenclature

3989, Suppression impossible car l'article existe dans F_MODELE

3990, Le suivi de stock est incompatible avec les nomenclatures commerciales

3991, Champs non valides pour une famille ou une immobilisation non soumise la taxe
foncire.

3992, La date de fin doit tre suprieure au dernier loyer cltur !

3993, Les champs du contrat ne sont pas modifiables, il existe des loyers clturs !

3994, Champs non modifiables pour une immobilisation de type Bien !

3995, Date de contrat invalide !

3996, L'immobilisation ne possde pas de date de dbut et fin de contrat alors que des champs
relatifs aux contrats sont renseigns !

3997, Le cot ne doit pas tre renseign en mode ajout !

3998, L'immobilisation est de type Biens alors que des champs relatifs aux contrats sont
renseigns !

3999, Le type d'origine de l'immobilisation ne doit tre renseign que si une date de rachat existe
!

4000, La gamme 1 ne peut pas tre vide car l'article possde une gamme 1
137
Sage France

Annexe 4 Les codes erreurs Sage

4001, La gamme 2 doit tre vide, car l'article ne possde pas de gamme 2

4002, La gamme 1 doit tre vide, car l'article ne possde pas de gamme 1

4003, Le dpt mouvement n'existe pas

4004, Le reprsentant n'existe pas

4005, Le numro de dpt doit tre diffrent de 0 pour un article suivi en stock

4006, Le numro de dpt doit tre gal 0 pour un article qui n'est pas suivi en stock

4007, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail

4008, Ce fournisseur ne fait pas parti de la liste des fournisseurs de cet article

4009, Le glossaire n'existe pas ou n'est pas associ un document

4010, L'entte de document n'existe pas

4011, Le type du prix (TTC ou HT) doit tre en HT pour une ligne faisant rfrence aucun
article

4012, Le reprsentant doit tre gal 0

4013, Le type du prix (TTC ou HT) doit tre en HT pour un document de type achat

4014, L'article est vide ou n'est pas de type C39 ou est de longueur > 18

4015, Une remise de pied ne peut pas tre combine avec une remise exceptionnelle

4016, L'numr rfrence article est unique

4017, Le numro de l'numr de gamme 2 n'est pas modifiable

4018, Le numro de l'numr de gamme 1 n'est pas modifiable

4019, L'numr article est unique

4020, La gamme 2 n'existe pas

4021, La gamme 1 n'existe pas

4022, L'numr article n'est pas de type C39 ou est de longueur > 18

4023, La gamme 1 doit tre renseigne : valeur non nulle

4024, Le compte de contrepartie n'existe pas

4025, L'tat du stock ne permet pas de crer la ligne

4026, Le type de taxe 3 ne peut pas tre modifi


138
Sage France

Annexe 4 Les codes erreurs Sage

4027, Le type de taux de taxe 3 ne peut pas tre modifi

4028, Le taux de taxe 3 ne peut pas tre modifi

4029, La rfrence numr conditionnement existe dj

4030, La rfrence numr conditionnement n'est pas de type C39

4031, S'il y a une devise ou un prix de vente, PV/PR doit tre nul

4032, Changement d'article gamme, modification impossible car existe dans F_ARTENUMREF
ou suppression impossible

4033, Dans l'article la gamme 1 ou la gamme 2 n'est pas de type produit

4034, On n'a pas le droit de supprimer un glossaire dans un document

4035, EG_CHAMP de F_ARTCLIENT ne fait pas rfrence un champ de P_GAMME de type


quantit ou montant

4036, Ce glossaire n'existe pas ou GL_DOMAINE n'est pas de type article

4037, AGL_NUM doit tre 0

4038, Le numro interne doit tre <> 0

4039, L'article est vide ou n'est pas de type C39 ou est de longueur > 18

4040, Le numro de pice ne peut pas tre modifi

4041, Le type de document ne peut pas tre modifi

4042, Le domaine ne peut pas tre modifi

4043, Le numro interne de l'chance ne peut pas tre modifi

4044, Le numro interne de rglement ne peut pas tre modifi

4045, Ce numro de pice n'existe pas pour ce type de document

4046, Le numro interne de l'chance n'existe pas

4047, Le numro interne du rglement n'existe pas

4048, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de
longueur > 8 caractres

4049, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine
de document

4050, Le domaine doit tre compris entre 0 et 1


139
Sage France

Annexe 4 Les codes erreurs Sage

4051, Le montant imput sur l'chance ne peut pas tre gal 0

4052, Le numro interne de l'chance ne peut pas tre gal 0

4053, Le numro interne du rglement ne peut pas tre gal 0

4054, Le champ rglement imput ne peut pas tre modifi

4055, Le champ rglement comptabilis ne peut pas tre modifi

4056, Le type (client ou fournisseur) ne peut pas tre modifi

4057, Le tiers payeur ne peut pas tre modifi

4058, Le numro interne ne peut pas tre modifi

4059, Modification et suppression impossible, car il existe un enregistrement dans le fichier des
liens entre les rglement et les chances ayant le mme numro interne

4060, Le champ rglement comptabilis doit tre 0

4061, Le champ rglement imput doit tre 0

4062, Le numro interne doit tre 0

4063, L'criture comptable associe n'existe pas

4064, Le journal n'est pas du type trsorerie

4065, Le journal n'existe pas

4066, Le code journal est vide ou est de longueur > 6 caractres

4067, Le montant du rglement en devise doit tre 0

4068, Le cours de la devise doit tre 0

4069, Le montant du rglement doit tre diffrent de 0

4070, La date du rglement est obligatoire ou la date n'est pas valide

4071, Le Tiers payeur est vide ou n'est pas en Alphanum. Maj. ou est de longueur > 17 caractres
pour les documents d'achat ou de vente, ou n'est pas vide pour les documents de type stock

4072, Suppression impossible d'un rglement d'quilibre

4073, Suppression impossible d'un rglement d'quilibre

4074, Le champ chance rgle ne peut pas tre modifi

4075, Le champ ligne d'quilibrage ne peut pas tre modifi

140
Sage France

Annexe 4 Les codes erreurs Sage

4076, Le type de rglement ne peut pas tre modifi

4077, Le numro de pice du document ne peut pas tre modifi

4078, Le type du document ne peut pas tre modifi

4079, Le domaine du document ne peut pas tre modifi

4080, Le numro interne des acomptes et des chances de document ne peut pas tre modifi

4081, Ajout, modification et suppression impossible, car il existe un enregistrement dans le


fichier des liens entre les rglement et les chances ayant le mme domaine, le mme type et le
mme numro de pice

4082, le champ chance rgle doit tre 0

4083, La ligne d'quilibrage doit tre gale 0

4084, Le montant en devise du rglement doit tre gal 0

4085, Le numro interne du rglement doit tre gal 0

4086, Le numro de l'criture n'existe pas

4087, Le numro interne de l'criture ne peut pas tre gal 0

4088, Le pourcentage, le montant du rglement et la ligne d'quilibrage ne peuvent pas tre, tous
les trois, gaux 0

4089, Dans le cas d'une ligne d'quilibrage, le pourcentage du rglement doit tre gal 0

4090, Dans le cas d'une ligne d'quilibrage, le montant en devise du rglement doit tre gal 0

4091, Dans le cas d'une ligne d'quilibrage, le montant du rglement doit tre gal 0

4092, Le pourcentage et le montant en devise du rglement ne peuvent pas tre, tous les deux, > 0

4093, Le pourcentage et le montant du rglement ne peuvent pas tre, tous les deux, > 0

4094, Pour une chance, le libell doit tre vide

4095, Pour un acompte, le champ chance rgle doit tre non

4096, Pour un acompte, le montant du rglement ne peut pas tre gal 0

4097, Pour un acompte, le pourcentage du rglement doit tre gal 0

4098, Pour un acompte, le champ ligne d'quilibrage doit tre 0

4099, Pour un acompte, le mode de rglement d'une chance doit tre gal 0

4100, Le libell du rglement est de longueur > 35 caractres


141
Sage France

Annexe 4 Les codes erreurs Sage

4101, Le type de rglement doit tre compris entre 0 et 1

4102, La date du rglement est obligatoire ou la date n'est pas valide

4103, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de
longueur > 8 caractres

4104, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine
de document

4105, Le domaine doit tre du type achat ou vente

4106, Suppression impossible, la ligne n'est pas du type devis, bon de commande, commande ou
commande confirme

4107, Ajout, modification et suppression impossible, car il existe un enregistrement dans le


fichier des liens entre les rglements et les chances ayant le mme domaine, le mme type et le
mme numro de pice

4108, Le numro de dpt mouvement ne peut pas tre modifi

4109, Le numro interne DL_NOREF ne peut pas tre modifi

4110, Le type de prix (HT ou TTC) ne peut pas tre modifi

4111, Le conditionnement ne peut pas tre modifi

4112, La rfrence fournisseur ne peut pas tre modifie

4113, La gamme 2 ne peut pas tre modifie

4114, La gamme 1 ne peut pas tre modifie

4115, Le champ ligne de type numr de gamme ne peut pas tre modifi

4116, Le type de taxe 2 ne peut pas tre modifi

4117, Le type de taux de taxe 2 ne peut pas tre modifi

4118, Le taux de taxe 2 ne peut pas tre modifi

4119, Le type de taxe 1 ne peut pas tre modifi

4120, Le type de taux de taxe 1 ne peut pas tre modifi

4121, Le taux de taxe 1 ne peut pas tre modifi

4122, La rfrence de l'article ne peut pas tre modifie

4123, La remise exceptionnelle ne peut pas tre modifie

4124, La remise de pied ne peut pas tre modifie


142
Sage France

Annexe 4 Les codes erreurs Sage

4125, Le numro de ligne ne peut pas tre modifi

4126, La date du bon de livraison ne peut pas tre modifie

4127, La date du bon de commande ne peut pas tre modifie

4128, Le numro de pice du bon de livraison ne peut pas tre modifi

4129, Le numro de pice du bon de commande ne peut pas tre modifi

4130, Le Tiers ne peut pas tre modifi

4131, La date du document ne peut pas tre modifie

4132, Le numro de pice interne ne peut pas tre modifi

4133, Le type de la ligne de document ne peut pas tre modifi

4134, Le domaine de la ligne de document ne peut pas tre modifi

4135, Le numro interne de la ligne de document ne peut pas tre modifi

4136, Diffrence entre Qt et QtRestante.

4137, Une ligne de document, avec le mme numro de ligne existe dj pour ce document

4138, Pour un document en devise, le type de prix (HT ou TTC) doit tre en HT

4139, Le prix unitaire en devise doit tre gal 0

4140, La gamme 2 n'existe pas

4141, La gamme 1 n'existe pas

4142, La gamme 1 doit tre vide pour une ligne qui n'est pas du type numr de gamme

4143, Pour une ligne de type numr de gamme, gamme 1 et gamme 2 ne peuvent pas tre vides
tous les deux

4144, La gamme 2 ne peut pas tre vide car l'article possde une gamme 2

4145, La gamme 1 ne peut pas tre vide car l'article possde une gamme 1

4146, La gamme 2 doit tre vide, car l'article ne possde pas de gamme 2

4147, La gamme 1 doit tre vide, car l'article ne possde pas de gamme 1

4148, Le dpt mouvement n'existe pas

4149, Le reprsentant n'existe pas ou n'est pas de type vendeur

4150, Le numro de dpt doit tre diffrent de 0 pour un article suivi en stock
143
Sage France

Annexe 4 Les codes erreurs Sage

4151, Le numro de dpt doit tre gal 0 pour un article qui n'est pas suivi en stock

4152, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail

4153, DL_NO doit tre gal 0

4154, La date du document n'est pas identique celle renseigne dans l'entte du document

4155, Le Tiers n'est pas identique celui renseign dans l'entte de document

4156, Ce fournisseur ne fait pas parti de la liste des fournisseurs de cet article

4157, Le glossaire n'existe pas ou n'est pas associ un document

4158, L'entte de document n'existe pas

4159, L'article doit tre non suivi en stock (F_ARTICLE.AR_SUIVISTOCK = 0) ou suivi au


CMUP F_ARTICLE.AR_SUIVISTOCK = 2)

4160, Le champ DL_PUTTC ne peut pas tre modifi pour les documents HT ou ayant une
devise

4161, Le type du prix (TTC ou HT) doit tre en HT pour une ligne faisant rfrence aucun
article

4162, Le reprsentant doit tre gal 0

4163, Le type du prix (TTC ou HT) doit tre en HT pour un document de type achat

4165, Le poids brut et le poids net doivent tre 0 pour une ligne avec une remise de pieds ou
une remise exceptionnelle

4166, La quantit livre doit tre >= 0

4167, La quantit livre doit tre gale 0 pour un document de type devis ou commande

4168, La quantit commande doit tre >= 0

4169, La quantit colise doit tre > 0

4170, La quantit doit tre > 0

4171, La dsignation est de longueur > 69 caractres

4172, L'article est vide ou n'est pas de type C39 ou est de longueur > 18

4173, Une remise de pied ne peut pas tre combine avec une remise exceptionnelle

4174, Ligne de type nomenclature doit tre gale 0

4175, Les champs DL_DateBL et DO_Date doivent tre gaux pour les documents ne provenant
pas d'une transformation
144
Sage France

Annexe 4 Les codes erreurs Sage

4176, Les champs DL_DateBC et DO_Date doivent tre gaux pour les documents ne provenant
pas d'une transformation

4177, Le numro de pice et la date du bon de livraison doivent tre vide

4178, Le numro de pice et la date du bon de commande doivent tre vide

4179, La date du document est obligatoire ou la date n'est pas valide

4180, Le numro du Tiers est vide ou n'est pas en alphanumrique et majuscule ou est de
longueur > 17 caractres

4181, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de
longueur > 8 caractres

4182, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine
de document

4183, Le domaine de la ligne de document doit tre compris entre 0 et 2

4185, Le taux d'escompte ne peut pas tre modifi, car des rglements sont associs ce
document

4186, Suppression impossible, le document n'est pas du type vente ou achat

4187, Suppression impossible, car des rglements sont associs ce document

4188, Suppression impossible, car des lignes sont associes ce document

4189, Le Tiers payeur ne peut pas tre modifi, car des rglements sont associs ce document

4190, Le taux de conversion en devise ne peut pas tre modifi, car des rglements sont associs
ce document

4191, La devise ne peut pas tre modifie, car des rglements sont associs ce document

4192, La devise ne peut pas tre modifie, car des lignes sont associes ce document

4193, Le dpt de stockage ne peut pas tre modifi, car des lignes sont associes ce document

4194, AR_RefCompose doit tre vide si l'article n'est pas nomenclature commerciale composant
ou compos

4195, La catgorie tarifaire ne peut pas tre modifie, car des lignes sont associes ce document

4196, DL_Valorise n'est pas modifiable

4197, Le tiers ne peut pas tre modifi

4198, La date du document ne peut pas tre modifie


145
Sage France

Annexe 4 Les codes erreurs Sage

4199, Le numro de pice ne peut pas tre modifi

4200, Le type de document ne peut pas tre modifi

4201, Le domaine du document ne peut pas tre modifi

4202, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail

4203, Le dpt de livraison n'existe pas ou n'appartient pas ce tiers

4204, Le dpt de stockage n'existe pas

4205, Ce reprsentant n'existe pas

4206, Ce numro de pice existe dj dans un autre document

4207, Le type de mouvement d'une ligne de document n'est pas modifiable

4208, Le dpt de livraison doit tre gal 0

4209, Le reprsentant doit tre gal 0

4210, Le dpt de stockage doit tre diffrent de 0

4211, Un bon de livraison par facture doit tre compris entre 0 et 1

4212, Un bon de livraison par facture doit tre gal 0

4213, Le Tiers payeur est vide ou n'est pas en alphanumrique et majuscule ou est de longueur >
17 caractres pour les documents d'achat ou de vente, ou n'est pas vide pour les documents de
type stock

4214, Le taux de conversion doit tre gal 0

4215, Le numro du tiers est vide ou n'est pas en alphanumrique et majuscule ou est de longueur
> 17 caractres

4216, La date du document est obligatoire ou la date n'est pas valide

4217, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de
longueur > 8 caractres

4218, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine
de document

4220, Suppression impossible car existe dans F_ARTGLOSS

4221, Un glossaire associ une ligne de document est non modifiable

4222, Le domaine du glossaire n'est pas modifiable

4223, Le numro interne n'est pas modifiable


146
Sage France

Annexe 4 Les codes erreurs Sage

4224, Le raccourci du glossaire doit tre unique

4225, L'intitul du glossaire doit tre unique

4226, En ajout le numro interne doit tre 0

4227, Si c'est un glossaire rattach une ligne de document alors la priode de fin doit tre vide

4228, Si c'est un glossaire rattach une ligne de document alors la priode de dbut doit tre
vide

4229, La priode de dbut de doit pas tre suprieure la date de fin

4230, Si c'est un glossaire rattach une ligne alors le raccourci doit tre vide

4231, Si c'est un glossaire rattach une ligne alors l'intitul n'est pas renseign

4232, Si ce n'est pas un glossaire rattach une ligne alors l'intitul est obligatoire

4233, Si c'est un glossaire rattach une ligne de document alors GL_DOMAINE doit tre gal
2

4234, La date de dbut ou de fin doit tre renseigne

4235, L'intress est non modifiable

4236, Le domaine est non modifiable

4237, La date de dbut doit tre infrieure la date de fin

4238, AG_DOMAINE de F_AGENDA doit correspondre l'intress de P_AGENDAS

4239, Il existe dj un reprsentant

4240, Ce dpt existe dj

4241, L'intitul de l'vnement n'existe pas dans F_AGENDADET

4242, L'intitul de l'vnement ne peut tre vide

4243, Pour le domaine client ou fournisseur, la rfrence de l'intress est vide ou n'est pas en
alphanumrique majuscule ou est de longueur > 17 caractres. Pour le domaine article, l'intress
est vide ou n'est pas de type C39. Pour le domaine dpt ou article, l'intress est vide ou n'est pas
une chane de caractres numrique

4244, Le domaine de l'agenda doit tre compris entre 0 et 4

4245, Le numro interne de conditionnement n'est pas modifiable

4246, Le numro client ou la catgorie de clients n'est pas modifiable

4247, La rfrence article n'est pas modifiable


147
Sage France

Annexe 4 Les codes erreurs Sage

4248, Le tarif de conditionnement est unique

4249, La catgorie tarifaire n'existe pas dans F_ARTCLIENT

4250, Le client n'existe pas dans F_ARTCLIENT

4251, L'article de F_TARIFCOND n'est pas le mme que celui F_CONDITION, ou le


conditionnement n'existe pas pour l'article

4252, Le client n'est pas en majuscule (avec longueur <= 17 car ), ou, la catgorie tarifaire n'est
pas de longueur = 3 car ou la premire lettre <> 'a' ou 2 derniers caractres non numriques (et
compris entre 1 et 32)

4253, Le prix de l'lment de conditionnement ne doit pas tre nul.

4254, Le numro interne de l'lment de conditionnement ne doit pas tre nul

4255, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4256, Suppression impossible car existe dans F_TARIFCOND

4257, La rfrence article n'est pas modifiable

4258, Le numro interne n'est pas modifiable

4259, La quantit de conditionnement existe dj

4260, L'article est gamme, donc on ne peut avoir de conditionnement

4261, L'article ne possde pas de conditionnement

4262, Le numro interne de l'lment de conditionnement doit tre 0 en ajout

4263, La quantit de l'numr de conditionnement doit tre > 0

4264, L'numr de conditionnement est vide ou est de longueur > 21 caractres

4265, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4266, L'article ne peut pas appartenir sa nomenclature

4267, La rfrence article n'est pas modifiable

4268, La composante existe dj

4269, L'numr de gamme 2 n'existe pas dans F_ARTGAMME

4270, L'numr de gamme 1 n'existe pas dans F_ARTGAMME

4271, L'numr de gamme 2 est non nul alors que la composante n'est pas double gamme

4272, La composante est double gamme alors que l'numr de gamme 2 est nul
148
Sage France

Annexe 4 Les codes erreurs Sage

4273, L'numr de gamme 1 est non nul alors que la composante n'est pas gamme

4274, La composante est gamme alors l'numr de gamme 1 est nul

4275, L'article principal ne peut pas avoir de gamme

4276, La profondeur pour une nomenclature ne peut tre >= 10

4277, Une nomenclature ne peut contenir un article contenant lui mme l'article principal

4278, S'il y a un numr de gamme 2, l'numr de gamme 1 doit tre prsent

4279, La quantit d'articles de dtail dans l'article principal doit tre non nul

4280, La rfrence de l'article de dtail n'est pas de type C39 ou est de longueur > 18 caractres

4281, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4282, Le fournisseur, le client ou la catgorie tarifaire n'est pas modifiable

4283, La rfrence article n'est pas modifiable

4284, Cette tranche de tarification existe dj

4285, La catgorie tarifaire n'existe pas dans F_ARTCLIENT

4286, Le Tiers n'existe pas dans F_ARTFOURNISS ou F_ARTCLIENT

4287, Le Tiers n'existe pas dans la base comptable

4288, Le type de la remise doit tre compris entre 0 et 2

4289, Le Tiers n'est pas en majuscule (avec longueur <= 17 car ), ou, la catgorie tarifaire n'est
pas de longueur = 3 car ou la premire lettre <> 'a' ou 2 derniers caractres non numriques (et
compris entre 1 et 32)

4290, La borne suprieure de la remise doit tre <> 0

4291, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4292, La rfrence article, le fournisseur ou la catgorie tarifaire, les numros des numrs de
gamme 1 et 2 existent dj

4293, Le numro de l'numr de gamme 2 n'est pas modifiable

4294, Le numro de l'numr de gamme 1 n'est pas modifiable

4295, Le tiers ou la catgorie tarifaire n'est pas modifiable

4296, La rfrence article n'est pas modifiable

4297, La catgorie tarifaire n'existe pas dans F_ARTCLIENT


149
Sage France

Annexe 4 Les codes erreurs Sage

4298, Le client ou le fournisseur n'existe pas dans F_ARTCLIENT ou F_ARTFOURNISS

4299, La gamme 2 n'existe pas

4300, La gamme 1 n'existe pas

4301, L'article est double gamme, le numro interne de gamme 2 doit donc tre non nul

4302, L'article ne possde pas de gamme 2, alors que le numro interne de gamme2 est non nul

4303, L'article n'est pas gamme

4304, Le tiers n'existe pas dans la base comptable

4305, Le client ou le fournisseur n'est pas en majuscule (avec longueur <= 17 car ), ou la
catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou les 2 derniers
caractres non numriques (et compris entre 1 et 32)

4306, Le prix de l'lment de gamme doit tre <> 0

4307, La gamme 1 doit tre renseigne : valeur non nulle

4308, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4309, Suppression impossible car l'article existe dans F_TARIFCOND

4310, Suppression impossible car l'article existe dans F_TARIFQTE

4311, Suppression impossible car l'article existe dans F_TARIFGAM

4312, Modification impossible de la gamme car un client ou une catgorie tarifaire existe dj
dans F_TARIFQTE

4313, La catgorie tarifaire n'est pas modifiable

4314, Le client n'est pas modifiable

4315, La rfrence article n'est pas modifiable

4316, La catgorie tarifaire doit tre unique

4317, Le client doit tre unique

4318, S'il y a une devise, le coefficient doit tre nul

4319, S'il y a une devise, il ne doit y avoir aucun mode d'arrondi

4320, S'il y a une devise, le prix doit tre HT

4321, Si aucune devise, le prix de vente en devise doit tre nul

4322, Si on a une devise, le prix de vente doit tre nul


150
Sage France

Annexe 4 Les codes erreurs Sage

4323, On ne peut avoir la fois une catgorie tarifaire et un client

4324, Impossible d'avoir une gamme montant ou quantit sans avoir de remise gamme

4325, Impossible d'avoir une remise gamme sans avoir de gamme de type quantit ou montant

4326, On ne peut avoir une remise gnrale et une tarification quantit ou montant

4327, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4328, Modification impossible de EG_CHAMP car existe dans F_TARIFQTE

4329, Suppression impossible car existe dans F_TARIFQTE

4330, Suppression impossible car existe dans F_TARIFGAM

4331, Suppression impossible du fournisseur principal

4332, Modification impossible du fournisseur principal

4333, Modification impossible du fournisseur

4334, Modification impossible de la rfrence article

4335, La rfrence fournisseur doit tre unique

4336, Le fournisseur doit tre unique

4337, Impossible d'avoir un prix d'achat en devise non nul sans avoir devise

4338, Impossible d'avoir une devise avec un prix d'achat non nul

4339, Impossible d'avoir une gamme montant ou quantit sans avoir de remise gamme

4340, Impossible d'avoir une remise gamme sans avoir de gamme

4341, On ne peut avoir une remise gnrale et une remise gamme

4342, La quantit minimale de commande doit tre > colisage fournisseur

4343, La rfrence fournisseur n'est pas de type C39 est de longueur > 18 caractres

4344, Le fournisseur est vide, est de longueur > 17 caractres ou n'est pas en majuscule

4345, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4346, Changement du type de gamme alors que l'article n'est pas double gamme

4347, L'article n'est pas gamme

4348, L'numr existe dj

151
Sage France

Annexe 4 Les codes erreurs Sage

4349, Modification impossible du type de gamme ou suppression impossible, car l'numr est
utilis dans F_TARIFGAM

4350, Modification impossible du type de gamme ou suppression impossible, car l'numr est
utilis dans F_GAMSTOCK

4351, Modification impossible du type de gamme ou suppression impossible, car l'numr est
utilis dans F_DOCLIGNE

4352, Modification impossible du type de gamme ou suppression impossible, car l'numr est
utilis dans F_NOMENCLAT

4353, La rfrence article est non modifiable

4354, Numro interne non modifiable

4355, On ne peut avoir 2 numrs de gamme avec le mme nom

4356, Le numro interne doit tre gal 0 en ajout

4357, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres

4358, Suppression impossible car l'article existe dans P_PREFERENCE (article/escompte)

4359, Suppression impossible car l'article existe dans F_AGENDA

4360, Suppression impossible car l'article existe dans F_TARIFSELECT

4361, Suppression impossible car l'article existe dans F_TARIF

4362, Suppression impossible car l'article existe dans F_ARTCOMPTA

4363, Suppression impossible car l'article existe dans F_ARTGLOS

4364, Suppression impossible car l'article existe dans F_GAMSTOCK

4365, Suppression impossible car l'article existe dans F_TARIFQTE

4366, Suppression impossible car l'article existe dans F_ARTCLIENT

4367, Suppression impossible car l'article existe dans F_ARTFOURNISS

4368, Modification impossible de la rfrence article

4369, Changement du suivi de stock = Aucun > modification ou suppression impossible car
l'article existe dans F_ARTSTOCK

4370, Changement de conditionnement, modification impossible de l'article car il existe dans


F_TARIFCOND ou suppression impossible

152
Sage France

Annexe 4 Les codes erreurs Sage

4371, Changement de conditionnement, modification impossible de l'article car il existe dans


F_CONDITION ou suppression impossible

4372, Modification ou Suppression impossible car l'article existe dans F_NOMENCLAT

4373, Changement de gamme ou de suivi de stock. La modification est impossible car l'article
existe dans F_DOCLIGNE, ou suppression impossible car il existe dans F_DOCLIGNE

4374, Changement de gamme, modification ou suppression impossible de l'article car il existe


dans F_TARIFGAMME

4375, Changement de gamme, modification ou suppression impossible de l'article car il existe


dans F_ARTGAMME

4376, L'numr n'existe pas

4377, Si l'article possde un raccourci, celui ci doit tre unique

4378, Si l'article possde un article de substitution, il ne doit pas tre gamme

4379, L'article est unique

4380, Le suivi en stock de l'article, srialis ou par lot est incompatible avec un article gamme
ou conditionnement ou gr en vente au dbit

4381, L'article ne peut possder un conditionnement et tre gr en vente au dbit

4382, L'article ne peut avoir une gamme et tre gr en vente au dbit

4383, L'article ne peut possder une gamme et une nomenclature

4384, L'article ne peut tre gamme et possder un conditionnement

4385, Si l'article est double gamme, alors la gamme 1 et la gamme 2 doivent tre renseignes. Si
l'article ne possde qu'une seule gamme (gamme 1) alors seule la gamme 1 doit tre renseigne

4386, L'article ne peut tre son propre article de substitution

4387, Le code famille est vide ou n'est pas en Alpha Numrique Majuscule ou est de longueur >
10 caractres

4388, La dsignation article est obligatoire

4389, L'article est vide ou n'est pas de type C39 ou est de longueur > 18

4390, Le code famille n'est pas modifiable

4391, Le tarif est unique

4392, La remise gnrale ne doit pas tre 0


153
Sage France

Annexe 4 Les codes erreurs Sage

4393, Le tiers est vide ou n'est pas de type alphanumrique et majuscule ou est de longueur > 17
caractres

4394, La famille est vide ou n'est pas de type alphanumrique et majuscule ou est de longueur >
10 caractres

4395, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation.

4396, L'article n'existe pas

4397, Le fournisseur n'existe pas

4398, Le client n'existe pas

4399, La famille n'existe pas

4400, Diffrence entre Qt et QtRestante.

4401, En ajout IM_DotEco,IM_DotFiscal,IM_TotCession doivent tre nulle.

4402, En ajout l'immobilisation ne peut pas faire rfrence une criture.

4403, En ajout MajCpta doit tre 0.

4404, En ajout TypeCession doit tre sur CessionNulle.

4405, En ajout IM_Etat incorrect.

4406, L'immobilisation existe dj.

4407, L'immobilisation n'existe pas.

4408, Il existe un bloc notes pour cette immobilisation donc non supprimable.

4409, Le bloc note existe dj.

4410, L'numr statistique n'existe pas.

4411, L'numr statistique existe.

4412, Le fichier des lieux de biens doit contenir un lieu principal.

4413, Le fichier des lieux de biens doit contenir un lieu principal.

4414, Le lieu n'existe pas.

4415, Le lieu existe dj.

4416, En ajout LI_No doit tre 0.

4417, Le compte analytique est dj rattach cette ventilation analytique.

154
Sage France

Annexe 4 Les codes erreurs Sage

4418, Suppression impossible, il existe des enregistrements dans FamAnal ou dans ImmoAnal.

4419, Champs non valide pour une famille ou une immobilisation non suivie.

4420, Taux modifiable qu'en exceptionnel.

4421, Seul le taux peut tre modifi.

4422, Champs non valide pour une famille de type total.

4423, La nature de bien n'est plus modifiable s'il existe des immobilisations ou des FAMAMORT
pour la famille.

4424, FA_CodeFamille et FA_Type ne sont jamais modifiables.

4425, Pour une famille de type TOTAL seul l'intitul est modifiable.

4426, La famille n'existe pas.

4427, La famille existe dj.

4428, Coeff. nul en mode dgressif.

4429, Coeff. non nul en mode autre que dgressif.

4430, Si la famille n'est pas suivie en amortissement les 2 dures doivent tre nulles.

4431, RE_NO fait rfrence un reprsentant inexistant, ou doit tre gal 0 pour une utilisation
sans la gestion commerciale

4432, DE_NO fait rfrence un dpt inexistant, ou doit tre gal 0 pour une utilisation sans la
gestion commerciale

4433, L'criture gnrale ne peut tre supprime car elle est rapproche

4434, Ce compte analytique ne peut tre utilis par une criture analytique car le compte a
l'option 'Mise en sommeil' de coch

4435, Le compte tiers de contrepartie n'existe pas

4436, Le nombre de dcimales des dotations Quantit du poste budgtaire est suprieure celui
paramtr dans la base (A Propos de)

4437, Le compte tiers de contrepartie n'existe pas

4438, Le compte tiers de contrepartie est de longueur > 13 caractres

4439, Cet lment de banque est utilis dans un extrait bancaire, il ne peut donc pas tre supprim

4440, Ce RIB existe dj

155
Sage France

Annexe 4 Les codes erreurs Sage

4441, Champs non valides pour une famille ou une immobilisation soumise la taxe
professionnelle.

4442, Le journal est utilis dans un modle analytique, il ne peut donc pas tre supprim.

4443, Le code de taxe doit tre unique

4444, On ne peut modifier la date de cration du compte de tiers

4445, La suppression d'un compte analytique utilis dans les critures reporting est impossible

4446, Le nombre de dcimales des dotations Quantit pour les rpartitions du compte analytique
est suprieure celui paramtr dans la base (A Propos de)

4447, La rpartition Quantit de type Equilibre ou % doit tre gale 0

4448, On ne peut modifier la date de cration du compte analytique

4449, Le nombre de dcimales des dotations Quantit du compte analytique est suprieure celui
paramtr dans la base (A Propos de)

4450, La rpartition Quantit de type Equilibre ou % doit tre gale 0

4451, Le nombre de dcimales des dotations Quantit pour les rpartitions du compte est
suprieure celui paramtr dans la base (A Propos de)

4452, Le nombre de dcimales des dotations Quantit du compte est suprieure celui paramtr
dans la base (A Propos de)

4453, La suppression d'un compte gnral utilis dans les critures reporting est impossible

4454, On ne peut modifier la date de cration du compte gnral

4455, Affectation d'un budget de type autre que dtail

4456, Le champ N_ANALYTIQUE doit tre 0 pour un modle de grille de type gnral, ou doit
tre compris entre 1 et 10 pour un modle de type analytique

4457, Pour modifier le compte gnral principal d'un tiers, ce compte gnral doit d'abord tre
associ ce tiers dans la table F_COMPTETG

4458, Suppression impossible car il existe des enregistrements concernant ce tiers dans la table
F_COMPTETG

4459, L'criture doit tre non clture

4460, Cet numr statistique existe dj

4461, L'intitul est vide ou de longueur > 21

4462, Ce registre taxe existe dj


156
Sage France

Annexe 4 Les codes erreurs Sage

4463, Le code journal analytique est utilis dans les critures d'OD et reports analytiques

4464, Le compte de Taxe (1 5) fait rfrence un compte de taxe incorrect

4465, Le numro de compte tiers fait rfrence un tiers incorrect

4466, Le numro interne n'est pas modifiable

4467, Ce registre rvision existe dj

4469, Le code journal analytique n'est pas modifiable

4470, Pour TA_TTAUX[i]=0, le nombre de dcimales de RT_MONTANT[i] est incorrect


(montant), pour TA_TTAUX[i]=1, le nombre de dcimales de RT_MONTANT[i] ne peut pas
tre > 4, pour TA_TTAUX[i]=2, le nombre de dcimales de RT_MONTANT[i] est incorrect
(montant)

4471, Pour TA_TTAUX[i]=0, le nombre de dcimales de RT_BASE[i] est incorrect (montant),


pour TA_TTAUX[i]=1, RT_BASE[i] doit tre 0, pour TA_TTAUX[i]=2, le nombre de
dcimales de RT_BASE[i] est incorrect.

4472, Le nombre de dcimales de TA_TAUX[i=1 5] ne peut pas tre > 4 (double)

4473, La date de dbut est suprieure la date de fin

4474, EC_NO utilis dans REGTAXE (donc non supprimable)

4475, EC_NO utilis dans REGREVISION (donc non supprimable)

4476, EC_NO utilis dans ECRITUREA (donc non supprimable)

4477, On ne peut ajouter une criture de type centralisatrice (EC_Ctype=1) avec


EcritureCAddinJournal, car cela est gre automatiquement

4478, Le champ EC_CLOTURE n'est pas modifiable

4479, Le champ EC_CTYPE n'est pas modifiable

4480, Le numro de ligne doit tre gal 1

4481, Le numro de ligne ne doit pas dpasser 999

4482, Le numro de ligne doit suivre le numro de ligne de la prcdente criture analytique

4483, Le jour, la pice, le compte, le sens ou le montant de l'criture a t modifi. L'criture doit
donc tre enregistre comme non imprime (EC_Impression=0)

4484, Le numro de ligne n'est pas modifiable

4485, Le numro analytique n'est pas modifiable


157
Sage France

Annexe 4 Les codes erreurs Sage

4486, Rfrence un compte analytique inexistant

4487, L'criture analytique existe dj

4488, Rfrence une criture inexistante ou qui n'est pas de type NORMAL

4489, La priode saisie pour le registre de taxe n'est pas identique la priode de l'criture
gnrale associe

4490, La suppression des critures a t dsactive pour ce dossier

4491, L'criture est rapproche, donc non supprimable

4492, L'criture est lettre, donc non supprimable

4493, L'criture est pointe, donc non supprimable

4494, L'criture est de type centralisatrice (EC_Ctype=1), donc non supprimable

4495, L'criture est clture, donc non supprimable

4496, EC_NOLINK ne peut tre remis 0

4497, Le champ JO_NUM n'est pas modifiable

4498, Le champ JM_DATE n'est pas modifiable

4499, Le champ EC_NO n'est pas modifiable

4500, Le nombre de dcimales de EC_MONTANT est incorrect (montant)

4501, Pour N_DEVISE=0, le nombre de dcimales de EC_QUANTITE est incorrect (quantit),


Pour N_DEVISE<>0, le nombre de dcimales de EC_QUANTITE est incorrect.

4502, Le nombre de dcimales de EC_PARITE ne peut pas tre > 6 (double)

4503, Le dlai d'chance est dpass

4504, Ce compte gnral ne peut tre utilis

4505, CT_NUM fait rfrence un tiers incorrect

4506, Le numro de compte gnral de contrepartie fait rfrence un compte gnral (de type
dtail, CG_TYPE=0) incorrect

4507, Le numro de compte gnral fait rfrence un compte gnral (de type dtail,
CG_TYPE=0) incorrect

4508, Ce champ n'est pas modifiable

4509, Les critures centralisatrices (EC_CTYPE=1) ne peuvent pas tre ajouter, modifier ou
supprimer
158
Sage France

Annexe 4 Les codes erreurs Sage

4510, Le champ EC_IMPRESSION n'est pas modifiable

4511, Impossible d'ajouter une criture dans un journal cltur (option : 'A propos de' non
coche)

4512, Le journal associ l'criture n'est pas de JO_TYPE=2

4513, La date de l'criture fait parti d'un exercice archiv

4514, JM_DATE+EC_JOUR ne constitue pas une date comprise dans les exercices de la base

4515, Rfrence un journal inexistant

4516, Rfrence un JMOUV inexistant

4517, Le nombre de dcimales de EA_QUANTITE est incorrect (quantit)

4518, Le nombre de dcimales de EA_MONTANT est incorrect (montant)

4519, Le numro de compte analytique est vide ou n'est pas de type alphanumrique et
majuscule ou de longueur > 13

4520, Le numro analytique n'est pas dans [1..10]

4521, Si EC_NOLINK est non nul, il doit correspondre un numro d'criture existante

4522, EC_NO doit tre 0

4523, Pour EC_POINT=0, EC_POINTAGE doit tre vide, pour EC_POINT=1, EC_POINTAGE
ne doit pas tre vide

4524, Pour EC_LETTRE=0, EC_LETTRAGE doit tre en minuscule ou vide, pour


EC_LETTRE=1, EC_LETTRAGE doit tre en majuscule et non vide

4525, Le montant doit tre diffrent de 0

4526, Le numro de compte gnral est vide ou n'est pas de type compte

4527, La date de saisie n'est pas une date valide

4528, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1

4529, Le code journal est vide ou de longueur > 6

4530, La priode n'est pas dans la liste des exercices de la base

4531, Le JMOUV est utilis dans le fichier des critures (donc non supprimable)

4532, Dans J_MOUV, JM_CLOTURE doit tre 0 (non cltur)

4533, Dans J_MOUV, JM_IMPRESSION doit tre 0 (non imprim)


159
Sage France

Annexe 4 Les codes erreurs Sage

4534, Ce JMOUV existe dj

4535, Rfrence un journal inexistant

4536, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1

4537, Le code journal est vide ou de longueur > 6

4538, Le budget est dj utilis dans EBUDGET (donc non supprimable)

4539, Le nombre de dcimales de BD_DOTATION est incorrect (montant)

4540, Le numro de compte gnral de l'lment de budget n'est pas modifiable

4541, Il existe dj un lment de budget de mme type et de mme BD_VREPART associ un


autre budget

4542, Cet lment de budget fait rfrence un budget inexistant

4543, Le numro de compte gnral de l'lment de budget n'existe pas

4544, Cet lment de budget existe dj

4545, Le numro interne fait rfrence un budget inexistant

4546, Le budget est utilis par un autre budget (donc non supprimable)

4547, Le champ BD_VREPART n'est pas modifiable

4548, Le type de rpartition n'est pas modifiable

4549, Le numro de budget n'est pas modifiable

4550, Le type n'est pas modifiable

4551, Le numro interne n'est pas modifiable

4552, Pour BD_TREPART>=11, BD_VREPART ne correspond pas un numr statistique


existant

4553, Pour BD_TREPART>=1 et BD_TREPART<=10, BD_VREPART ne correspond pas un


compte analytique existant

4554, Le numro de budget centralisateur ne correspond pas un budget existant de type=2

4555, Ce budget existe dj

4556, Le numro de compte gnral est vide ou n'est pas de type compte

4557, Le numro interne doit tre nul

4558, Pour BD_TREPART=0, BD_VREPART doit tre nul


160
Sage France

Annexe 4 Les codes erreurs Sage

4559, L'intitul est vide ou de longueur > 35

4560, Le numro de budget est vide ou n'est pas de type alphanumrique et majuscule ou de
longueur > 13

4561, L'intitul du libell existe dj

4562, Le raccourci n'est pas du type alphanumrique et majuscule ou de longueur > 6

4563, L'intitul est vide ou de longueur > 35

4564, Ce modle existe dj dans EMODELEA (donc non supprimable)

4565, Le nombre de dcimales de EA_MONTANT est incorrect (montant)

4566, Cette date d'abonnement existe dj

4567, Rfrence un modle d'abonnement inexistant

4568, Le numro interne n'est pas modifiable

4569, L'intitul du modle d'abonnement existe dj

4570, Le type de journal n'est pas le mme que celui de la pice

4571, Rfrence une pice inexistante

4572, Rfrence un code journal inexistant

4573, Le numro interne doit tre 0

4574, Champs non valides pour une famille ou une immobilisation non soumise la taxe
professionnelle.

4575, Il existe des loyers clturs pour cette immobilisation donc non supprimable.

4576, La date de dbut est suprieure la date de Fin

4577, Le code journal est vide ou de longueur > 6

4578, L'intitul est vide ou de longueur > 35

4579, Ce modle existe dj dans EMODELER (donc non supprimable)

4580, Pour ER_TREPART=1, ER_VREPART ne peut pas tre diffrent de 0

4581, Pour ER_TREPART=0, le nombre de dcimales de ER_VREPART ne peut pas tre > 4
(double), pour ER_TREPART=2, le nombre de dcimales de ER_VREPART est incorrect
(montant)

4582, Cet lment de modle de rglement existe dj


161
Sage France

Annexe 4 Les codes erreurs Sage

4583, Ce modle de rglement existe dj

4584, Le numro interne n'est pas modifiable

4585, L'intitul du modle de rglement existe dj

4586, Les jours de tombe (1 6) ne sont pas tris par jour croissant

4587, L'intitul est vide ou de longueur > 35

4588, Le numro interne doit tre 0

4589, Modle utilis dans EMODELEG (donc non supprimable)

4590, Pour EG_QTRepart=1, EG_QVREPART ne peut pas tre diffrent de 0

4591, Pour EG_TREPART=1, EG_VREPART ne peut pas tre diffrent de 0

4592, Pour EG_QTREPART=0, le nombre de dcimales de EG_QVREPART ne peut pas tre >
4, (double), pour EG_QTREPART=2, le nombre de dcimales de EG_QVREPART est incorrect
(montant)

4593, Pour EG_TREPART=0, le nombre de dcimales de EG_VREPART ne peut pas tre > 4,
(double), pour EG_TREPART=2, le nombre de dcimales de EG_VREPART est incorrect
(montant)

4594, Le numro analytique n'est pas modifiable

4595, Rfrence un modle de grille inexistant

4596, Rfrence un compte analytique inexistant

4597, Rfrence un compte gnral inexistant

4598, Cet lment de modle de grille existe dj

4599, Le type n'est pas modifiable

4600, Le numro interne n'est pas modifiable

4601, L'intitul du modle de grille existe dj

4602, Le numro de compte gnral ou analytique est vide ou n'est pas de type alphanumrique
et majuscule ou de longueur > 13

4603, Le numro interne doit tre 0

4604, L'intitul est vide ou est de longueur > 35 caractres

4605, La pice est utilise dans le fichier des pices analytiques (donc non supprimable)

4606, La pice est utilise dans le fichier des pices gnrales (donc non supprimable)
162
Sage France

Annexe 4 Les codes erreurs Sage

4607, Pour PA_TQUANTITE=2, PA_VQUANTITE ne peut pas tre diffrent de 0

4608, Pour PA_TMONTANT=2, PA_VMONTANT ne peut pas tre diffrent de 0

4609, Le numro de ligne analytique doit tre gal 1

4610, Le numro de ligne analytique ne doit pas dpasser 999

4611, Le numro de ligne analytique doit tre conjoint (+1) au numro de ligne analytique de la
prcdente pice analytique

4612, Le numro de ligne analytique n'est pas modifiable

4613, Le numro de ligne doit tre gal 1

4614, Le numro de ligne ne doit pas dpasser 999

4615, PG_LIGNE doit tre conjoint (+1) au PG_LIGNE de la prcdente pice gnrale

4616, Pour PA_TQUANTITE=3 ou 4, le nombre de dcimales de PA_VQUANTITE ne peut pas


tre > 4, (double), pour PA_TQUANTITE=0 ou 1, le nombre de dcimales de PA_VQUANTITE
est incorrect (montant)

4617, Pour PA_TMONTANT=3 ou 4, le nombre de dcimales de PA_VMONTANT ne peut pas


tre > 4, (double), pour PA_TMONTANT=0 ou 1, le nombre de dcimales de PA_VMONTANT
est incorrect (montant)

4618, La pice est utilise dans le fichier des modles analytiques (donc non supprimable)

4619, Le numro analytique n'est pas modifiable

4620, Cette pice analytique existe dj

4621, Rfrence une pice gnrale inexistante

4622, Le numro de compte analytique est inexistant

4623, Le Champ PG_LIGNE n'est pas modifiable

4624, Cette pice gnrale existe dj

4625, Ce numro interne ne correspond pas celui d'une pice existante

4626, Ce numro de compte tiers n'existe pas

4627, Le compte gnral de contrepartie n'existe pas

4628, Le numro de compte gnral n'existe pas

4629, Le type de journal n'est pas modifiable

4630, Le numro de pice n'est pas modifiable


163
Sage France

Annexe 4 Les codes erreurs Sage

4631, Cet intitul de pice existe dj

4632, L'numr statistique Taxe Professionnelle n'existe pas.

4633, Incohrence entre le type de rpartition et sa valeur.

4634, Erreur sur le champ CA_NUM

4635, Le montant est de longueur > 17 caractres

4636, La quantit est de longueur > 17 caractres

4637, La parit est de longueur > 17 caractres

4638, L'chance est de longueur > 6 caractres

4639, L'intitul est de longueur > 35 caractres

4640, Le numro de compte tiers est de longueur > 17 caractres

4641, Le compte gnral de contrepartie est de longueur > 13 caractres

4642, Le numro de compte gnral est vide ou n'est pas de type compte

4643, La rfrence pice est de longueur > 17 caractres

4644, La pice est de longueur > 13 caractres

4645, Le jour est de longueur > 2 caractres

4646, Le numro interne doit tre 0

4647, L'intitul est vide est de longueur > 35 caractres

4648, BQ_NO utilis dans les lments de banque (donc non supprimable)

4649, Mauvais RIB (EB_AGENCE, EB_GUICHET, EB_COMPTE ou EB_CLE incorrect)

4650, Ce code journal d'lment de banque ne correspond pas un journal de type Trsorerie

4651, Rfrence un code journal inexistant

4652, L'immobilisation n'est pas de type Biens ou n'est pas soumise Taxe professionnelle:
Champ non modifiable !

4653, Rfrence une banque inexistante

4654, Le compte est vide ou n'est pas de type alphanumrique et en majuscule ou est de longueur
> 11 caractres

4655, Le guichet est vide ou est de longueur > 5 caractres

164
Sage France

Annexe 4 Les codes erreurs Sage

4656, L'agence est vide ou est de longueur > 5 caractres

4657, Le numro interne n'est pas modifiable

4658, Cet abrg de banque existe dj

4659, Le numro interne doit tre 0

4660, L'abrg est vide ou est de longueur > 17 caractres

4661, L'intitul est vide ou est de longueur > 35 caractres

4662, Le code journal est utilis dans le fichier des lments de banque (donc non supprimable)

4663, Le code journal est utilis dans le fichier JMOUV (donc non supprimable)

4664, Le numro de compte gnral n'est pas modifiable

4665, Le type de journal n'est pas modifiable

4666, Le code journal n'est pas modifiable

4667, Ce code journal existe dj

4668, Rfrence un compte gnral inexistant

4669, L'option contrepartie/ligne n'est pas gale 0 pour un type de journal <> 2

4670, Pour JO_TYPE=0 ou JO_TYPE=1, le numro de compte gnral doit tre vide

4671, Si le type de code journal=2, le numro de compte gnral ne peut tre vide

4672, L'intitul du code journal est vide ou est de longueur > 35 caractres

4673, Le code journal est vide ou de longueur > 6 caractres

4674, Non supprimable car existe dans les lments de taxe

4675, Pour TA_TTAUX=0 ou 2, le nombre de dcimales de TA_TAUX ne peut pas tre > 4
(double), pour TA_TTAUX=1, le nombre de dcimales de TA_TAUX est incorrect (montant)

4676, Le numro de compte gnral n'est pas modifiable

4677, Cet lment de taxe existe dj

4678, Le champ TA_NO n'est pas modifiable

4679, Ce code journal analytique existe dj

4680, Rfrence un compte gnral inexistant

4681, Le numro interne n'est pas modifiable


165
Sage France

Annexe 4 Les codes erreurs Sage

4682, Le compte gnral est vide ou n'est pas de type compte

4683, L'intitul de la taxe est vide ou est de longueur > 35 caractres

4684, Le compte tiers est utilis dans le fichier des lieux de livraison client (donc non
supprimable)

4685, Le compte tiers est utilis dans le fichier des rglements tiers (donc non supprimable)

4686, Le compte tiers est utilis dans le fichier des banques tiers (donc non supprimable)

4687, Pour RT_TREPART=1, RT_VREPART ne peut pas tre diffrent de 0

4688, L'intitul de livraison existe dj

4689, Pour type de rpartition=0, le nombre de dcimales de la valeur de rpartition ne peut tre >
4, pour type de rpartition=2, le nombre de dcimales de la valeur de rpartition est incorrect
(montant)

4690, Le nombre de dcimales ne peut tre > 4 pour CT_TAUX[i] (double)

4691, Nombre de dcimales incorrect pour le plafond d'assurance crdit (montant)

4692, Nombre de dcimales incorrect pour l'encours (montant)

4693, Ce tiers est tiers principal d'un compte gnral (donc non supprimable)

4694, Le numro de compte gnral n'est pas modifiable

4695, Le CompteTG existe dj

4696, Le numro de compte gnral principal est vide ou n'est pas de type compte

4697, Le lieu de livraison principal d'un tiers n'est pas supprimable

4698, Le numro interne du lieu de livraison n'est pas modifiable

4699, Ce lieu de livraison doit tre principal pour ce tiers

4700, Le numro interne de lieu de livraison doit tre 0

4701, Le rglement tiers existe dj

4702, Cette banque est la banque principale d'un tiers (donc non supprimable)

4703, Le numro de banque tiers n'est pas modifiable

4704, Rfrence un compte tiers inexistant

4705, Le numro de compte tiers est utilis dans le fichier des registres de taxe (donc non
supprimable)
166
Sage France

Annexe 4 Les codes erreurs Sage

4706, Le numro de compte tiers est utilis dans le fichier des tiers (donc non supprimable)

4707, Le compte tiers est utilis dans le fichier des critures (donc non supprimable)

4708, Le type de tiers n'est pas modifiable

4709, Le numro de compte tiers n'est pas modifiable

4710, Le compte tiers existe dj

4711, Rfrence un numr statistique inexistant

4712, Le numro de compte tiers payeur fait rfrence un tiers inexistant

4713, Rfrence une banque tiers inexistante

4714, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail

4715, L'intitul du lieu de livraison est vide ou de longueur > 35 caractres

4716, RT_JOURTB n'est pas tri par jour croissant

4717, Les jours de tombe (1 6) ne sont pas dans [0..31]

4718, La valeur de rpartition ne doit pas tre 0

4719, Le numro de banque tiers doit tre 0

4720, Mauvais RIB (BT_AGENCE, BT_GUICHET, BT_COMPTE ou BT_CLE incorrect)

4721, L'intitul de la banque tiers est vide ou est de longueur > 35 caractres

4722, Le numro de compte gnral principal est vide ou n'est pas de type compte

4723, L'intitul du compte tiers est vide ou de longueur > 35 caractres

4724, Le numro de compte tiers est vide ou n'est pas de type alphanumrique et en majuscule
ou de longueur > 17 caractres

4725, Le compte reporting est utilis dans le fichier des comptes gnraux (donc non
supprimable)

4726, Le champ type n'est pas modifiable

4727, Le numro de compte reporting n'est pas modifiable

4728, Le compte reporting existe dj

4729, L'intitul du compte reporting est vide ou de longueur > 35 caractres

4730, Le numro de compte reporting est vide ou n'est pas de type alphanumrique et en
majuscule ou de longueur > 13
167
Sage France

Annexe 4 Les codes erreurs Sage

4731, Le compte analytique est utilis dans le fichier COMPTEABUDGETG (donc non
supprimable)

4732, Le compte analytique est utilis dans le fichier COMPTEABUDGET (donc non
supprimable)

4733, Nombre de dcimales incorrect pour CA_BGVREPART[i] (montant)

4734, Nombre de dcimales incorrect pour CA_BDOTATION[i] (montant)

4735, Le Champ numro de compte gnral n'est pas modifiable

4736, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail

4737, CompteABudgetG existe dj

4738, Champs non modifiables pour une famille ou une immobilisation non suivie.

4739, Le numro de compte gnral est vide ou n'est pas de type compte

4740, Rfrence un compte analytique inexistant ou qui n'est pas de type dtail

4741, Le CompteABudget existe dj

4742, L'intitul du code journal analytique est vide ou est de longueur > 35 caractres

4743, Le compte analytique est utilis dans le fichier des Budgets Analytiques des comptes
gnraux (donc non supprimable)

4744, Le compte analytique est utilis dans le fichier des Budgets (donc non supprimable)

4745, Le compte analytique est utilis dans le fichier des lments de modles de grille (donc non
supprimable)

4746, Le compte analytique est utilis dans le fichier des critures analytiques (donc non
supprimable)

4747, Le type du compte analytique n'est pas modifiable

4748, Le numro du compte analytique n'est pas modifiable

4749, Le numro analytique n'est pas modifiable

4750, Le compte analytique existe dj

4751, Le numro d'analyse doit tre 1, le report 0 , le raccourci du compte analytique vide
pour un compte analytique totalisateur

4752, Le raccourci du compte analytique n'est pas du type alphanumrique et en majuscule ou de


longueur > 6
168
Sage France

Annexe 4 Les codes erreurs Sage

4753, L'intitul du compte analytique est vide ou de longueur > 35

4754, Le numro de compte analytique est vide ou n'est pas de type alphanumrique et en
majuscule ou de longueur > 13

4755, Le compte gnral est utilis dans le fichier des Budgets analytiques des comptes gnraux
(donc non supprimable)

4756, Le compte gnral est utilis dans le fichier des Budgets des comptes gnraux (donc non
supprimable)

4757, Le compte gnral est utilis dans le fichier des Blocs Notes (donc non supprimable)

4758, CompteGMvts ncessite au moins 1 compte gnral ou 1 tiers en paramtre

4759, Nombre de dcimales incorrect pour une valeur de rpartition (montant)

4760, Nombre de dcimales incorrect pour une valeur de dotation (montant)

4761, Le numro analytique n'est pas modifiable

4762, Le numro du compte analytique n'est pas modifiable

4763, Rfrence un compte analytique inexistant ou qui n'est pas de type dtail

4764, Le compteGBudgetA existe dj

4765, Le type de rpartition n'est pas dans [0..2]

4766, Le numro du compte analytique est vide ou n'est pas de type alphanumrique et majuscule
ou de longueur > 13

4767, Le CompteGBudget existe dj

4768, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail

4769, Le bloc notes des comptes existe dj

4770, Le bloc notes est vide ou de longueur > 255 caractres

4771, Le code journal analytique est vide ou de longueur > 6 caractres

4772, Le compte gnral est utilis dans le fichier des comptes gnraux des budgets des comptes
analytiques (donc non supprimable)

4773, Le compte gnral est utilis dans le fichier des lments de budget (donc non supprimable)

4774, Le compte gnral est utilis dans le fichier des lments de modles de grille (donc non
supprimable)

4775, Le compte gnral est utilis dans le fichier des tiers (donc non supprimable)
169
Sage France

Annexe 4 Les codes erreurs Sage

4776, Le compte gnral est utilis dans le fichier des journaux (donc non supprimable)

4777, Le compte gnral est utilis dans le fichier des critures comptables (donc non
supprimable)

4778, Le compte gnral est utilis dans le fichier des lments de taxe (donc non supprimable)

4779, Le compte gnral est utilis dans le fichier des taxes (donc non supprimable)

4780, Le type du compte gnral n'est pas modifiable

4781, Le compte gnral n'est pas modifiable

4782, Le compte gnral existe dj

4783, Le compte reporting n'existe pas ou n'est pas de type dtail

4784, La nature, le report, le compte reporting, le raccourci, les options doivent tre 0 pour un
compte gnral totalisateur

4785, Le raccourci du compte gnral n'est pas du type alphanumrique et en majuscule > 6

4786, Le numro du compte reporting n'est pas du type alphanumrique et en majuscule ou de


longueur > 13

4787, L'intitul du compte gnral est vide ou de longueur > 35

4788, Le numro de compte gnral est vide ou n'est pas de type compte

4789, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation.

4790, Ce raccourci existe dj dans le fichier des libells

4791, Ce raccourci existe dj dans le fichier des modles de grille

4792, Ce raccourci existe dj dans le fichier des tiers

4793, Ce raccourci existe dj dans le fichier des comptes analytiques

4794, Ce raccourci existe dj dans le fichier des comptes gnraux

4795, Ce raccourci existe dj dans le fichier des pices gnrales

4796, Erreur de longueur de compte reporting

4797, Erreur de longueur de compte EDI

4798, Erreur de longueur de compte gnral

4799, Erreur de longueur de compte analytique

4800, L'intitul de la gamme est vide (doit exister dans P_GAMME)


170
Sage France

Annexe 4 Les codes erreurs Sage

4801;

4802, DL_QTEBL n'est pas modifiable si DL_PIECEBL est non vide (document provient du
transformation)

4803, DL_QTEBC n'est pas modifiable si DL_PIECEBC est non vide (document provient du
transformation)

4804, La quantit n'est pas modifiable dans les Bons de fabrication

4805, Dans les documents de stock, l'article doit tre suivi en stock pour les documents <> (Bon
de fabrication ou Prparation de fabrication)

4806, Une ligne existe dj avec ce numro dans ce document

4807, AL_PRIXRU n'est pas modifiable dans les lignes d'abonnement

4808, AL_CMUP n'est pas modifiable dans les lignes d'abonnement

4809, DL_PRIXRU n'est pas modifiable

4810, Le CMUP n'est pas modifiable dans la ligne

4811, DL_PIECEBL n'est pas en alphanumrique majuscule ou est de longueur > 8 caractres

4812, DL_PIECEBC n'est pas en alphanumrique majuscule ou est de longueur > 8 caractres

4813, Le domaine du document doit tre compris entre 0 et 2

4814, Le poids brut et le poids net doivent tre 0 avec une remise de pieds ou une remise
exceptionnelle

4815, La quantit colise doit tre > 0

4816, La quantit doit tre > 0

4817, La dsignation est de longueur > 69 caractres

4818, Le numro de dpt mouvement ne peut pas tre modifi

4819, Le type de prix (HT ou TTC) ne peut pas tre modifi

4820, Le conditionnement ne peut pas tre modifi

4821, La rfrence fournisseur ne peut pas tre modifie

4822, Le type de taxe 3 ne peut pas tre modifi

4823, Le type de taux de taxe 3 ne peut pas tre modifi

4824, Le taux de taxe 3 ne peut pas tre modifi


171
Sage France

Annexe 4 Les codes erreurs Sage

4825, Le type de taxe 2 ne peut pas tre modifi

4826, Le type de taux de taxe 2 ne peut pas tre modifi

4827, Le taux de taxe 2 ne peut pas tre modifi

4828, Le type de taxe 1 ne peut pas tre modifi

4829, Le type de taux de taxe 1 ne peut pas tre modifi

4830, Le taux de taxe 1 ne peut pas tre modifi

4831, La rfrence de l'article ne peut pas tre modifie

4832, La remise exceptionnelle ne peut pas tre modifie

4833, La remise de pied ne peut pas tre modifie

4834, Le numro de ligne ne peut pas tre modifi

4835, Pour un document en devise, le type de prix (HT ou TTC) doit tre en HT

4836, Le prix unitaire en devise doit tre gal 0

4837, La gamme 2 n'existe pas

4838, La gamme 1 n'existe pas

4839, La gamme 2 ne peut pas tre vide car l'article possde une gamme 2

4840, L'intitul du conditionnement est vide (doit exister dans P_CONDITIONNEMENT)

4841, DL_TNOMENCL n'est pas modifiable

4842, Suppression impossible, il existe des immobilisations (F_FAMILLE et F_LIEU).

4843, Champ non modifiable (Dans FamAnal,ImmoAnal,ImmoNote,Lieu,EnumStatImm).

4844, Rfrence un compte tiers inexistant.

4845, Rfrence un compte analytique inexistant.

4846, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail.

4847, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation.

4848, L'numr n'existe pas ou n'est pas saisissable

4849, Le taux n'est pas saisissable pour les vnements agenda

4850, La base n'est pas saisissable pour les vnements agenda

4851, La rubrique n'est pas de type dtail


172
Sage France

Annexe 4 Les codes erreurs Sage

4852, La rubrique n'existe pas : Evnements agenda de type variable

4853, On ne peut affecter BS_NUM qu'une valeur diffrente de 0

4854, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation.

4855, Le salari n'existe pas

4856, La rubrique n'existe pas

4857, La base paramtre non ouverte

4858, Modification du statut de l'vnement impossible

4859, L'tablissement n'existe pas

4860, L'agenda Dtails n'existe pas

4861, L'agenda groupes n'existe pas

4862, Le contrat n'existe pas

4863, Le salari n'existe pas

4864, Le numro de la rubrique agenda ne peut tre modifi

4865, Le numro interne d'tablissement ne peut tre modifi

4866, Le numro de salari ne peut tre modifi

4867, Le type de l'vnement ne peut tre modifi

4868, Si AG_STATUS = 0 alors AG_DEBUT = datedebut et AG_FIN= vide ; si AG_STATUS =


1 alors AG_DEBUT = vide et AG_FIN =datefin ; si AG_STATUS = 2 alors AG_DEBUT =
datedebut et AG_FIN = vide ; si AG_STATUS = 3 alors AG_DEBUT =datedebut et AG_FIN
=datefin ; ou la de dbut est infrieure la date de fin

4869, Le numro de contrat doit tre non nul

4870, L'intitul de la rubrique agenda dtail doit tre <= 21 caractres et obligatoire

4871, Le numro de salari est obligatoire et doit tre en majuscule

4872, Le type d'vnement doit tre compris entre 0 et 4

4873, Modification du salari impossible

4874, numro de salari inexistant

4875, L'intitul est obligatoire et doit tre <= 35 caractres

4876, Le numro de salari est obligatoire et doit tre en majuscule


173
Sage France

Annexe 4 Les codes erreurs Sage

4877, Il existe dj ce couple (paiement, mode de rglement) pour ce salari

4878, La valeur quilibre existe dj pour le paiement

4879, La banque n'existe pas

4880, Le numro de salari ne peut tre modifi

4881, Le numro de salari n'existe pas

4882, La valeur du rglement doit tre compris entre 1 et 10

4883, numro de salari obligatoire et doit tre en majuscule

4884, Le numro de banque est non modifiable

4885, La banque principale ne peut tre supprime que si elle est unique

4886, Suppression impossible car cette banque est utilise dans les modes de rglement

4887, Modification impossible du salari

4888, La cl de RIB est incorrecte

4889, Le numro de salari n'existe pas

4890, L'intitul est obligatoire et doit tre <= 35 caractres

4891, Le numro de banque est > 0

4892, Le salari est obligatoire, doit exister et tre en majuscule

4893, Le numro de salari n'est pas modifiable

4894, Le salari n'existe pas

4895, Le prnom est obligatoire et doit tre <= 35 caractres

4896, Le nom de la personne est obligatoire et doit tre <= 35 caractres

4897, Le salari est obligatoire et doit tre en majuscule

4898, La rubrique n'existe pas

4899, La banque salari n'existe pas

4900, Suppression impossible du salari car il existe des bulletins de paie rattachs ce salari

4901, Suppression impossible du salari car il existe des variables rattaches ce salari

4902, Suppression impossible du salari car il existe des agendas rattachs ce salari

4903, Suppression impossible du salari car il existe des adresses rattaches ce salari
174
Sage France

Annexe 4 Les codes erreurs Sage

4904, Suppression impossible du salari car il existe des banques rattaches ce salari

4905, Suppression impossible du salari car il existe des modes de rglements rattachs ce
salari

4906, Suppression impossible du salari car il existe des personnes charges rattaches ce
salari

4907, L'numr statistique n'existe pas

4908, La cl de scurit sociale est incorrecte

4909, Le numro salari n'est pas modifiable

4910, Le compte tiers n'existe pas dans votre fichier comptable

4911, Le compte gnral n'existe pas dans votre fichier comptable

4912, La section analytique n'existe pas dans votre fichier comptable

4913, Ce numro salari est dj utilis

4914, L'tablissement n'existe pas

4915, La date de dbut doit tre <= date de Fin

4916, Si la date de dbut existe, alors la date de fin doit exister

4917, Si la date de fin existe, alors la date de dbut doit exister

4918, Pour un salari franais, SA_NATIONALITE = 'F' et SA_ETRANGER = 1 ; pour un


salari tranger, SA_NATIONALITE <> 'F' et SA_ETRANGER = 0

4919, La cl de scurit sociale doit tre <= 2 caractres

4920, Si la qualit est monsieur et que le sexe est fminin ou l'inverse

4921, Si la qualit=0 (Monsieur) alors Nom de jeune fille=0

4922, Le prnom est obligatoire et doit tre <= 35 caractres

4923, Le nom est obligatoire et doit tre <= 35 caractres

4924, Saisie du numro de salari obligatoire ou le salari n'est pas en majuscule

4925, La variable existe dj pour ce salari

4926, Suppression impossible, la rubrique est utilise en acompte

4927, Suppression impossible, la rubrique est utilise en pointage pour le salari

4928, Le numro de rubrique n'est pas modifiable


175
Sage France

Annexe 4 Les codes erreurs Sage

4929, Le numro de salari n'est pas modifiable

4930, Le salari n'existe pas dans la base salari

4931, La rubrique n'est pas de type dtail

4932, La rubrique n'existe pas

4933, Le profil n'existe pas dans la liste des profils salaris

4934, Saisie rubrique obligatoire ou la rubrique n'est pas en majuscule

4935, Saisie du numro de salari obligatoire ou le salari n'est pas en majuscule

4936, La modification du champ analytique est impossible

4937, Le numro de rubrique n'est pas modifiable

4938, Le numro de salari n'est pas modifiable

4939, La section analytique n'existe pas dans le fichier comptable

4940, La rubrique n'est pas utilise comme cl de rpartition

4941, La rubrique n'est pas de type variable

4942, La rubrique n'existe pas

4943, Le salari n'existe pas dans la base salari

4944, La section analytique est obligatoire ou la section analytique n'est pas en majuscule ou la
longueur de la section < 3

4945, Champ analytique non coch (non utilis en pointage)

4946, La saisie du montant est obligatoire

4947, Saisie de la rubrique obligatoire ou la rubrique n'est pas en majuscule

4948, Saisie de la date de pointage obligatoire

4949, Saisie du numro salari obligatoire ou le salari n'est pas en majuscule

4950, Suppression impossible. Des immobilisations sont rattaches celle supprimer.

4951, Les champs suivants ne sont jamais modifiables dans l'immobilisation.

4952, Opration impossible, il existe des dotations ou cessions.

4953, Les codes rattachs sont limits 10 niveaux.

4954, L'immobilisation ne peut tre rattache celle spcifie.


176
Sage France

Annexe 4 Les codes erreurs Sage

4955, La quantit du code rattach n'est pas gale 1.

4956, Le code rattach n'existe pas.

177
Sage France

Annexe 5 Les erreurs les plus frquentes

Annexe 5 Les erreurs les plus


frquentes
Avant propos _____________________________________________ 179
Mauvaise version de fichier _____________________________________ 179
Erreur Sage 5002 obtenue au moment de lexcution dune
requte dcriture. ______________________________________________ 179
Refus d'autorisation erreur Sage 1807 obtenue au moment
de lexcution dune requte dcriture. ________________________ 179
Domaine de validit du champ incorrect, veuillez vous
rfrer la documentation______________________________________ 180

178
Sage France

Annexe 5 Les erreurs les plus frquentes

Avant propos
Gnralement, les erreurs ODBC sont obtenues au moment de la connexion ou lors des oprations
dcriture. Il est extrmement rare dobtenir une erreur ODBC en lecture, mis part un problme li
une faute de syntaxe SQL.
Vous trouverez ci-dessous les principaux codes erreurs Sage rencontrs lors des oprations de
connexion et dcriture.

Mauvaise version de fichier


Erreur Sage 4965 obtenue au moment de la connexion une source de donnes
Cette erreur indique que la version de Sage ODBC Ligne 100 que vous utilisez nest pas compatible
avec la base Sage que vous essayez douvrir.

Erreur Sage 5002 obtenue au moment de lexcution dune requte dcriture.


Ce message derreur indique que lcriture est impossible car lenregistrement est ouvert en criture
par une autre application. Par exemple, vous essayez de modifier lintitul du client CARAT alors
quun de vos collgues a ouvert sa fiche en modification. Lcriture ne sera possible que lorsque
lenregistrement sera libr par lautre application.

Refus d'autorisation erreur Sage 1807 obtenue au moment de lexcution dune


requte dcriture.
Ce message indique que la table o vous essayez dcrire est une table en lecture seule (ex : tables
paramtres commence par P_). Ces tables ne sont pas modifiables par Sage ODBC Ligne 100.

179
Sage France

Annexe 5 Les erreurs les plus frquentes

Domaine de validit du champ incorrect, veuillez vous rfrer la documentation


Erreur Sage (4789 en CPTA, 4395 en CIAL et 4847 en IMMO) obtenue au moment de lexcution
dune requte dcriture.
Ce message peut avoir de multiples causes :

Le domaine de validit du champ nest pas correct, comme par exemple un champ numrique
dont les valeurs sont comprises entre 1 et 10 et que lon essaye de lui affecter la valeur 11,

Champ renseign avec une valeur nulle alors quil est renseign obligatoirement dans les
applications ligne 100,

Problme de cohrence entre la valeur dun champ et un autre,

Les informations ncessaires lcriture dans chaque table vous sont fournis dans le premier manuel
sur la structure des tables de la ligne 100. Veuillez vous rfrer ce manuel pour connatre les
diffrents champs obligatoires en insertion et les valeurs renseigner pour ne pas avoir ce message
derreur.

180
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Annexe 6 Utilisation dODBC avec


Visual Basic
Introduction ______________________________________________ 182
Les ADO _________________________________________________________ 183
Connexion Dconnexion________________________________________ 184
Recherche denregistrements___________________________________ 186
Ecriture dans les bases _________________________________________ 188
Rcupration des erreurs _______________________________________ 189
Les DAO _________________________________________________________ 191
Connexion Dconnexion________________________________________ 192
Recherche denregistrements___________________________________ 194
Ecriture dans les bases _________________________________________ 196
Rcupration des erreurs _______________________________________ 198

181
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Introduction
Il existe diffrentes mthodes daccs aux donnes sous Visual Basic :

ADO (ActiveX Data Objects), gnralise laccs aux donnes via ODBC (OLE DB).

DAO (Data Access Object), utilise principalement par Access (Moteur jet),

Les objets daccs aux donnes ADO sont les plus rcents. Ils utilisent la technologie ActiveX, ce qui
permet leur utilisation dans de nombreuses applications. Si vous le pouvez, il est prfrable dutiliser
les ADO pour accder aux bases ODBC, et en particulier avec les bases Sage Ligne 100.
Les objets daccs aux donnes DAO sont livrs en standard avec Access, Excel et Visual Basic. Ces
objets ne sont pas optimiss pour laccs aux donnes ODBC.
Vous trouverez ci-dessous des exemples dutilisation de VB avec ces diffrents objets daccs aux
donnes.

182
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Les ADO
Pour utiliser les objets daccs aux donnes des ADO, votre application doit utiliser la librairie
Microsoft OLE DB ActiveX Data Objects 1.0 Library, ou une autre librairie plus rcente des ADO
(Microsoft OLE DB ActiveX Data Objects x.xx Library).
ActiveX Data Objects (ADO) est une collection dobjets qui permettent laccs aux donnes de tout
type. Ces objets sont gnralement utiliss pour laccs aux bases de donnes en Internet ou Intranet
(utilisation dActive Server Pages avec IIS). Lintrt dun objet ActiveX est quil peut tre employ
partir de nimporte quelle application capable dutiliser les objets OLE (Delphi ou C entre autre).

183
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de lobjet Connection. Ce dernier
prend en paramtre une chane de connexion ODBC, le nom de lutilisateur et son mot de passe. La
chane de connexion permet didentifier le nom de la source de donnes utiliser (DSN=), et elle peut
aussi identifier le nom et le mot de passe utiliser, si ces derniers ne sont pas renseigns dans les
deuxime et troisime paramtres.
La dconnexion est ralise laide de la mthode Close.
Remarques :

Mme si le nom et le mot de passe ne sont pas renseigns, aucune bote de dialogue de connexion
Sage napparatra.

Contrairement aux DAO, la connexion ODBC est rellement rompue aprs lemploi de la
mthode Close sur lobjet Connection.

Exemple
Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou
Dim cnxCPTA As ADODB.Connection Identifiant de la connexion ODBC
Dim strConnect as String Chane de connexion ODBC
Dim strUID as String Nom utilis pour la connexion la base
Dim strPWD as String Mot de passe associ
Construction de la chane de connexion.
Les diffrents paramtres de la chane de connexion sont spars par un point virgule ( ;)
DSN identifie le nom de la source de donnes
Il est possible de renseigner le nom et le mot de passe utiliser laide des commandes UID et PWD
strConnect = "DSN=ComptaC_Bijou; "
Cration de lobjet ActiveX
Set cnxCPTA = New ADODB.Connection
cnxCPTA.ConnectionTimeout = 15 Dfinition du TimeOut de connexion
cnxCPTA.CommandTimeout = 30 Dfinition du TimeOut dexcution de requtes
Connexion la source de donnes ODBC
Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont
facultatifs si les bases Sage ne sont pas protges.
cnxCPTA.Open strConnect, "ADMIN", "123"
Code Visual Basic
Fermeture de la connexion
184
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


cnxCPTA.Close
Destruction de lobjet
Set cnxCPTA = Nothing

185
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune
requte est ralise en deux phases :

Dfinition de la requte (syntaxe SQL et paramtres) : utilisation de lobjet Command

Excution de la requte et rcupration des enregistrements : utilisation de lobjet Recordset

Remarque :

La requte est directement envoye au driver ODBC.

Exemple
Exemple dexcution de requte de slection et de parcours des enregistrements
Recherche de tous les clients dont le code commence par C
Lobjet Connection cnxCPTA a t ouvert
Dim cmdSQL As ADODB.CommandObjet contenant la dfinition de la requte
Dim rsClient As ADODB. RecordsetObjet contenant le rsultat de la requte
Dim strSQL as String Variable contenant la requte SQL
Syntaxe SQL
Construction de la requte SQL de slection
Critres :

CT_Type = 0 > slection des clients

CT_Num like C% > Slection des codes clients commenant par C


strSQL = "Select CT_Num, CT_Intitule From F_CompteT " & _
"Where CT_Type = 0 And CT_Num Like C% "
Cration de lobjet ActiveX Command
Set cmdSQL = New ADODB.Command
Cration de lobjet ActiveX Recordset
Set rsClient = New ADODB.Recordset
Cration de la requte SQL objet Command
Requte SQL excuter
cmdSQL.CommandText = Me.tSQL.Text
Type de commande (adCmdText > requte SQL)
cmdSQL.CommandType = adCmdText
186
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


Connexion ODBC utiliser
Set cmdSQL.ActiveConnection = cnxCPTA
Excution de la requte de slection
rsClient.Open cmdADO
Parcours des enregistrements
While Not rsClient.EOF
Affichage du code et de lintitul du client dans la fentre dExcution
Debug.Print rsClient.Fields ("CT_Num"), rsClient.Fields ("CT_Intitule")
Passe lenregistrement suivant
rsClient.MoveNext
Wend
Fermeture de lobjet Recordset
rsClient.Close
Destruction de lobjet
set rsClient = Nothing
Destruction de lobjet Command
set cmdSQL = Nothing

187
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Etant donn que ces requtes ne retournent pas
denregistrements, il est inutile de rapatrier un quelconque rsultat dans un objet de type Recordset.
La requte est directement envoye au driver ODBC.
Exemple
Exemple dexcution dune requte de modification.
Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi
par RE_No = 3)
qui se charge de ce secteur.
Lobjet Connection cnxCPTA a t ouvert
Dim strSQL as String Variable contenant la dfinition de la requte
Syntaxe SQL
Construction de la requte SQL de modification
Critres :

CT_Type = 0 > slection des clients

CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence
par 57
Valeur modifier

RE_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table
F_Represent)
strSQL = "Update F_CompteT " & _
" Set RE_No = 3 " & _
" Where CT_Type = 0 And CT_CodePostal like 57% "
Excution de la requte
cnxCPTA.Execute strSQL

188
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Rcupration des erreurs


Tout accs ODBC via les ADO peut provoquer une erreur ODBC. Chaque erreur gnre un ou
plusieurs objets Error qui sont placs dans la collection Errors. Pour connatre lerreur rencontre, il
suffit de parcourir lensemble de la collection Errors laide de lobjet Error. Lensemble des objets
Error de la collection Errors ne dcrit quune seule erreur : la dernire erreur obtenue.
Chaque objet Connection a sa propre collection derreurs.
Lobjet Error permet de connatre, entre autre :

Le numro de lerreur, laide de la proprit NativeError ( partir des ADO version 2.6),

Une description de lerreur (message en franais dans le cas dune erreur Sage), laide de la
proprit Description,

La provenance de lerreur, laide de la proprit Source.

Exemple
Exemple de rcupration des erreurs ODBC
En entte de procdure, on trouve linstruction ON ERROR GOTO MonLable. Cela veut dire que ds
quune
erreur est dtecte (ODBC ou autre), le programme fait un saut au label indiqu (ici MonLabel).
Si aucune erreur nest dtecte, il ne faudra pas effectuer ce traitement derreur > do lemploi de
linstruction
EXIT SUB afin de sortir de la procdure avant la partie concernant le traitement de lerreur.
Dim strErreur As String Variable contenant le message derreur afficher
Dim ErrorADO As ADODB.Error Objet contenant les erreurs RDO
Dim i As Integer Compteur utilis pour le parcours des erreurs
'Vide les erreurs ventuelles stockes dans l'objet err
Err.Clear
'Met jour la collection Errors de la connexion cnxCPTA (supprime les erreurs rsiduelles)
Cette instruction ne peut tre utilise quaprs avoir ralis la connexion ODBC.
cnxCPTA.Errors.Clear
En cas derreur, le programme ira directement au label Label_Erreur
On Error GoTo Label_Erreur
code Access Basic

189
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


Si aucune erreur nest rencontre, il nest pas ncessaire deffectuer le traitement derreur > sortie
du
programme (EXIT SUB pour une procdure, EXIT FUNCTION pour une fonction)
Exit Sub
Label_Erreur: 'Traitement des erreurs
'Parcours de l'ensemble des erreurs rencontres en vue de les afficher.
For i = 1 To cnxADO.Errors.Count
Cration de lobjet Error
Set ErrorADO = cnxADO.Errors.Item (i 1)
'Numro de l'erreur.
strErreur = "Erreur n" & CStr (ErrorADO.NativeError)
'Description de l'erreur (Message en franais)
strErreur = strErreur & " : " & ErrorADO.Description
'Source de l'erreur (Driver ODBC, Objet DAO...)
strErreur = strErreur & " (" & ErrorADO.Source & ") . "
Affichage du message derreur dans la fentre dExcution
Debug.Print strErreur
Destruction de lobjet Error
Set ErrorADO = Nothing
Next i

190
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Les DAO
Pour utiliser les objets daccs aux donnes des DAO, votre application doit utiliser la librairie
Microsoft DAO 2.5/.35 compatibility Library , ou une autre librairie plus rcente des DAO
(Microsoft DAO x.xx Compatibility Library).

191
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de la mthode OpenDatabase ().
Cette dernire prend en paramtre une chane de connexion ODBC. Cette chane permet didentifier la
source de donnes exploiter, ainsi que le nom et le mot de passe utiliser.
La dconnexion est ralise laide de la mthode Close.
Remarques :

Pour ne pas voir apparatre la bote de connexion Sage, il est impratif de renseigner le nom et le
mot de passe dans la chane de connexion (paramtres UID et PWD).

Microsoft Jet ne rompt pas rellement la connexion ODBC lors de lemploi de la mthode Close.
La connexion reste toujours active, ce qui peut tre gnant lors dune utilisation avec les versions
de Sage ODBC Ligne 100 infrieure la version 8.0 (dans le cas dune consolidation de socit
par exemple). En effet, ces versions de Sage ODBC Ligne 100 ne permettent pas louverture
simultane de plusieurs bases de mme type simultanment (ex : 2 bases comptables). Etant
donn que Jet ne rompt pas la connexion, il sera donc impossible de rcuprer, au sein dun mme
programme, des donnes provenant de plusieurs fichiers de mme type (ex : 2 fichiers
comptables).

Par dfaut, le moteur Jet rompt les connexions ODBC au bout de 10 mn (600 secondes) si aucune
requte nest excute. Ce paramtre peut tre chang dans la base de registre.

Jet 3.0 (VB 4.0, Office 95)

Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\ODBC

Entre : ConnectionTimeout Type : DWord Valeur par dfaut : 600.

Jet 3.5 (VB 5.0, Office 97)

Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\ODBC

Entre : ConnectionTimeout Type : DWord Valeur par dfaut : 600.

Exemple
Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou
Dim dbCPTA As DAO.Database Identifiant de la base de donnes
Dim strConnect as String Chane de connexion
Construction de la chane de connexion
Une chane de connexion ODBC commence toujours par le mot cl ODBC. Les diffrents paramtres
sont spars
192
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


par un point virgule ( ;)
DSN identifie le nom de la source de donnes
Les paramtres UID et PWD sont facultatifs
UID reprsente le nom de connexion utilis et PWD le mot de passe associ
strConnect = "ODBC;DSNComptaC_Bijou;UID=ADMIN;PWD=123;"
Connexion la source de donnes ComptaC_Bijou
Set dbDAO = DAO.OpenDatabase ("", False, False, strConnect)
Code Visual Basic...
Fermeture de la connexion
dbCPTA.Close
Destruction de lobjet
Set dbCPTA = Nothing

193
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Recherche denregistrements
Pour optimiser les temps de traitement, il est prfrable dexcuter une requte de slection. En effet,
les mthodes FindFirst et FindNext ne permettent pas dutiliser les index des bases. La recherche dun
enregistrement revient, dans ce cas, parcourir tous les enregistrements et effectuer une
comparaison sur les champs.
Remarque :

La Mthode Seek ne peut pas tre utilise sur une table ODBC. En effet, cette mthode est
utilisable uniquement sur un Recordset de type TABLE (une table ODBC est du type DYNASET
ou SNAPSHOT)

Normalement, une requte DAO passe par le moteur Jet avant dtre envoye au driver ODBC.
La requte envoye Jet par VB nest pas une vraie requte SQL, cest une requte Access
(syntaxe particulire). Si vous dsirez utiliser la syntaxe SQL, vous devez utiliser le paramtre
dbSQLPassThrough. Ce paramtre permet denvoyer une requte SQL directement au driver
ODBC, sans passer par le moteur Jet.

Exemple
Exemple dexcution de requte de slection et de parcours des enregistrements
Recherche de tous les clients dont le code commence par C
Lobjet Database dbCPTA a t ouvert
Dim rsClient as DAO.Recordset Objet contenant le rsultat de la requte
Dim strSQL as String Variable contenant la dfinition de la requte
Syntaxe SQL
Construction de la requte SQL de slection
Critres :

CT_Type = 0 > slection des clients

CT_Num like C% > Slection des codes clients commenant par C


strSQL = "Select CT_Num, CT_Intitule From F_CompteT " & _
"Where CT_Type = 0 And CT_Num Like C% "
Excution de la requte > Utilisation du paramtre dbSQLPassThrough pour lenvoyer directement
ODBC
Set rsClient = dbCPTA.OpenRecordset (strSQL, dbSQLPassThrough)
Parcours des enregistrements
While Not rsClient.EOF
Affichage du code et de lintitul du client dans la fentre dExcution
194
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


Debug.Print rsClient ("CT_Num"), rsClient ("CT_Intitule")
Passe lenregistrement suivant
rsClient.MoveNext
Wend
Fermeture de lobjet RecordSet
rsClient.Close
Destruction de lobjet
set rsClient = Nothing

195
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Ecriture dans les bases


Il nest pas recommand dutiliser les mthodes classiques dcriture des DAO (mthodes Edit,
AddNew et Update). Lcriture avec ces mthodes est plus longue que lenvoi dune requte SQL
dcriture directement au driver ODBC (sans passer par Jet). En effet, lors de lemploi des mthodes
Edit ou AddNew, Jet transforme les instructions en requte SQL lors de lexcution de la mthode
Update. Le fait denvoyer directement la requte SQL au driver ODBC vite cette phase de
transformation (et le temps dexcution du code relatif lcriture). De plus, ces mthodes dcriture
ne peuvent pas tre utilises si Jet ne reconnat pas de cl primaire la table ODBC (Jet ne sait crire
que si la table ODBC a une cl primaire).
Pour envoyer une requte directement au driver ODBC, utiliser le paramtre dbSQLPassThrough.
Ce paramtre indique que le processeur de requte du moteur de base de donnes Microsoft Jet est
ignor. La requte spcifie dans l'argument OpenRecordset (ou Execute) source est passe, pour
traitement, un serveur d'arrireplan ODBC. Donc, la requte sera interprte, directement, par le
driver ODBC.
Exemple
Exemple dexcution dune requte de modification.
Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi
par RE_No = 3)
qui se charge de ce secteur.
Lobjet Database dbCPTA a t ouvert.
Dim strSQL as String Variable contenant la dfinition de la requte
Syntaxe SQL
Construction de la requte SQL de modification
Critres :

CT_Type = 0 > slection des clients

CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence
par 57
Valeur modifier

RE_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table
F_Represent)
strSQL = "Update F_CompteT " & _
" Set RE_No = 3 " & _
" Where CT_Type = 0 And CT_CodePostal like 57% "
Excution de la requte
196
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


dbCPTA.Execute strSQL, dbSQLPassThrough

197
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic

Rcupration des erreurs


La rcupration des messages derreurs ODBC se fait par lintermdiaire de la collection Errors de
DBEngine. En effet, toutes les oprations concernant les objets daccs aux donnes (DAO) peuvent
gnrer une ou plusieurs erreurs. Chaque fois quune erreur se produit, un ou plusieurs objets Error
sont placs dans la collection Errors de lobjet DBEngine.
Lensemble des objets Error de la collection Errors ne dcrit quune seule erreur : la dernire erreur
obtenue. Le premier objet Error contient lerreur ODBC du niveau infrieur; les suivants contiennent
les erreurs ODBC retournes par les diffrentes couches dODBC (entre autre le driver ODBC Sage).
Le dernier objet Error retourn est lerreur provenant de lobjet DAO (la mme erreur que retourne les
objets Err, pour le code erreur, et Error, pour le message derreur en clair). La provenance de lerreur
(driver ODBC ou objet DAO) est renseigne dans lobjet Error.
Remarques :

Il ne faut pas confondre lobjet Error avec lobjet Err : Lobjet daccs aux donnes Error ne
contient que les informations relatives aux erreurs daccs aux donnes, donc au driver ODBC.
Lobjet Err ne contient que les erreurs Visual Basic survenues dans le programme (Err ne
retournera, tout comme Error ,que la dernire erreur de lobjet Error, celle qui est retourne par
Jet).

Lutilisation du paramtre dbSQLPassThrough (permet dignorer le moteur Jet et de passer


directement la requte SQL au driver ODBC) ninterfre en rien sur la mthode de rcupration
des erreurs.

Cette mthode de rcupration des messages derreur fonctionne avec lutilisation :


des mthodes AddNew, Edit, Update et Delete,
lexcution de requtes SQL laide de la mthode Execute, ou OpenRecordSet.

Les messages derreur ne sont pas rcuprs si la requte est excute laide de la mthode
Docmd.RunSql (syntaxe dexcution de requte dAccess).

Le code de traitement des erreurs doit examiner la collection Errors chaque fois que vous prvoyez
une erreur daccs aux donnes. Voici les proprits permettant de rcuprer ces erreurs :

le code erreur : utilisation de la mthode Number,

la description de lerreur (message en clair) : utilisation de la mthode Description,

la source de lerreur (driver ODBC, Objet DAO...) : utilisation de la mthode Source.

Exemple
Exemple de rcupration des erreurs ODBC

198
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


En entte de procdure, on trouve linstruction ON ERROR GOTO MonLable. Cela veut dire que ds
quune
erreur est dtecte (ODBC ou autre), le programme fait un saut au label indiqu (ici MonLabel).
Si aucune erreur nest dtecte, il ne faudra pas effectuer ce traitement derreur > do lemploi de
linstruction
EXIT SUB afin de sortir de la procdure avant la partie concernant le traitement de lerreur.
Dim strErreur As String Variable contenant le message derreur afficher
Dim errDAO As DAO.Error Objet contenant les erreurs daccs aux donnes
'Vide les erreurs ventuelles stockes dans l'objet err
Err.Clear
'Met jour la collection Errors (supprime les erreurs rsiduelles)
DAO.Errors.Refresh
En cas derreur, le programme ira directement au label Label_Erreur
On Error GoTo Label_Erreur
code Access Basic
Si aucune erreur nest rencontre, il nest pas ncessaire deffectuer le traitement derreur > sortie
du
programme (EXIT SUB pour une procdure, EXIT FUNCTION pour une fonction)
Exit Sub
Label_Erreur: 'Traitement des erreurs
'Parcours de l'ensemble des erreurs rencontres en vue de les afficher.
For Each errDAO In DAO.DBEngine.Errors
'Numro de l'erreur.
strErreur = "Erreur n" & CStr (errDAO.Number)
'Description de l'erreur (Message en franais)
strErreur = strErreur & " : " & errDAO.Description
'Source de l'erreur (Driver ODBC, Objet DAO...)
strErreur = strErreur & " (" & errDAO.Source & ") . "
Affichage du message derreur dans la fentre dExcution
Debug.Print strErreur
199
Sage France

Annexe 6 Utilisation dODBC avec Visual Basic


Next Passe lerreur suivante
Destruction de lobjet Error
Set errDAO = Nothing

200
Sage France

Annexe 7 Utilisation dODBC avec Windev

Annexe 7 Utilisation dODBC avec


Windev
Introduction ______________________________________________ 202
Connexion Dconnexion________________________________________ 202

Recherche denregistrements ___________________________ 204


Ecriture dans les bases __________________________________ 206
Rcupration des erreurs _______________________________________ 208

201
Sage France

Annexe 7 Utilisation dODBC avec Windev

Introduction
Laccs aux donnes via ODBC, sous Windev se fait exclusivement par lexcution de requtes SQL.
Il existe des fonctions de connexion, de dconnexion, dexcution de requtes et de parcours des
enregistrements.
La version 4.0 de Windev ne permet pas laccs plusieurs sources de donnes simultanment, ce qui
rend son utilisation trs difficile avec les produits de la ligne 100 (en particulier avec la gestion
commerciale et les immobilisations), car les bases sont troitement lies les unes aux autres.
Pour une utilisation avec les bases de la ligne 100, il est prfrable dutiliser une version de Windev
suprieure la version 4.0

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de la fonction SQLConnect ().
Cette dernire prend en paramtre le nom de la source de donnes, le nom de lutilisateur et son mot
de passe.
La dconnexion est ralise laide de la procdure SQLDisconnect (). Cette procdure dconnecte
la connexion courante. Pour changer de connexion, utiliser la procdure SQLChangeConnection ()
qui prend en paramtre lidentificateur de la connexion.
Remarques :

Mme si le nom et le mot de passe ne sont pas renseigns, aucune bote de dialogue de connexion
Sage napparatra.

La connexion ODBC est rellement rompue aprs lemploi de la procdure SQLDisconnect ().

Exemple
//Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou
strSource est une chane //Nom de la source de donnes
IdCPTA est un entier long //Identifiant de la connexion
Source = "ComptaC_Bijou"
//Connexion la source de donnes ODBC ComptaC_Bijou
//Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont
facultatifs. Si ces
//derniers ne sont pas renseigns, la bote de connexion Sage napparatra pas.
202
Sage France

Annexe 7 Utilisation dODBC avec Windev


IdCPTA = SQLConnect (Source,"ADMIN","123")
//Si la valeur de retour est gale 0, alors il y a eu un problme lors de la connexion
SI IdCPTA <> 0 alors //Pas de problme de connexion
//Code Windev
//Dconnexion de la base idCPTA
//Avant dappeler la procdure SQLDisconnect (), il faut sassurer que la connexion
courante
//est bien idCPTA > Utilisation de la procdure SQLChangeConnexion
SQLChangeConnection (idCPTA)
//Dconnexion de la source de donnes
SQLDisconnect ()
SINON //Problme lors de la connexion
//Traitement de lerreur
FIN

203
Sage France

Annexe 7 Utilisation dODBC avec Windev

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune
requte est ralise laide de la fonction SQLExec (). Cette fonction prend en paramtre le code
SQL de la requte, ainsi que son nom. Cette fonction retourne un boolen indiquant si son excution
sest correctement droule.
Une fois la requte excute, le parcours de ses enregistrements se fait laide des fonctions
SQLPremier, SQLDernier, SQLSuivant et SQLPrecedent. La rcupration des donnes est ralise par
la fonction SQLCol.
La recherche dun enregistrement prcis revient excuter une requte de slection prenant en compte
tous les critres spcifiques de cet enregistrement.
Remarques :

La requte est directement envoye au driver ODBC.

La requte est excute sur la connexion courante. Pour changer de connexion, utilisez la
procdure SQLChangeConnexion ()

Il nest pas ncessaire dutiliser SQLChangeConnexion () si vous nouvrez quune seule source
de donnes. Par contre, si vous en ouvrez plusieurs, il sera ncessaire de lemployer, afin
didentifier la connexion active.

Exemple
//Exemple dexcution de requte de slection et de parcours des enregistrements
//Recherche de tous les clients dont le code commence par C
//La connexion ODBC est active et identifie par la variable idCPTA
SELECT_QUERY est une chane //Nom de la requte SQL
strSQL est une chane //Variable contenant la requte SQL
//Slectionne la connexion idCPTA comme tant la connexion courante
SQLChangeConnexion (idCPTA)
//Affecte le nom de la requte
SELECT_QUERY = "SelectQuery"
//Syntaxe SQL
//Construction de la requte SQL de slection
//Critres :
//
CT_Type = 0 > slection des clients
204
Sage France

Annexe 7 Utilisation dODBC avec Windev


//
CT_Num like C% > Slection des codes clients commenant par C
strSQL = "Select CT_Num, CT_Intitule From F_CompteT "
strSQL = strSQL "Where CT_Type = 0 And CT_Num Like C% "
//Excution de la requte
SI SQLExec (strSQL, SELECT_QUERY) ALORS
//La requte SQL na pas provoque derreur
//Parcours des enregistrements
TANTQUE pas SQL.Endehors
//Affiche les informations lcran
// SQLCol prend en paramtre le nom de la requte et lindice du champ
Info (SQLCol (SELECT_QUERY,1) " " SQLCol (SELECT_QUERY,2))
//Passe lenregistrement suivant
SQLSuivant (SELECT_QUERY)
FIN
SINON
//Gestion de lerreur
FIN
//Ferme la requte SQL
SQLFerme (SELECT_QUERY)

205
Sage France

Annexe 7 Utilisation dODBC avec Windev

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Lexcution dune requte est ralise laide
de la fonction SQLExec (). Cette fonction prend en paramtre le code SQL de la requte, ainsi que
son nom. Cette fonction retourne un boolen indiquant si son excution sest correctement droule.
Remarques :

La requte est directement envoye au driver ODBC.

La requte est excute sur la connexion courante. Pour changer de connexion, utilisez la
procdure SQLChangeConnexion ().

Il nest pas ncessaire dutiliser SQLChangeConnexion () si vous nouvrez quune seule source
de donnes. Par contre, si vous en ouvrez plusieurs, il sera ncessaire de lemployer, afin
didentifier la connexion active.

Exemple
//Exemple dexcution dune requte de modification.
//Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi
par RE_No = 3)
//qui se charge de ce secteur.
//La connexion ODBC est active et identifie par la variable idCPTA
UPDATE_QUERY est une chane //Nom de la requte SQL
strSQL est une chane //Variable contenant la dfinition de la requte
//Slectionne la connexion idCPTA comme tant la connexion courante
SQLChangeConnexion (idCPTA)
//Affecte le nom de la requte
UPDATE_QUERY = "UpdateQuery"
//Syntaxe SQL
//Construction de la requte SQL de modification
//Critres :
//
CT_Type = 0 > slection des clients
//
CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence
par 57
//Valeur modifier
//
RE_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table
F_Represent)
206
Sage France

Annexe 7 Utilisation dODBC avec Windev


strSQL = "Update F_CompteT Set RE_No = 3 "
strSQL = strSQL " Where CT_Type = 0 And CT_CodePostal like 57% "
Excution de la requte
SI SQLExec (strSQL, UPDATE_QUERY) ALORS
//La requte sest correctement droule
SINON
//Gestion de lerreur
FIN
SQLFerme (UPDATE_QUERY)

207
Sage France

Annexe 7 Utilisation dODBC avec Windev

Rcupration des erreurs


La rcupration des erreurs, sous WinDev, se fait par lintermdiaire de la procdure SQLInfoGene
(). Lappel de cette procdure met jour les variables donnant les informations sur l'excution de la
requte (variable de SQL).
Toutes les fonctions daccs aux donnes (connexion, excution de requte) retournent un boolen,
indiquant si lexcution de la fonction sest correctement droule. Si une erreur est dtecte, il faut
mettre en place la procdure de rcupration du code erreur.
Syntaxe de la procdure SQLInfoGene

En franais : SQLInfoGene ([<Nom_Requte>])

En anglais : SQLInfo ([<Nom_Requte>])

SQLInfoGene avec comme paramtre <Nom_Requte> doit tre appele aprs l'excution de la
requte par SQLExec. SQLInfoGene sans paramtre doit tre appele aprs la connexion par
SQLConnecte.
Remarque :

SQL.Erreur ne retourne pas lerreur renvoye par le driver, mais lerreur interne ce dernier. Ce
code erreur est inexploitable, car il ne correspond pas au message reu dans SQL.MESERREUR..

Fonctions disponibles
Si <Nom_Requte> est prcise, SQLInfoGene met jour les variables donnant les informations sur
l'excution de la requte <Nom_Requte>.

SQL.Erreur est une chane de caractres et est gale "00000" si aucune erreur, sinon contient le
code de l'erreur (erreur interne au driver, donc non exploitable)

SQL.MesErreur est une chane de caractres et contient le libell de l'erreur

SQL.NbLig est un entier contenant le nombre de lignes du rsultat

SQL.EnCours est un entier et contient le numro de la ligne en cours

SQL.NbCol est un entier contenant le nombre de colonnes du rsultat

SQL.TitreCol[n] est une chane de caractres et contient le titre par dfaut de la mme colonne

SQL.Connexion est un entier qui contient le numro de la connexion en cours (demande par
SQLConnecte)
208
Sage France

Annexe 7 Utilisation dODBC avec Windev

SQL.Requete est un entier qui contient le numro de la requte en cours

Si <Nom_Requte> n'est pas prcise, SQLInfoGene retourne le rsultat de la connexion par


SQLConnecte :

SQL.Erreur est une chane de caractres et est gale "00000" si aucune erreur, sinon contient le
code de l'erreur

SQL.MesErreur est une chane de caractres et contient le libell de l'erreur

SQL.Connexion est un entier qui contient le numro de la connexion en cours (demande par
SQLConnecte)

Exemple
//Exemple de rcupration des erreurs ODBC
//Interception dune erreur de connexion et dune erreur dexcution de requte
//Nous ne nous attarderons pas sur la mthode de connexion et dexcution de requte
strMessageErreur est une chane //Chane contenant le message derreur afficher
Source = "ComptaC_Bijou"
//Connexion la source de donnes ODBC ComptaC_Bijou
IdCPTA = SQLConnect (Source,"","")
//Si la valeur de retour est gale 0, alors il y a eu un problme lors de la connexion
SI IdCPTA <> 0 alors //Pas de problme de connexion
//Code Windev
//Excution dune requte SQL
SI SQLExec (strSQL, SELECT_QUERY) ALORS
//La requte sest correctement droule
//Suite du traitement
SINON
//Gestion de lerreur dexcution dune requte SQL
//Gnre les erreurs de la requte SELECT_QUERY
SQLInfoGene (SELECT_QUERY)
strMessageErreur = "Erreur lors de lexcution de la requte"
//Code erreur
strMessageErreur = strMessageErreur Caract (13) "Code Erreur: " SQL.Erreur
//Message derreur
209
Sage France

Annexe 7 Utilisation dODBC avec Windev


strMessageErreur = strMessageErreur Caract (13) "Message: " SQL.MesErreur)
//Affiche lerreur
Erreur (strMessageErreur)
FIN
//Ferme la requte SQL
SQLFerme (UPDATE_QUERY)
SINON //Problme lors de la connexion
//Traitement de lerreur de connexion
//Gnre les erreurs
SQLInfoGene ()
strMessageErreur = "Erreur lors de la connexion"
//Code erreur
strMessageErreur = strMessageErreur Caract (13) "Code Erreur: " SQL.Erreur
//Message derreur
strMessageErreur = strMessageErreur Caract (13) "Message: " SQL.MesErreur)
//Affiche lerreur
Erreur (strMessageErreur)
FIN

210
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

Annexe 8 Utilisation dODBC avec


Visual FoxPro
Introduction ______________________________________________ 212
Les vues distantes ______________________________________________ 212
Programmation en Visual FoxPro _______________________________ 213
Recherche denregistrements___________________________________ 215
Ecriture dans les bases _________________________________________ 217
Rcupration des erreurs _______________________________________ 218

211
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

Introduction
Laccs aux donnes, avec Visual FroxPro, peut se faire de deux manires :

Utilisation des Remotes views (vues distantes en franais) pour excuter des requtes de
slection,

Utilisation du code pour se connecter, se dconnecter, excuter des requtes, parcourir des
enregistrements etc...

Ce document traitera essentiellement des accs ODBC via le code FoxPro. Seule la premire partie de
ce chapitre sera consacre lutilisation des Remotes Views.

Les vues distantes


Sous Visual FoxPro, il est possible de crer des vues distantes. Une vue distante est le rsultat dune
requte SQL via ODBC. Cette requte peut tre une requte de slection ou dcriture.
Une vue distante peut tre base sur une source de donnes ou sur une connexion. Il est prfrable de
baser une vue sur une connexion afin dviter la bote de connexion Sage. En effet, une connexion
permet non seulement didentifier la source de donnes utiliser, mais elle permet aussi de renseigner
le nom de lutilisateur ainsi que le mot de passe associ (permet dviter davoir la bote de connexion
Sage).
Dans un premier temps, vous devez crer une Connexion (arbre Donnes/Base de donnes). Dans
cette connexion, renseigner le nom de la source de donnes utiliser, ainsi que le nom et le mot de
passe de lutilisateur.
Vous pouvez ensuite crer des vues distantes (arbre Donnes/Base de donnes). Une vue distante est
le rsultat dune requte. Cette requte est excute sur une seule connexion ; il nest pas possible
dexcuter des requtes interbases.
Pour parcourir le rsultat dune vue distante, vous pouvez utiliser linstruction SCAN.
Exemple
&&Exemple de parcours de la vue distante ListeArticles.
&&ListeArticles est le rsultat de la requte suivante :
&&SELECT AR_REF, AR_DESIGN FROM F_ARTICLE
&&Utilise la vue distante ListeArticles
USE ListeArticles
212
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro


SCAN &&Parcours la liste
&&Affiche les informations
? AR_REF, AR_DESIGN
ENDSCAN

Programmation en Visual FoxPro


Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de la fonction SQLCONNECT
(). Cette dernire prend en paramtre le nom de la source de donnes et, ventuellement, le nom de
lutilisateur et son mot de passe. Le rsultat de la fonction est lidentificateur de la connexion. Si le
rsultat est infrieur ou gal zro, alors un problme a t rencontr.
La dconnexion est ralise laide de la fonction SQLDISCONNECT (). Cette dernire prend en
paramtre lidentificateur de connexion.
Remarques :

Pour ne pas voir apparatre la bote de connexion Sage, il est impratif de renseigner le nom et le
mot de passe (deuxime et troisime paramtre de SQLCONNECT).

&&Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou


PUBLIC INTEGER IdCPTA &&Identifiant de la connexion > dclar en public pour tre utilis par
la suite

&&Connexion la source de donnes ODBC ComptaC_Bijou


&&Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont
facultatifs.
&&Si ces derniers ne sont pas renseigns, la bote de connexion Sage apparatra.
IdCPTA = SQLCONNECT ("ComptaC_Bijou","ADMIN","123")
&&Si la valeur de retour est gale 0, alors il y a eu un problme de connexion
IF IdCPTA > 0 &&Pas de problme de connexion

&&Code Visual FoxPro


213
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

&&Dconnexion de la source de donnes


intRes = SQLDISCONNECT (idCPTA)
&&Si le rsultat de la fonction SQLDISCONNECT est <= 0, alors il y a eu un problme
lors de la
&&dconnexion
IF intRes <= 0
&&Problme rencontr lors de la dconnexion
ENDIF
ELSE &&Problme lors de la conexion
&&Traitement de lerreur
ENDIF

214
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune
requte est ralise laide de la fonction SQLEXEC (). Cette fonction prend en paramtre
lidentifiant de la connexion (valeur retourne par la fonction SQLCONNECT), le code SQL de la
requte et le nom de lobjet Cursor. Cet objet va contenir le rsultat de la requte de slection.
SQLEXEC ( ) renvoie le nombre de rsultats s'il y en a plus d'un. La fonction SQLEXEC ( ) renvoie 0
si elle est en cours d'excution et 1 si elle est termine. SQLEXEC ( ) renvoie 1 en cas derreur au
niveau de la connexion.
Remarque :

La mthode Seek ne fonctionne pas avec les accs ODBC. Il faudra donc utiliser dautres
instruments de recherche tel que Scan.

La recherche dun enregistrement prcis revient excuter une requte de slection prenant en
compte tous les critres spcifiques cet enregistrement.

Exemple
&&Exemple dexcution de requte de slection et de parcours des enregistrements
&&Recherche de tous les clients dont le code commence par C
&&La connexion ODBC est active et identifie par la variable idCPTA
&&Syntaxe SQL
&&Construction de la requte SQL de slection
&&Critres :
&&
CT_Type = 0 > slection des clients
&&
CT_Num like C% > Slection des codes clients commenant par C
strSQL = "Select CT_Num, CT_Intitule From F_CompteT "
strSQL = strSQL "Where CT_Type = 0 And CT_Num Like C% "
&&Excution de la requte sur la source de donnes identifie par idCPTA
&&Le rsultat de la requte sera identifi par lobjet MyCursor
inrRep = SQLEXEC (idCPTA, strSQL, 'MyCursor')
IF intRep >=0 &&La requte a fonctionn
&&Sil existe des enregistrements dans lobjet MyCursor, le programme va parcourir
&&tous les enregistrements
IF USED ('MyCursor')
SCAN
215
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro


&&Affichage des informations
? MyCursor.CT_NUM, MyCursor.CT_INTITULE
ENDSCAN
ENDIF
ELSE La requte a chou
&&traitement de lerreur
END IF

216
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Lexcution dune requte est ralise laide
de la fonction SQLEXEC (). Etant donn que la requte ne retourne pas denregistrements, il ne sera
pas ncessaire de donner un nom de cursor. Cette fonction prend en paramtre lidentifiant de la
connexion (valeur retourne par la fonction SQLCONNECT) et le code SQL de la requte dcriture.
Si le rsultat de la fonction SQLEXEC () est infrieur zro, alors la requte a chou.
Exemple
&&Exemple dexcution dune requte de modification.
&&Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi
par
&&RE_No = 3) qui se charge de ce secteur.
&&La connexion ODBC est active et identifie par la variable idCPTA
&&Syntaxe SQL
&&Construction de la requte SQL de modification
&&Critres :
&&
CT_Type = 0 > slection des clients
&&
CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence
par 57
&&Valeur modifier
&&
RE_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table
F_Represent)
strSQL = "Update F_CompteT Set RE_No = 3 "
strSQL = strSQL " Where CT_Type = 0 And CT_CodePostal like 57% "
Excution de la requte
intRep = SQLEXEC (idCPTA, strSQL)
IF intRep >=0 &&La requte dcriture a fonctionn
&&Suite de code Visual FoxFro
ELSE La requte a chou
&&traitement de lerreur
END IF

217
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro

Rcupration des erreurs


La rcupration des erreurs, sous Visual FoxPro, se fait par lintermdiaire de la fonction AERROR
(). Toutes les fonctions daccs aux donnes retournent une valeur <=0 si une erreur sest produite
durant lopration. AERROR () contient la dernire erreur rencontre, et prend en paramtre une
variable de type tableau contenant 7 lments.
Le premier lment est le n de lerreur FoxPro. Si celleci est gale 1526, alors cest une erreur
ODBC (soit retourne par le driver, soit retourne par FoxPro lors dun problme de connexion par
exemple).
Voici la liste des indices du tableau, avec la signification des erreurs ODBC.
Indice du tableau

Type

Contenu

Numrique

Vontient 1526 si cest une erreur ODBC ou daccs ODBC

Caractres

Message derreur retourn par FoxPro

Caractres

Message derreur retourn par le driver ODBC

Caractres

Code erreur interne au driver

Numrique

N de lerreur retourn par le driver ODBC

Numrique

Handle de connexion de la source de donnes ou sest produit


lerreur

Toujours nul

Remarques :

Chaque fois que vous excuterez une fonction daccs ODBC (connexion, excution dune
requte...), il faudra tester si la valeur retourne est ngative (ou gal 0 pour les fonctions de
connexion). Si oui, il faudra utiliser la fonction AERROR () afin de connatre lorigine du
problme.

La commande ON ERROR Do MonProgramme ; ne peut pas tre utilise pour une erreur
ODBC. Il faut obligatoirement tester la valeur retourne par les fonctions.

Exemple
&&Exemple de rcupration des erreurs ODBC
&&Interception dune erreur de connexion et dune erreur dexcution de requte
&&Nous ne nous attarderons pas sur la mthode de connexion et dexcution de requte
&&Connexion la source de donnes ODBC ComptaC_Bijou
IdCPTA = SQLCONNECT (ComptaC_Bijou)

218
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro


&&Si la valeur de retour est <= 0, alors il y a eu un problme lors de la connexion
IF IdCPTA > 0 &&Pas de problme de connexion
&&Code Visual FoxPro
&&Excution dune requte SQL
intRes = SQLEXEC (idCPTA, strSQL,MyCursor)
&&Si le rsultat de SQLExec est < 0, alors il y a eu un problme lors de lexcution de la
requte
IF intRes >= 0 &&La requte a fonctionn
&&suite du code Visual FoxPro
ELSE &&Gestion de lerreur dexcution dune requte SQL
&&Gnre les erreurs dans le tableau aErrorArray
= AERROR (aErrorArray)
strMessageErreur = "Erreur lors de lexcution de la requte"
&&Code erreur
strMessageErreur = strMessageErreur CHR (13) "Code Erreur: " aErrorArray
(5)
&&Message derreur
strMessageErreur = strMessageErreur CHR (13) "Message: " aErrorArray (3)
&&Affiche lerreur
? strMessageErreur
ENDIF
&&Ferme la connexion ODBC
intRes = SQLDISCONNECT (idCPTA)
ELSE &&Problme lors de la connexion
&&Traitement de lerreur de connexion
&&Gnre les erreurs dans le tableau aErrorArray
= AERROR (aErrorArray)
strMessageErreur = "Erreur lors de la connexion"
&&Code erreur
strMessageErreur = strMessageErreur CHR (13) "Code Erreur: " aErrorArray (5)
&&Message derreur
strMessageErreur = strMessageErreur CHR (13) "Message: " aErrorArray (3)
&&Affiche lerreur
? strMessageErreur
219
Sage France

Annexe 8 Utilisation dODBC avec Visual FoxPro


END IF

220
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Annexe 9 Utilisation dODBC avec


Delphi
Introduction ______________________________________________ 222
Connexion Dconnexion ________________________________ 223
Recherche denregistrements ___________________________ 224
Utilisation de lobjet TQuery ____________________________________ 225
Utilisation de lobjet TTable ____________________________________ 227

Ecriture dans les bases __________________________________ 229


Utilisation de lobjet TQuery ____________________________________ 230
Utilisation de lobjet TTable ____________________________________ 232

Rcupration des erreurs ________________________________ 234

221
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Introduction
Afin de standardiser la gestion des bases de donnes, Delphi utilise des alias, faisant rfrence des
sources de donnes ou des bases de donnes. Il est donc ncessaire de crer ces alias avant de pouvoir
programmer. Pour se faire, il faut utiliser lutilitaire de Configuration BDE.
Il faut donc, dans un premier temps, crer un nouveau pilote ODBC, laide de cet utilitaire :

Dans le feuillet pilotes , cliquez sur Nouveau pilote ODBC .

Renseignez le nom de ce pilote, son type (Sage Gestion commerciale 100, Sage comptabilit
100...), ainsi que le nom de la source de donnes associ ce pilote, car un pilote ne fait rfrence
qu une seule source de donnes.

Une fois ce Pilote cr, il ne reste plus qu lui associer un alias. Pour se faire, allez dans le feuillet
Alias et faites Nouvel Alias . Renseignez le nom de votre alias, ainsi que le nom du pilote
utiliser (type de lalias), avant de cliquer sur OK .
Remarques :

Le nom des pilotes ODBC commencent tous par ODBC_ .

A partir de la version 3.0 de Delphi, il nest plus ncessaire de crer des Alias ; delphi est capable
dattaquer en direct une source de donnes.

Quelque soit la base de donnes utilise (ODBC ou autre), Delphi ne fait pas de diffrence ;
toutes les mthodes standard sont utilisables.

222
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Connexion Dconnexion
Que vous utilisiez un objet TTable ou Tquery, la connexion sera ralise au moment o vous utiliserez
la mthode Open pour lobjet TTable, ou au moment de lemploi de la mthode ExecQuery (ou la
proprit Active vrai) pour lobjet Tquery. Sous Delphi, il ny a pas dobjet permettant didentifier
une connexion proprement dit, comme on pourrait le trouver dans les autres langages (ex : objet
connexion comme sous VB, ou ID de connexion comme sous Windev ou Visual FoxPro).
La dconnexion est ralise laide de la mthode Close. Cette mthode est utilisable par les deux
objets.

Lors de la premire connexion une source de donnes Sage, Delphi va afficher une bote de
connexion. A priori, il nest pas possible de renseigner le nom et le mot de passe utiliser afin de ne
pas voir apparatre cette bote de connexion.
Exemple
{Exemple douverture de la table F_CompteT de la comptabilit}
{La source de donnes utilise est ComptaC_Bijou}
{Le nom de lobjet TTable est TCompta}
{Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj connect}
{ une source de donnes}
If TCompta.Active then TCompta.Close ;
{Renseigne le nom de la source de donnes}
TCompta.DatabaseName := ComptaC_Bijou ;
{Renseigne le nom de la table}
TCompta.TableName := 'F_COMPTET' ;
{Ouvre la table > connexion ODBC}
TCompta.Open ;
{Traitement Delphi}
{Fermeture de la table}
TCompta.Close;
Lutilisation de lobjet Tquery est trait dans le chapitre cidessous.

223
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Recherche denregistrements
Il existe plusieurs mthodes de recherche denregistrements. La plus adapte est celle effectue
laide de lobjet Query. En effet, il suffit de lui indiquer quel alias faire rfrence, ainsi que la
requte excuter. Cette mthode est la mieux adapte car elle permet de lier des informations qui
proviennent de plusieurs tables. De plus, cest le driver ODBC qui se charge de trouver lindex (ou les
index) optimal pour lexcution de cette requte. Le rsultat de cette dernire pourra tre envoy un
autre objet du type DBGrid par exemple, via lobjet DataSource.
Lautre mthode de recherche (utilise essentiellement pour une recherche avant mise jour ou
suppression) est base sur les mthodes Goto (GotoKey, GotoNearest etc...) ou Locate qui
sappliquent aux objets de type TTable. Ces mthodes ncessitent lutilisation des index de recherche
des tables Sage Ligne 100 (ces index sont rfrencs pour chaque table dans le manuel de Sage ODBC
Ligne 100). Lindex utiliser sera renseign, ainsi que la valeur des champs qui composent cet index.
Cette mthode vous permettra de vous placer sur lenregistrement modifier ou supprimer, par
exemple.
Vous trouverez cidessous un exemple de ces deux mthodes de recherche.

224
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Utilisation de lobjet TQuery


Exemple
{Exemple dexcution de requte de slection et de parcours des enregistrements}
{Recherche de tous les clients dont le code commence par C}
{La source de donnes utilise est ComptaC_Bijou}
{Le nom de lobjet TQuery est QClient}
Var
strSQL : String ; {Varaible contenant la requte SQL de slection}
strMessage : String ; {Message affich lcran utilis pour le parcours des
enregistrements}
Begin
{Syntaxe SQL}
{Construction de la requte SQL de slection}
{Critres :}
{
CT_Type = 0 > slection des clients}
{
CT_Num like C% > Slection des codes clients commenant par C}
strSQL = Select CT_Num, CT_Intitule From F_CompteT
strSQL = strSQL Where CT_Type = 0 And CT_Num Like C%
{Avant toute manipulation sur lobjet QClient, on sassure que ce dernier nest pas dj
connect}
{ une source de donnes}
If QClient.Active Then QClient.Close;
{Renseigne le nom de la source de donnes > ComptaC_Bijou}
QClient.DatabaseName := ComptaC_Bijou;
{Supprimer la requte SQL prcedente}
QClient.SQL.Clear;
{Affecte la requte SQL lobjet TQuery}
QClient.SQL.Add (strSQL);
{Excute la requte SQL de slection}
QClient.Active := True;
{Se place au premier enregistrement si le rsultat de la requte nest pas vide}
If not QClient.EOF then
225
Sage France

Annexe 9 Utilisation dODBC avec Delphi


QClient.First;
{Parcours les enregistrements slectionns}
While not QClient.EOF do
Begin
{Affiche les informations}
strMessage = QClient[CT_NUM] : QClient['CT_INTITULE']
MessageDlg (strMessage, mtInformation,[mbOk], 0);
{Passe lenregistrement suivant}
QClient.Next;
End;
Qclient.Close ;
End ;

226
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Utilisation de lobjet TTable


Exemple
{Exemple dexcution de requte de slection et de parcours des enregistrements}
{Recherche de tous les clients}
{La source de donnes utilise est ComptaC_Bijou}
{Le nom de lobjet TTable est TCompta}
Var
strMessage : String ; {Message affich lcran utilis pour le parcours des
enregistrements}
Begin
{Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj
connect}
{ une source de donnes}
If not TCompta.Active then TCompta.Close;
{affecte le nom de la source de donnes utiliser}
TCompta.DatabaseName := 'ComptaC_Bijou';
{Nom de la table ouvrir}
TCompta.TableName := 'F_COMPTET';
{Index utiliser. Lindex ICT_TYPE se compose des champs CT_Type et CT_Num. Il sera
donc}
{ncessaire de les renseigner}
TCompta.IndexName := 'ICT_TYPE';
{Ouvre la table TCompta}
TCompta.Open;
{Indique que les valeurs des champs des index vont tre renseignes}
TCompta.SetKey;
TCompta['CT_TYPE'] := 0;
TCompta['CT_NUM'] := '';
{Recherche lenregistrement le plus proche}
TCompta.GotoNearest;
{Tant que lon est pas la fin de la table et que le type du Tiers est client (CT_Type = 0)}
While not TCompta.EOF And TCompta['CT_TYPE'] = 0 Do
227
Sage France

Annexe 9 Utilisation dODBC avec Delphi


Begin
{Affiche le code du client}
strMessage := TCompta['CT_NUM'];
MessageDlg (strMessage, mtInformation,[mbOk], 0);
{Passe lenregistrement suivant}
TCompta.Next;
End;
{Ferme la connexion de TCompta}
TCompta.Close ;
End ;

228
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Ecriture dans les bases


Toutes les mthodes dcriture applicables lobjet TTable, telle que InsertRecord, AppendRecord,
Insert, Append, Edit, Delete (associs la mthode Post) sont utilisables. Il suffit de crer un Objet
de type TTable, et de faire rfrence une table dun alias Sage Ligne 100.
Il est aussi possible dexcuter une requte dcriture partir dun objet de type Tquery, laide la
mthode ExecQuery.
Vous trouverez cidessous un exemple de ces deux mthodes.

229
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Utilisation de lobjet TQuery


Exemple
{Exemple dexcution dune requte de modification.}
{Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi
par RE_No = 3)}
{qui se charge de ce secteur.}
{La source de donnes utilise est ComptaC_Bijou}
{Le nom de lobjet TQuery est QUpdateQuery}
Var
strSQL : String ; {Variable contenant la requte SQL de slection}
Begin
{Syntaxe SQL}
{Construction de la requte SQL de modification}
{Critres :}
{
CT_Type = 0 > slection des clients}
{
CT_CodePostal like 57% > Slection des codes clients dont le code dpartement
commence par 57}
{Valeur modifier}
{
RE_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la
table F_Represent)}
strSQL = Update F_CompteT Set RE_No = 3
strSQL = strSQL Where CT_Type = 0 And CT_CodePostal like 57%
Excution de la requte
{Avant toute manipulation sur lobjet QClient, on sassure que ce dernier nest pas dj
connect}
{ une source de donnes}
If QUpdateQuery.Active Then QUpdateQuery.Close;
{Renseigne le nom de la source de donnes > ComptaC_Bijou}
QUpdateQuery.DatabaseName := ComptaC_Bijou;
{Supprimer la requte SQL prcedente}
QUpdateQuery.SQL.Clear;
{Affecte la requte SQL lobjet TQuery}
QUpdateQuery.SQL.Add (strSQL);
230
Sage France

Annexe 9 Utilisation dODBC avec Delphi


{Excute la requte SQL dcriture}
QUpdateQuery.ExecQuery.;
QUpdateQuery.Close ;
End :

231
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Utilisation de lobjet TTable


Exemple
{Exemple dexcution dune requte de modification.}
{Les clients de la ville de Metz changent de reprsentant. Dsormais, cest Gendron (identifi par
RE_No = 3)}
{qui se charge de ce secteur.}
{La source de donnes utilise est ComptaC_Bijou}
{Le nom de lobjet TTable est TCompta}
Var
strSQL : String ; {Variable contenant la requte SQL de slection}
Begin
{Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj
connect}
{ une source de donnes}
If not TCompta.Active then TCompta.Close;
{affecte le nom de la source de donnes utiliser}
TCompta.DatabaseName := 'ComptaC_Bijou';
{Nom de la table ouvrir}
TCompta.TableName := 'F_COMPTET';
{Index utiliser. Lindex ICT=TYPE se compose des champ CT_Type et CT_Num. Il sera
donc}
{ncessaire de les renseigner}
TCompta.IndexName := 'ICT_TYPE';
{Ouvre la table TCompta}
TCompta.Open;
{Indique que les valeurs des champs des index vont tre renseignes}
TCompta.SetKey;
TCompta['CT_TYPE'] := 0;
TCompta['CT_NUM'] := '';
{Recherche lenregistrement le plus proche}
TCompta.GotoNearest;
{Tant que lon est pas la fin de la table et que le type du Tiers est client (CT_Type = 0)}
232
Sage France

Annexe 9 Utilisation dODBC avec Delphi


While not TCompta.EOF And TCompta['CT_TYPE'] = 0 Do
Begin
If Tcompte[CT_Ville] = Metz Then {Si la ville du client est Metz, alors}
{on effectue la modification}
Begin
{Modification du n de reprsentant}
TCompta.Edit;
{Change le n de reprsentant RE_No = 3}
TCompta[RE_NO']:= 3;
{Valide le changement laide de la mthode Post}
TCompta.Post;
End ;
{Passe lenregistrement suivant}
TCompta.Next;
End;
{Ferme la connexion de TCompta}
TCompta.Close ;
End ;

233
Sage France

Annexe 9 Utilisation dODBC avec Delphi

Rcupration des erreurs


La rcupration des erreurs, sous Delphi, se fait par lintermdiaire des Exceptions. Une exception est
une condition derreur ou dvnement exceptionnel qui interrompt lexcution normale du
programme.
En Pascal Objet, la gestion des exceptions permet de sparer le programme avec la partie grant les
erreurs ventuelles.
Lunit sysUtils implmente la gnration et la gestion des exceptions. Lorsquune application utilise
lunit SysUtils, toutes les erreurs dexcution sont automatiquement converties en exception.
Syntaxe :
Try
(* Code Pascal *)
except
On Erreur1 : ErreurType do
MessageDlg (Erreur1.message, mtInformation,[mbOk], 0);
end ;
Si une erreur se produit durant lexcution des instructions se trouvant entre les mots rservs Try et
Except, alors lexcution du code sera automatiquement interrompu, et le gnrateur dexception
soccupera deffectuer les oprations ncessaires (code se trouvant entre les mots rservs except et
end), afin de traiter lerreur.
Si aucune erreur ne sest produite, le code grant les exceptions (qui se trouve entre Except et End), ne
sera pas excut.
Plusieurs types derreurs peuvent se produire :

Les erreurs de connexion, douverture de table, de champ spcifi non trouv... Ces erreurs se
trouvent dans la classe EDatabaseError.

Les erreurs concernant les tests de cohrence et dintgrit retourns par le driver ODBC. Ces
erreurs se trouvent dans la classe EDBEngineError.

Il existe dautres types dexception, mais ils ne seront pas traits ici, car il ne concernent pas les
erreurs de connexion, o celles retournes par les drivers ODBC Sage.
Les mthodes de rcupration des erreurs pour ces deux classes dObjet sont diffrentes.

234
Sage France

Annexe 9 Utilisation dODBC avec Delphi


L'exception EDatabaseError est dclenche lorqu'une erreur de base de donnes est dtecte par un
composant. Elle ne contient quune seule erreur et pour obtenir son message derreur en clair, il faut
utiliser la mthode message.
Une exception de type EDBEngineErreur, est dclenche lorsquune erreur BDE se produit.
Lexception contient deux proprits public : Errors (TBDError) qui contient une liste de toute la pile
des erreurs retournes par le moteur de base de donnes Borland, et ErrorCount qui contient le
nombre total derreurs contenues dans la proprit Errors. Errors possde cinq proprits public
permettant de dtailler les erreurs (ErrorCode, Cotegory, SubCode, NativeError et Message).
Exemple
Lexemple suivant vous montre comment grer les exceptions retournes par le driver ODBC Sage .
var
S :String;
i,j :Longint;
ErrSql:TDBError;
begin
try
{Code Delphi}
except
(* La suite du code nest excut que si une exception sest produite *)
On ErrEngine: EDBEngineError do (* Une erreur DBE sest produite *)
begin
(* Une exception du type EDBEngineError est compose de plusieurs erreurs. *)
(* Il faut donc la parcourir afin de rcuprer lensemble des erreurs *)
for i:=0 to ErrEngine.ErrorCount1
do begin
ErrSql:=ErrEngine.Errors[i];
j:=ErrSql.NativeError;
Str (j,s);
(* Affiche le n de lerreur retourn par le driver ODBC *)
MessageDlg ('Erreur n ' s, mtInformation,[mbOk], 0);
(* Affiche le texte de lerreur retourn par le driver ODBC *)
235
Sage France

Annexe 9 Utilisation dODBC avec Delphi


MessageDlg (ErrSql.message, mtInformation,[mbOk], 0);
end;
end;
On ErrDatabase: EDatabaseError do (* Erreur de base de donnes dtecte *)
MessageDlg (ErrDatabase.message, mtInformation,[mbOk], 0);
else
MessageDlg ('Autre erreur', mtInformation,[mbOk], 0);
end;
end;

236
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Annexe 10 Utilisation des fonctions


avances Sage
Introduction ______________________________________________ 238
API Sage_________________________________________________________ 238
DLL ActiveX _____________________________________________________ 239
Descriptif des fonctions utilises dans les exemples __________ 240

Visual Basic ______________________________________________ 242


API Sage_________________________________________________________ 242
DLL ActiveX _____________________________________________________ 245
Dclaration des fonctions avances Sage______________________ 247

WinDev ___________________________________________________ 248


API Sage_________________________________________________________ 248
DLL ActiveX _____________________________________________________ 252

Visual FoxPro ____________________________________________ 253


API Sage_________________________________________________________ 253
Dclaration des fonctions avances Sage______________________ 256

Delphi_____________________________________________________ 257
API Sage_________________________________________________________ 257
DLL ActiveX _____________________________________________________ 261
Dclaration des fonctions avances Sage______________________ 264

237
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Introduction
Comme dcrit dans les chapitres prcdents.
Remarque :

Les fonctions avances Sage ont un accs natif aux bases de donnes ; elles ne passent pas par le
driver ODBC.

Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC,
la base comptable.

Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via
ODBC, la base comptable et la base commerciale. Ceci est normalement toujours le cas car
une source de donnes de gestion commerciale utilise la base de comptabilit et la base de
gestion commerciale.

Il existe deux mthodes pour appeler ces fonctions :

La premire consiste lappel de fonctions externes (API Sage). Ces fonctions se trouvent dans
la DLL CBODBC32.DLL. Cette mthode est utilisable par tous les logiciels 32 bits capables
dappeler des fonctions externes.

La seconde consiste lemploi dune DLL ActiveX (ASD100.DLL). Cette mthode est utilisable
par tous les logiciels 32 bits capables dutiliser la technologie ActiveX.

API Sage
Pour utiliser ces fonctions, vous devez les dclarer, en faisant attention la syntaxe de la fonction
(minuscule et majuscule). La librairie Sage se nomme CBODBC32.DLL. Les fonctions retournent un
code erreur (entier). Si ce code erreur vaut 0, alors le rsultat de la fonction est correct, sinon le code
retour identifie lerreur. Lerreur la plus frquente est 2013 : dossier non ouvert. Cette erreur indique
quil ny a pas de connexion ODBC aux bases Sage. Les fonctions volues ont plusieurs paramtres.
Linformation que vous recherchez est toujours retourne par le dernier paramtre. Le format date est
une chane de caractre au format JJMMAA.

238
Sage France

Annexe 10 Utilisation des fonctions avances Sage

DLL ActiveX
Un composant ActiveX est une unit de code excutable qui suit la spcification ActiveX dans le but
de fournir des objets. Ces objets sont utilisables par tous les logiciels de dveloppement capables
dutiliser cette technologie (Visual Basic 6.0, Delphi 3.0 etc...).
Lintrt dutiliser une DLL activeX pour les fonctions volues est multiple :

Manipulation dun objet avec des proprits

Plus besoin de dclarer lensemble des fonctions volues

Facilit dutilisation

Possibilit dutilisation dans Microsoft Visual Interdev pour dvelopper des applications Intranet
ou Internet

Remarque

Pour utiliser les fonctions de la comptabilit, votre application doit tre connect, via ODBC, la
base comptable.

Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connect, via
ODBC, la base comptable et la base commerciale.

Principe dutilisation
La DLL ActiveX est ASD100.DLL (Active Sage Data 100). Cette DLL est stocke dans
Windows\System. A lintrieur de cette DLL sont stockes lensemble des fonctions volues.
Cette DLL est compose de 4 objets :

CPTA : fonctions volues de comptabilit 100

CIAL : fonctions volues de gestion commerciale 100

FSAL : fonctions volues de la paie Maestria

PARAM : fonctions volues relatives aux pages paramtres et utilitaires

Chaque objet expose ses proprits, qui sont les fonctions volues du driver Sage ODBC.
Contrairement aux fonctions volues qui retournent un code erreur, chaque proprit de lobjet
retourne le rsultat. Le code erreur retourn par la fonction est rcuprable par la proprit Erreur. De
plus, le format date nest plus une chane de caractres, mais bel et bien un format date de
lapplication.

239
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Descriptif des fonctions utilises dans les exemples


Vous trouverez cidessous des exemples de fonctions Sage retournant des numriques, des dates et des
chanes de caractres.
Cidessous quelques exemples de fonctions Sage :

TotalMvtSolde () : Comptabilit Cette fonction permet de calculer le solde des mouvements


connaissant le compte gnral CG_Num, le compte tiers CT_Num ou (et) le code journal
JO_Num

CIALDocNouvPiece () : Gestion commerciale Retourne la valeur du nouveau numro de pice


disponible en fonction de la souche et du type de document.

GetParamValeurDate : Retourne la valeur du champ date identifi par ces paramtres. Ce


champ se trouve dans une table P_ (table paramtre).

TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, [Rsultat] )


Cette fonction permet de calculer le solde des mouvements connaissant le compte gnral CG_Num,
le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la
date de fin Fin.
On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel
cas, le critre de recherche stendrait toutes les valeurs de ces champs.
Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants est
une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM.
En Entre

CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte


gnral

CT_Num (Chane Alphanumrique Maj. 17 caractres max.) : Numro de compte tiers

JO_Num (Chane de caractres 6 caractres max.) : Code Journal

Deb (Date) : Date de dbut

Fin (Date) : Date de fin

En Sortie

Rsultat de la fonction (Double) : Solde

240
Sage France

Annexe 10 Utilisation des fonctions avances Sage


CIALDocNouvPiece (DO_Type, DO_SOUCHE, [Rsultat] )
Retourne la valeur du nouveau numro de pice disponible en fonction de la souche.
En Entre

DO_Type (Entier) : Type de document


DO_Souche (Entier) : Numro de souche du document
En Sortie

Rsultat de la fonction (Double) : Montant TTC en devise du document.


GetParamValeurDate (TypeBase, NomTable, NomChamp, [Rsultat] )
Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDate
retourne la valeur en Date, du champ NomChamp, de la page paramtre NomTable, de la base de type
TypeBase.
Si la table NomTable est une table de type fichier (table commenant par F_), alors
GetParamValeurDate retourne la valeur en Date, du champ NomChamp, de la table NomTable, de la
base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification).
Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer,
principalement des champs calculs ou mis jour par le driver.
En Entre

TypeBase (Chane de caractres) : Type de la base : CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
NomTable (Chane de caractres) : Nom de la table de type paramtre (table commenant par P_)
NomChamp (Chane de caractres) : Nom du champ de la page paramtre.
En Sortie

Rsultat de la fonction (Date) : Valeur du champ

241
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Visual Basic
Avant de pouvoir utiliser une fonction avance Sage, il faut que Visual basic soit connect aux bases
Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connect, via ODBC,
la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre
connect, via ODBC, la base comptable et la base commerciale.
La connexion aux bases ODBC peut tre ralise a laide de nimporte quelle mthode disponible
partir de Visual Basic.
Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde ()
Dclaration

La fonction API Sage retourne un code erreur (cest un entier).


Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass par
rfrence.
Noubliez pas de respecter les majuscules/minuscules
Declare Function TotalMvtSolde Lib "CBODBC32" (ByVal CG_Num As String, ByVal CT_Num As
String, _
ByVal JO_Num As String, ByVal debut As String, ByVal fin As String, Resultat As Double) As Integer
Utilisation

Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction.
Dim dblResult as Double Variable utilise pour recueillir le rsultat.

Appel de la fonction Sage

Compte gnral : 4010000

Compte de Tiers : non prcis

Code journal : ACH journal des achats


242
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Date de dbut de priode : 010196 01/01/1996

Date de fin de priode : 311296 31/12/1996

intCodeerr = TotalMvtSolde ("4010000", "", "ACH", "010196", "311296", dblResult)


If intCodeErr = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print dblResult
Else Une erreur est dtecte
Affiche le code erreur
Debug.Print "Erreur n", intCodeErr
End If
CIALDocNouvPiece ()
Dclaration

La fonction API Sage retourne un code erreur (cest un entier).


Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc
pass
par valeur.
Noubliez pas de respecter les majuscules/minuscules
Declare Function CIALDocNouvPiece Lib "CBODBC32" (ByVal DO_Type As Integer, _
ByVal DO_Souche As Integer, ByVal Resultat As String) As Integer
Utilisation

Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction.
Dim strResult as String * 13 Variable utilise pour recueillir le rsultat.

Initialisation de la variable strResult


strResult = Trim$ (13)
Appel de la fonction Sage

Type de document : 1 BC de vente


243
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Souche : 0 N de pice pour Bijou SA

intCodeerr = CIALDocNouvPiece (1, 0, strResult)


If intCodeErr = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print Trim (strResult)
Else Une erreur est dtecte
Affiche le code erreur
Debug.Print "Erreur n", intCodeErr
End If
GetParamValeurDate ()
Dclaration

La fonction API Sage retourne un code erreur (cest un entier).


Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc
pass
par valeur.
Noubliez pas de respecter les majuscules/minuscules
Declare Function GetParamValeurDate Lib "CBODBC32" (ByVal TypeBase As String, _
ByVal NomTable As String, ByVal NomChamp As String, ByVal ValChamp As String) As Integer
Utilisation

Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction.
Dim strResult as String * 7 Variable utilise pour recueillir le rsultat.

Initialisation de la variable strResult


strResult = Trim$ (7)
Appel de la fonction Sage

Type de base : CPTA base comptable

Nom de la table : P_DOSSIER


244
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc", strResult)


If intCodeErr = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print Trim (strResult)
Else Une erreur est dtecte
Affiche le code erreur
Debug.Print "Erreur n", intCodeErr
End If

DLL ActiveX
Pour utiliser la DLL ActiveX Sage sous Visual Basic, vous devez faire rfrence ASD100 Type
librairie x.xx .
TotalMvtSolde ()
TotalMvtSolde est une fonction de la comptabilit. Lobjet utiliser est donc ASD100Lib.Cpta
La proprit utiliser est TotalMvtSolde
Dim objCPTA As ASD100Lib.Cpta Dclaration de lobjet Cpta
Dim dblResult as double Variable utilise pour recueillir le rsultat.

Cration de lobjet
Set objCPTA = New ASD100Lib.Cpta
Appel la proprit TotalMvtSolde. Le rsultat est stock dans la variable dblResult.

Compte gnral : 4010000

Compte de Tiers : non prcis

Code journal : ACH journal des achats

Date de dbut de priode : 01/01/1996


245
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Date de fin de priode : 31/12/1996

dblResult = objCPTA.TotalMvtSolde ("4010000", "", "ACH", #1/1/96#, #12/31/96#)


If objCPTA.Erreur = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print dblResult
Else Une erreur est dtecte
Affiche le code erreur
Debug.Print "Erreur n", objCPTA.Erreur
End If
CIALDocNouvPiece ()
CIALDocNouvPiece est une fonction de la gestion commerciale. Lobjet utiliser est donc
ASD100Lib.Cial
La proprit utiliser est DocNouvPiece
Dim objCIAL As ASD100Lib.Cial Dclaration de lobjet Cial
Dim strResult as string Variable utilise pour recueillir le rsultat.

Cration de lobjet
Set objCIAL = New ASD100Lib.Cial
Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult.

Type de document : 1 BC de vente

Souche : 0 N de pice pour Bijou SA

strResult = objCIAL.DocNouvPiece (1, 0)


If objCIAL.Erreur = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print strResult
Else Une erreur est dtecte
Affiche le code erreur
246
Sage France

Annexe 10 Utilisation des fonctions avances Sage


Debug.Print "Erreur n", objCIAL.Erreur
End If
GetParamValeurDate ()
GetParamValeurDate est une fonction concernant les tables paramtres (P_). Lobjet utiliser est
donc ASD100Lib.Param
La proprit utiliser est GetParamValeurDate
Dim objParam As ASD100Lib.Param Dclaration de lobjet Param
Dim dResult as Date Variable utilise pour recueillir le rsultat.

Cration de lobjet
Set objParam = New ASD100Lib.Param
Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult.

Type de base : CPTA base comptable

Nom de la table : P_DOSSIER

Nom du champ : D_DebutExo01

dResult = objParam.GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc")


If objParam.Erreur = 0 Then Pas derreur
Affiche le rsultat dans la fentre dexcution
Debug.Print dResult
Else Une erreur est dtecte
Affiche le code erreur
Debug.Print "Erreur n", objParam.Erreur
End If

Dclaration des fonctions avances Sage


Ces dclarations se trouvent dans le fichier fourni avec le Kit ODBC : FONCTION.TXT
247
Sage France

Annexe 10 Utilisation des fonctions avances Sage

WinDev
Avant de pouvoir utiliser une fonction avance Sage, il faut que Windev soit connect aux bases Sage.
Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la
base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre
connecte, via ODBC, la base comptable et la base commerciale.
Remarques :

Il est ncessaire de charger la librairie avant de pouvoir appeler les fonctions (Utilisation de la
fonction ChargeDLL).

La dfinition du passage de paramtre (par valeur ou par rfrence) se dfinit lors de lexcution
de la fonction (utilisation du caractre &).

La librairie Sage Ligne 100 est une librairie 32 bits. Il est donc impratif dutiliser la fonction
AppelDll32 (Ne pas utiliser AppelDll ni AppelDllLong).

Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
Il nexiste pas de dclaration de fonction proprement dit sous Windev. En effet, ce dernier charge la
DLL o se situe les fonctions (dans notre cas CBODBC32.DLL), avant dappeler les fonctions.
Remarques :

Il est important de respecter les majuscules/minuscules lors de lappel aux fonctions Sage

Il ne faut pas oublier de dcharger la DLL aprs sont utilisation, sinon cette dernire restera en
mmoire.

TotalMvtSolde ()
Utilisation

dblResult est un rel double //Variable utilise pour recueillir le rsultat.


IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL
IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond
normalement au code
// erreur de la fonction Sage.
248
Sage France

Annexe 10 Utilisation des fonctions avances Sage


//Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le
rsultat de lappel de
// la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc
plus difficile
//dinterprter lerreur Sage.

//Charge la librairie CBODBC32.DLL


IdChargeDLL = ChargeDLL ("CBODBC32.DLL")

//Appel de la fonction Sage TotalMvtSolde


//

Compte gnral : 4010000

//

Compte de Tiers : non prcis

//

Code journal : ACH journal des achats

//

Date de dbut de priode : 010196 01/01/1996

//

Date de fin de priode : 311296 31/12/1996

IdAppelDLL =AppelDll32 ("CBODBC32", "TotalMvtSolde", "4010000", "", "ACH", "010196",


"311296", &dblResult)
SI intCodeErr = 0 ALORS //Pas derreur
//Affiche le rsultat lcran
Info ( VersChane ( dblResult ,"10.2fS") "F.")
SINON //Une erreur est dtecte
//Affiche le code erreur
Info ( VersChane ( IdAppelDLL ))
FIN
//Dcharge la librairie
DechargeDLL (IdChargeDLL)

249
Sage France

Annexe 10 Utilisation des fonctions avances Sage


CIALDocNouvPiece ()
Utilisation

strResult est une Chane ASCIIZ sur 14 //Variable utilise pour recueillir le rsultat.
IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL
IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond
normalement au code
// erreur de la fonction Sage.
//Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le
rsultat de lappel de
// la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc
plus difficile
//dinterprter lerreur Sage.

//Charge la librairie CBODBC32.DLL


IdChargeDLL = ChargeDLL ("CBODBC32.DLL")

//Appel de la fonction Sage CIALDocNouvPiece


//

Type de document : 1 BC de vente

//

Souche : 0 N de pice pour Bijou SA

IdAppelDLL =AppelDll32 ("CBODBC32", "CIALDocNouvPiece", 1, 0, &strResult)


SI intCodeErr = 0 ALORS //Pas derreur
//Affiche le rsultat lcran
Info ( strResult)
SINON //Une erreur est dtecte
//Affiche le code erreur
Info ( VersChane ( IdAppelDLL ))
FIN
//Dcharge la librairie
DechargeDLL (IdChargeDLL)
250
Sage France

Annexe 10 Utilisation des fonctions avances Sage


GetParamValeurDate ()
Utilisation

strResult est une Chane ASCIIZ sur 7 //Variable utilise pour recueillir le rsultat.
IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL
IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond
normalement au code
// erreur de la fonction Sage.
//Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le
rsultat de lappel de
// la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc
plus difficile
//dinterprter lerreur Sage.

//Charge la librairie CBODBC32.DLL


IdChargeDLL = ChargeDLL ("CBODBC32.DLL")

//Appel de la fonction Sage GetParamValeurDate

Type de base : CPTA base comptable

Nom de la table : P_DOSSIER

Nom du champ : D_DebutExo01

IdAppelDLL=AppelDll32 ("CBODBC32", "GetParamValeurDate", "CPTA", "P_DOSSIER",


"D_DebutExo01",
&strResult)
SI intCodeErr = 0 ALORS //Pas derreur
//Affiche le rsultat lcran
Info ( strResult)
SINON //Une erreur est dtecte
//Affiche le code erreur
Info ( VersChane ( IdAppelDLL ))
251
Sage France

Annexe 10 Utilisation des fonctions avances Sage


FIN
//Dcharge la librairie
DechargeDLL (IdChargeDLL)

DLL ActiveX
La version 4.1 de Windev ne supporte pas la technologie ActiveX. Il est donc impossible dutiliser les
objets Sage de la DLL ActiveX ASD100 avec Windev.

252
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Visual FoxPro
Avant de pouvoir utiliser une fonction avance Sage, il faut que Visual FoxPro soit connect aux
bases Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via
ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application
doit tre connect, via ODBC, la base comptable et la base commerciale.
Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde ()
Dclaration

&&La fonction API Sage retourne un code erreur (cest un entier).


&&Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass
par rfrence
&&> Utilisation du symbole @ pour indiquer que le paramtre peut varier. Ce caractre sera aussi
utilis lors
&&de lappel la fonction
&&Noubliez pas de respecter les majuscules/minuscules
DECLARE SHORT TotalMvtSolde IN CBODBC32 STRING CG_Num, STRING CT_Num, STRING
JO_Num,
STRING debut, STRING fin, DOUBLE @Total
Utilisation

&&Appel de la fonction Sage


&&

Compte gnral : 4010000

&&

Compte de Tiers : non prcis

&&

Code journal : ACH journal des achats

&&

Date de dbut de priode : 010196 01/01/1996

&&

Date de fin de priode : 311296 31/12/1996


253
Sage France

Annexe 10 Utilisation des fonctions avances Sage


intCodeerr = TotalMvtSolde ("4010000", "", "ACH", "010196", "311296", @dblResult)
IF intCodeErr = 0 &&Pas derreur
&&Affiche le rsultat dans une bote de dialogue
= MESSageBOX (STR (dblResult), 16, "")
ELSE Une erreur est dtecte
Affiche le code erreur
= MESSageBOX (STR (intCodeErr), 16, "")
ENDIF
CIALDocNouvPiece ()
Dclaration

&&La fonction API Sage retourne un code erreur (cest un entier).


&&Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est
donc pass
&&par valeur > le caractre @ ne sera pas utilis pour la dclaration. Par contre, il sera utilis lors
de lappel de
&&la fonction Sage
&&Noubliez pas de respecter les majuscules/minuscules
DECLARE SHORT CIALDocNouvPiece IN CBODBC32 INTEGER DO_Type, INTEGER
DO_Souche,
STRING Resultat
Utilisation

&&Initialisation de la variable strResult


strResult = SPACE (13)
&&Appel de la fonction Sage
&&

Type de document : 1 BC de vente

&&

Souche : 0 N de pice pour Bijou SA

intCodeerr = CIALDocNouvPiece (1, 0, @strResult)


IF intCodeErr = 0 &&Pas derreur
254
Sage France

Annexe 10 Utilisation des fonctions avances Sage


&&Affiche le rsultat dans une bote de dialogue
= MESSageBOX (strResult, 16, "")
ELSE Une erreur est dtecte
Affiche le code erreur
= MESSageBOX (STR (intCodeErr), 16, "")
ENDIF
GetParamValeurDate ()
Dclaration

&&La fonction API Sage retourne un code erreur (cest un entier).


&&Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est
donc pass
&&par valeur > le caractre @ ne sera pas utilis pour la dclaration. Par contre, il sera utilis lors
de lappel de
&&la fonction Sage
&&Noubliez pas de respecter les majuscules/minuscules
DECLARE SHORT GetParamValeurDate IN CBODBC32 STRING TypeBase, STRING NomTable,
STRING NomChamp, STRING ValChamp
Utilisation

&&Initialisation de la variable strResult


strResult = SPACE (7)
&&Appel de la fonction Sage
&&

Type de base : CPTA base comptable

&&

Nom de la table : P_DOSSIER

&&

Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc", @strResult)


IF intCodeErr = 0 &&Pas derreur
&&Affiche le rsultat dans une bote de dialogue
255
Sage France

Annexe 10 Utilisation des fonctions avances Sage


= MESSageBOX (strResult, 16, "")
ELSE Une erreur est dtecte
Affiche le code erreur
= MESSageBOX (STR (intCodeErr), 16, "")
ENDIF
DLL ActiveX
Bien que Visual FoxPro 3.0 sache utiliser les contrles OLE (Treeview par exemple), ce dernier ne
sait pas utiliser les DLL ActiveX. Cette fonctionnalit ne peut pas tre employe avec ce produit (do
moins la version 3.0 de ce dernier).

Dclaration des fonctions avances Sage


Ces dclarations se trouvent dans le fichier Fonctions.txt livr avec ce Kit ODBC.

256
Sage France

Annexe 10 Utilisation des fonctions avances Sage

Delphi
Avant de pouvoir utiliser une fonction avance Sage, il faut que Delphi soit connect aux bases Sage.
Pour utiliser les fonctions de la comptabilit, votre application doit tre connect, via ODBC, la base
comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connect,
via ODBC, la base comptable et la base commerciale.
Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde ()
Dclaration

{La fonction API Sage retourne un code erreur (cest un entier).}


{Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass par
rfrence}
{> utilisation du paramtre Var}
{Noubliez pas de respecter les majuscules/minuscules}
Function TotalMvtSolde (CG_Num:Pchar; CT_Num:Pchar; JO_Num:Pchar; Debut:Pchar;
Fin:Pchar;
Var Total:Double): smallInt; stdcall; external 'cbodbc32.dll';
Utilisation

intCodeErr : Integer ; {Variable utilise pour recueillir le code erreur de la fonction.}


dblResult : Double ; {Variable utilise pour recueillir le rsultat.}
strResult : String ; {Variable utilise pour laffichge du rsultat}

{Appel de la fonction Sage}


{

Compte gnral : 4010000}

Compte de Tiers : non prcis}


257
Sage France

Annexe 10 Utilisation des fonctions avances Sage


{

Code journal : ACH journal des achats}

Date de dbut de priode : 010196 01/01/1996}

Date de fin de priode : 311296 31/12/1996}

intCodeerr := TotalMvtSolde (4010000, , ACH, 010196, 311296, dblResult) ;


If intCodeErr = 0 Then {Pas derreur}
begin
{Conversion dune double en chane}
Str (dblResult:12:2, strResult);
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
Begin
{Conversion du code erreur en chane}
Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
CIALDocNouvPiece ()
Dclaration

{La fonction API Sage retourne un code erreur (cest un entier).}


{Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (PChar). Il est donc
pass}
{par valeur > pas dutilisation de linstruction Var.}
{Noubliez pas de respecter les majuscules/minuscules}
Function CIALDocNouvPiece (DO_Type: Integer; DO_Souche: Integer; Resultat: Pchar)
:smallInt; stdcall; external 'cbodbc32.dll';
258
Sage France

Annexe 10 Utilisation des fonctions avances Sage


Utilisation

intCodeErr : Integer ; Variable utilise pour recueillir le code erreur de la fonction.


StrResult : Pchar ; Variable utilise pour recueillir le rsultat.

Initialisation de la variable strResult


strResult :=
{Appel de la fonction Sage}
{

Type de document : 1 BC de vente}

Souche : 0 N de pice pour Bijou SA}

intCodeerr ;= CIALDocNouvPiece (1, 0, strResult) ;


If intCodeErr = 0 Then {Pas derreur}
begin
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (String (strResult), mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
Begin
{Conversion du code erreur en chane}
Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
GetParamValeurDate ()
Dclaration

La fonction API Sage retourne un code erreur (cest un entier).


{Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (PChar). Il est donc
pass}
259
Sage France

Annexe 10 Utilisation des fonctions avances Sage


{par valeur > pas dutilisation de linstruction Var.}
Noubliez pas de respecter les majuscules/minuscules
Function GetParamValeurDate (TypeBase: PChar; NomTable: PChar; NomChamp: PChar;
ValChamp: PChar):smallInt;stdcall;external 'cbodbc32.dll';
Utilisation

intCodeErr : Integer ; Variable utilise pour recueillir le code erreur de la fonction.


StrResult : Pchar ; Variable utilise pour recueillir le rsultat.

Initialisation de la variable strResult


strResult := ;
Appel de la fonction Sage

Type de base : CPTA base comptable

Nom de la table : P_DOSSIER

Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate (CPTA, P_DOSSIER, D_RaisonSoc, strResult) ;


If intCodeErr = 0 Then {Pas derreur}
begin
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (String (strResult), mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
Begin
{Conversion du code erreur en chane}
Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;

260
Sage France

Annexe 10 Utilisation des fonctions avances Sage

DLL ActiveX
Pour utiliser la DLL ActiveX sous Delphi, vous devez utiliser lunit OleAuto.dcu. Cette dernire
besoin que les units suivantes soient prsentes : ole2.dcu et olectl.dcu.
TotalMvtSolde ()
//TotalMvtSolde est une fonction de la comptabilit. Lobjet utiliser est donc ASD100Lib.Cpta
//La proprit utiliser est TotalMvtSolde
objCPTA : Variant ;//Dclaration de lobjet Cpta
dblResult : Double ; //Variable utilise pour recueillir le rsultat.

//Cration de lobjet
objCPTA :=CreateOleObject ('ASD100.Cpta');
//Appel la proprit TotalMvtSolde. Le rsultat est stock dans la variable dblResult.
//

Compte gnral : 4010000

//

Compte de Tiers : non prcis

//

Code journal : ACH journal des achats

//

Date de dbut de priode : 01/01/1996

//

Date de fin de priode : 31/12/1996

dblResult := objCPTA.TotalMvtSolde (4010000, , ACH, StrToDate (01/01/1996), StrToDate


(31/12/1996)) ;
If objCPTA.Erreur = 0 Then //Pas derreur
begin
{Conversion dune double en chane}
Str (dblResult:12:2, strResult);
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
261
Sage France

Annexe 10 Utilisation des fonctions avances Sage


Begin
{Conversion du code erreur en chane}
Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
CIALDocNouvPiece ()
//CIALDocNouvPiece est une fonction de la gestion commerciale. Lobjet utiliser est donc
ASD100Lib.Cial
//La proprit utiliser est DocNouvPiece
objCIAL : Variantl ; //Dclaration de lobjet Cial
strResult : String ; //Variable utilise pour recueillir le rsultat.

//Cration de lobjet
objCIAL :=CreateOleObject ('ASD100.Cial');
Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult.

Type de document : 1 BC de vente

Souche : 0 N de pice pour Bijou SA

strResult := objCIAL.DocNouvPiece (1, 0) ;


If objCIAL.Erreur = 0 Then //Pas derreur
begin
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
Begin
{Conversion du code erreur en chane}
262
Sage France

Annexe 10 Utilisation des fonctions avances Sage


Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
GetParamValeurDate ()
//GetParamValeurDate est une fonction concernant les tables paramtres (P_). Lobjet utiliser est
//donc ASD100Lib.Param
//La proprit utiliser est GetParamValeurDate
objParam : Variant ; //Dclaration de lobjet Param
Dim dResult : TDateTime ;Variable utilise pour recueillir le rsultat.

Cration de lobjet
objParam :=CreateOleObject ('ASD100.Cial');
Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult.

Type de base : CPTA base comptable

Nom de la table : P_DOSSIER

Nom du champ : D_DebutExo01

dResult := objParam.GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc")


If objParam.Erreur = 0 Then //Pas derreur
begin
{Conversion dune date en chane}
Str (dResult, strResult);
{Affiche le rsultat dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;
Else {Une erreur est dtecte}
Begin
263
Sage France

Annexe 10 Utilisation des fonctions avances Sage


{Conversion du code erreur en chane}
Str (intCodeErr, strResult);
{Affiche le code erreur dans une bote de dialogue}
MessageDlg (strResult, mtInformation,[mbOk], 0);
End ;

Dclaration des fonctions avances Sage


La dclaration des fonctions avances se trouve dans le fichier FONCTIONS.TXT

264
Sage France

You might also like