Professional Documents
Culture Documents
Version 12.00
Rfrence
COMPOSITION DU PROGICIEL
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
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
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
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
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
Introduction........................................... 92
Sommaire gnral
Exemple 2.......................................................... 102
Exemple 3.......................................................... 102
Annexe 3 Conseils
doptimisation _________________ 112
Sommaire gnral
Domaine de validit du champ
incorrect, veuillez vous rfrer la
documentation .................................... 180
Connexion Dconnexion______________223
Sommaire gnral
GetParamValeurDate ()......................................251
Visual FoxPro__________________________253
TotalMvtSolde () .................................................253
CIALDocNouvPiece () ........................................254
GetParamValeurDate ()......................................255
DLL ActiveX........................................................256
1
Sage France
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
Comptabilit 100,
Immobilisations 100
Manager 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
4
Sage France
5
Sage France
6
Sage France
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,
Vous trouverez ci-dessous les diffrents cas suivant le type de base de donnes Sage Ligne 100.
Comptabilit 100
Fichiers physiques :
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
Fichiers physiques :
Fichiers physiques :
Fichiers physiques :
8
Sage France
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
10
Sage France
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
2.
3.
4.
12
Sage France
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
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
15
Sage France
CptaLib.Dll
CialLib.Dll
ImmoLib.Dll
TresLib.Dll
FSalLib.Dll
PMS1Lib.Dll
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
17
Sage France
18
Sage France
19
Sage France
21
Sage France
22
Sage France
26
Sage France
27
Sage France
29
Sage France
31
Sage France
32
Sage France
33
Sage France
37
Sage France
39
Sage France
40
Sage France
41
Sage France
45
Sage France
46
Sage France
47
Sage France
48
Sage France
50
Sage France
AR_Ref (Ch
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
52
Sage France
54
Sage France
56
Sage France
57
Sage France
58
Sage France
59
Sage France
61
Sage France
63
Sage France
65
Sage France
67
Sage France
69
Sage France
71
Sage France
73
Sage France
74
Sage France
75
Sage France
76
Sage France
77
Sage France
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
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
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
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
TypeBase (Chane de caractres ) : Type de la base : CPTA (Base comptable), CIAL (Base
commerciale), FSAL (Base salari), FPAR (Base paramtre)
En Sortie
80
Sage France
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
81
Sage France
83
Sage France
84
Sage France
Facilit dutilisation
Possibilit dutilisation dans Microsoft Visual Interdev pour dvelopper des applications Intranet
ou Internet
85
Sage France
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
87
Sage France
88
Sage France
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
89
Sage France
90
Sage France
91
Sage France
Exemple de gnration automatique de documents de Vente, Achat, Stock avec chacun 10 lignes
de document. Les articles sont pris alatoirement dans la base,
92
Sage France
93
Sage France
95
Sage France
96
Sage France
98
Sage France
99
Sage France
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.
100
Sage France
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
102
Sage France
103
Sage France
104
Sage France
105
Sage France
108
Sage France
109
Sage France
110
Sage France
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
112
Sage France
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
114
Sage France
4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite !
115
Sage France
116
Sage France
2417, Impossible d'insrer une page d'index, veuillez l'agrandir au plus vite !
4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite !
120
Sage France
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
3570, Le champ DL_PrixUnitaire ne peut pas tre modifi pour les documents TTC
3573, Le champ CG_Num est modifiable si le rglement n'est pas cltur ou si il ne possde pas
d'chance
3576, Les champs LS_Peremption ou LS_Fabrication ne peuvent tre modifis en stock que pour
les documents d'entres ou de sortie
3579, Le champ AR_RefCompose ne peut etre vide si l'article est nomenclature commerciale
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
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
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
3610, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail
3615, Le numro de compte gnral est vide ou n'est pas de type compte
3617, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail
3620, Suppression impossible car il existe au moins un fichier multimdia pour ce tiers
3628, Le payeur origine n'est pas de type alphanumrique et majuscule ou est de longueur > 17
caractres
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
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
3637, Le code barres n'est pas de type C39 ou est de longueur > 18
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
3674, Champs non valide pour une famille ou une immobilisation non soumise taxe vhicule de
tourisme
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
3704, Suppression impossible, le reprsentant est rattach une ligne de ticket d'archive
3745, La catgorie comptable ne peut pas tre modifie, car des lignes sont associes ce
document
3750, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans
F_FAMTARIFQTE
3752, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans
F_FAMTARIFQTE
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
3810, La quantit doit tre ngative pour les factures d'avoir ou de retour
3844, On ne peut ajouter de lignes d'extraits que dans le dernier extrait et extrait manuel
3898, Suppression impossible, car des lignes sont associes cet abonnement
133
Sage France
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
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.
3974, Si on modifie le statut du document, alors il faut que l'ancien statut soit valide et que le
nouveau le soit aussi
3978, Dans F_ARTCLIENT, si on est sur Hors Remise, alors on ne peut pas affecter de gamme
de remise
136
Sage France
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
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
3991, Champs non valides pour une famille ou une immobilisation non soumise la taxe
foncire.
3993, Les champs du contrat ne sont pas modifiables, il existe des loyers clturs !
3996, L'immobilisation ne possde pas de date de dbut et fin de contrat alors que des champs
relatifs aux contrats sont renseigns !
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
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
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
4011, Le type du prix (TTC ou HT) doit tre en HT pour une ligne faisant rfrence aucun
article
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
4022, L'numr article n'est pas de type C39 ou est de longueur > 18
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
4039, L'article est vide ou n'est pas de type C39 ou est de longueur > 18
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
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
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
140
Sage France
4080, Le numro interne des acomptes et des chances de document ne peut pas tre modifi
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
4099, Pour un acompte, le mode de rglement d'une chance doit tre gal 0
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
4106, Suppression impossible, la ligne n'est pas du type devis, bon de commande, commande ou
commande confirme
4115, Le champ ligne de type numr de gamme ne peut pas tre modifi
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
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
4150, Le numro de dpt doit tre diffrent de 0 pour un article suivi en stock
143
Sage France
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
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
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
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
4167, La quantit livre doit tre gale 0 pour un document de type devis ou commande
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
4175, Les champs DL_DateBL et DO_Date doivent tre gaux pour les documents ne provenant
pas d'une transformation
144
Sage France
4176, Les champs DL_DateBC et DO_Date doivent tre gaux pour les documents ne provenant
pas d'une transformation
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
4185, Le taux d'escompte ne peut pas tre modifi, car des rglements sont associs 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
4202, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail
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
4215, Le numro du tiers est vide ou n'est pas en alphanumrique et majuscule ou est de longueur
> 17 caractres
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
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
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
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
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)
4255, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres
4265, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres
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
4273, L'numr de gamme 1 est non nul alors que la composante n'est pas gamme
4277, Une nomenclature ne peut contenir un article contenant lui mme l'article principal
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
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)
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
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
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)
4308, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres
4312, Modification impossible de la gamme car un client ou une catgorie tarifaire existe dj
dans F_TARIFQTE
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
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
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
151
Sage France
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
4357, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres
4369, Changement du suivi de stock = Aucun > modification ou suppression impossible car
l'article existe dans F_ARTSTOCK
152
Sage France
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
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
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
4387, Le code famille est vide ou n'est pas en Alpha Numrique Majuscule ou est de longueur >
10 caractres
4389, L'article est vide ou n'est pas de type C39 ou est de longueur > 18
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
4408, Il existe un bloc notes pour cette immobilisation donc non supprimable.
154
Sage France
4418, Suppression impossible, il existe des enregistrements dans FamAnal ou dans ImmoAnal.
4419, Champs non valide pour une famille ou une immobilisation non suivie.
4423, La nature de bien n'est plus modifiable s'il existe des immobilisations ou des FAMAMORT
pour la famille.
4425, Pour une famille de type TOTAL seul l'intitul est modifiable.
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
4436, Le nombre de dcimales des dotations Quantit du poste budgtaire est suprieure celui
paramtr dans la base (A Propos de)
4439, Cet lment de banque est utilis dans un extrait bancaire, il ne peut donc pas tre supprim
155
Sage France
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.
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)
4449, Le nombre de dcimales des dotations Quantit du compte analytique est suprieure celui
paramtr dans la base (A Propos de)
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
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
4463, Le code journal analytique est utilis dans les critures d'OD et reports analytiques
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)
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
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
4509, Les critures centralisatrices (EC_CTYPE=1) ne peuvent pas tre ajouter, modifier ou
supprimer
158
Sage France
4511, Impossible d'ajouter une criture dans un journal cltur (option : 'A propos de' non
coche)
4514, JM_DATE+EC_JOUR ne constitue pas une date comprise dans les exercices de la base
4519, Le numro de compte analytique est vide ou n'est pas de type alphanumrique et
majuscule ou de longueur > 13
4521, Si EC_NOLINK est non nul, il doit correspondre un numro d'criture existante
4523, Pour EC_POINT=0, EC_POINTAGE doit tre vide, pour EC_POINT=1, EC_POINTAGE
ne doit pas tre vide
4526, Le numro de compte gnral est vide ou n'est pas de type compte
4528, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1
4531, Le JMOUV est utilis dans le fichier des critures (donc non supprimable)
4536, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1
4546, Le budget est utilis par un autre budget (donc non supprimable)
4556, Le numro de compte gnral est vide ou n'est pas de type compte
4560, Le numro de budget est vide ou n'est pas de type alphanumrique et majuscule ou de
longueur > 13
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.
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)
4586, Les jours de tombe (1 6) ne sont pas tris par jour croissant
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)
4602, Le numro de compte gnral ou analytique est vide ou n'est pas de type alphanumrique
et majuscule ou de longueur > 13
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
4611, Le numro de ligne analytique doit tre conjoint (+1) au numro de ligne analytique de la
prcdente pice analytique
4615, PG_LIGNE doit tre conjoint (+1) au PG_LIGNE de la prcdente pice gnrale
4618, La pice est utilise dans le fichier des modles analytiques (donc non supprimable)
4642, Le numro de compte gnral est vide ou n'est pas de type compte
4648, BQ_NO utilis dans les lments de banque (donc non supprimable)
4650, Ce code journal d'lment de banque ne correspond pas un journal de type Trsorerie
4652, L'immobilisation n'est pas de type Biens ou n'est pas soumise Taxe professionnelle:
Champ non modifiable !
4654, Le compte est vide ou n'est pas de type alphanumrique et en majuscule ou est de longueur
> 11 caractres
164
Sage France
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)
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
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)
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)
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)
4693, Ce tiers est tiers principal d'un compte gnral (donc non supprimable)
4696, Le numro de compte gnral principal est vide ou n'est pas de type compte
4702, Cette banque est la banque principale d'un tiers (donc non supprimable)
4705, Le numro de compte tiers est utilis dans le fichier des registres de taxe (donc non
supprimable)
166
Sage France
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)
4714, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail
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
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)
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
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)
4736, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail
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
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)
4751, Le numro d'analyse doit tre 1, le report 0 , le raccourci du compte analytique vide
pour un compte analytique totalisateur
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)
4763, Rfrence un compte analytique inexistant ou qui n'est pas de type dtail
4766, Le numro du compte analytique est vide ou n'est pas de type alphanumrique et majuscule
ou de longueur > 13
4768, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail
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
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)
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
4788, Le numro de compte gnral est vide ou n'est pas de type compte
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)
4805, Dans les documents de stock, l'article doit tre suivi en stock pour les documents <> (Bon
de fabrication ou Prparation de fabrication)
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
4814, Le poids brut et le poids net doivent tre 0 avec une remise de pieds ou une remise
exceptionnelle
4835, Pour un document en devise, le type de prix (HT ou TTC) doit tre en HT
4839, La gamme 2 ne peut pas tre vide car l'article possde une gamme 2
4846, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail.
4870, L'intitul de la rubrique agenda dtail doit tre <= 21 caractres et obligatoire
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
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
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
4944, La section analytique est obligatoire ou la section analytique n'est pas en majuscule ou la
longueur de la section < 3
177
Sage France
178
Sage France
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.
179
Sage France
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,
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
181
Sage France
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
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
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
185
Sage France
Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune
requte est ralise en deux phases :
Remarque :
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 :
187
Sage France
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
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,
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
190
Sage France
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
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.
Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\ODBC
Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\ODBC
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
193
Sage France
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 :
195
Sage France
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
197
Sage France
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).
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 :
Exemple
Exemple de rcupration des erreurs ODBC
198
Sage France
200
Sage France
201
Sage France
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
203
Sage France
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 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
205
Sage France
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
207
Sage France
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.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
SQL.Erreur est une chane de caractres et est gale "00000" si aucune erreur, sinon contient le
code 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
210
Sage France
211
Sage France
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.
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).
214
Sage France
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
216
Sage France
217
Sage France
Type
Contenu
Numrique
Caractres
Caractres
Caractres
Numrique
Numrique
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
220
Sage France
221
Sage France
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 :
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 :
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
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
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
226
Sage France
228
Sage France
229
Sage France
231
Sage France
233
Sage France
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
236
Sage France
Delphi_____________________________________________________ 257
API Sage_________________________________________________________ 257
DLL ActiveX _____________________________________________________ 261
Dclaration des fonctions avances Sage______________________ 264
237
Sage France
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.
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
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 :
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 :
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
En Sortie
240
Sage France
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
241
Sage France
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
Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction.
Dim dblResult as Double Variable utilise pour recueillir le rsultat.
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.
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.
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.
Cration de lobjet
Set objCIAL = New ASD100Lib.Cial
Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult.
Cration de lobjet
Set objParam = New ASD100Lib.Param
Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult.
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).
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
//
//
//
//
249
Sage France
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.
//
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.
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
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
&&
&&
&&
&&
&&
&&
&&
256
Sage France
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
260
Sage France
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.
//
//
//
//
//
//Cration de lobjet
objCIAL :=CreateOleObject ('ASD100.Cial');
Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult.
Cration de lobjet
objParam :=CreateOleObject ('ASD100.Cial');
Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult.
264
Sage France