V10 - Sage 100 Déploiement MS SQL Express Essentials Et Standard
V10 - Sage 100 Déploiement MS SQL Express Essentials Et Standard
V10 - Sage 100 Déploiement MS SQL Express Essentials Et Standard
V 10.00 et sup.
Toute utilisation non conforme du logiciel, et notamment toute reproduction ou distribution partielle ou totale du
logiciel ou toute utilisation au-delà des droits acquis sur le logiciel est strictement interdite.
Toute personne ne respectant pas ces dispositions se rendra coupable de délit de contrefaçon et sera passible des
peines pénales prévues par la loi.
La marque Sage est une marque protégée. Toute reproduction totale ou partielle de la marque Sage, sans
l’autorisation préalable et expresse de la société Sage est donc prohibée.
Tous les noms de produits ou de sociétés, toute image, logo ou représentation visuelle mentionnés dans ce logiciel ou
sa documentation et n’appartenant pas à Sage peuvent constituer des marques déposées par leurs propriétaires
respectifs.
Evolution
La documentation correspond à la version référencée. Entre deux versions, des mises à jour du logiciel peuvent être
opérées sans modification de la documentation. Toutefois, un additif peut être joint à la documentation existante pour
présenter les modifications et améliorations apportées à ces mises à jour.
©Sage 2023 2
Table des matières
Introduction .............................................................................................................................................23
Création de bases au moyen des applications Sage 100 ................................................................................23
Fichier INI sur le poste client ...................................................................................................................24
Base SQL Express .................................................................................................................................25
Base de données SQL unique.............................................................................................................27
Outil de maintenance et Conversion .........................................................................................................28
Introduction .............................................................................................................................................28
Conversion des bases ...............................................................................................................................28
Recommandations ..................................................................................................................................28
Définition du mode de récupération des données ...................................................................................30
Vérification de l'espace disque disponible ...............................................................................................31
Opérations à réaliser après conversions ......................................................................................................31
Conversions des bases de données ............................................................................................................31
Conversion des bases Sage 100 issues d'une version antérieure .............................................................31
Conversion des bases Sage 100 Windows issues d'une version antérieure ................................................34
Réorganisation de la base relationnelle ..................................................................................................36
...............................................................................................................................................................37
Recopie des données ................................................................................................................................37
Pré-requis ...........................................................................................................................................37
Procédure de recopie des données .........................................................................................................38
Vérification des données ...........................................................................................................................41
Fusion des bases relationnelles ..............................................................................................................42
Sélection de la base comptable...........................................................................................................43
Lancement du traitement ......................................................................................................................43
Outil de diagnostic pré-migration ............................................................................................................44
Traitements multi-dossiers ......................................................................................................................45
Sauvegarde et restauration des bases de données ......................................................................................46
Sauvegarde d'une base de données............................................................................................................46
Restauration d'une base de données ......................................................................................................48
Cas de restauration : fichier de sauvegarde issu d'une autre instance/serveur SQL............................51
Fonctionnalités spécifiques des applications Sage 100 .............................................................................52
Impression des états .................................................................................................................................52
Personnalisation des tris .........................................................................................................................54
Définition d'un nouveau tri.........................................................................................................................54
Suppression d'un tri ...............................................................................................................................56
Utilisation d'un nouveau tri ....................................................................................................................57
Tris par application .................................................................................................................................58
Comptabilité ........................................................................................................................................58
Gestion commerciale ............................................................................................................................59
©Sage 2023 3
Table des matières
Immobilisations ...................................................................................................................................62
Moyens de paiement .............................................................................................................................63
Connexion et erreurs fréquentes................................................................................................................66
Connexion ..............................................................................................................................................66
Connexion au domaine Windows ............................................................................................................66
Postes Clients Windows .........................................................................................................................66
Création d'utilisateurs sous Microsoft SQL Server ...............................................................................66
Erreurs les plus fréquentes et solutions .......................................................................................................67
Echec de connexion à la base de données ...............................................................................................67
Erreur -6706 ........................................................................................................................................68
Erreur 5 ................................................................................................................................................68
Annexes ....................................................................................................................................................69
Tables et procédures système Sage ............................................................................................................69
Base de données Master .......................................................................................................................69
Bases Sage 100 .....................................................................................................................................70
Procédures stockées, clés et Triggers .........................................................................................................77
Procédures stockées Sage d'accès aux données........................................................................................77
Procédures stockées Système .................................................................................................................78
Les déclencheurs (Triggers .................................................................................................................78
Contraintes d'intégrité et index ..............................................................................................................79
Mécanismes de notification .......................................................................................................................80
Utilisation des verrous ..............................................................................................................................83
Différents types de verrous....................................................................................................................83
Les verrous des fichiers et des enregistrements..................................................................................84
Fonctionnement de ces verrous ..........................................................................................................85
Gestion des verrous dans les applications Sage 100 ..........................................................................86
Supprimer tous les verrous suite à un « plantage » d'application ........................................................87
Lecture et écriture dans les tables Sage 100 ..............................................................................................87
Conseils ...............................................................................................................................................87
Fonctions avancées ...............................................................................................................................87
Ecriture via les kits d'ouverture...............................................................................................................87
Administration et recommandations .......................................................................................................88
SCRIPT ...............................................................................................................................................93
Équivalence des types des champs Sage 100 / Microsoft SQL Server ...................................................94
Informations libres ................................................................................................................................94
Équivalence de types : Information libre Sage 100 / Données Microsoft SQL Server .........................95
Ajout / Suppression d'informations libres sous Microsoft SQL Server ....................................................96
Principe ................................................................................................................................................96
Création d'un nouveau champ sous Microsoft SQL Server.................................................................97
©Sage 2023 4
Table des matières
©Sage 2023 5
Généralités
Introduction
Ce manuel a pour objectif de décrire étape par étape, les procédures à respecter pour installer tous les
composants nécessaires à l'exploitation des applications Sage 100 Essentials et Standard.
Les applications Sage 100 Essentials et Standard sont livrées avec Microsoft ® SQL Server ™
Express ou Standard 2017, qui existe uniquement en 64 bits.
Pour plus de détails sur l’installation de cette version, veuillez vous référer aux fiches
techniques de votre Centre d'aide en ligne :
- Installer Sage 100 Essentials ou Standard avec Runtime Express 2017
Les applications Sage 100 utilisent des fonctionnalités SQL qui devront être installées ou
activées avant tout déploiement de votre solution Sage 100. Veuillez-vous référer aux
fiches techniques de votre Centre d'aide en ligne :
- Sage Serveur Express - Installation des fonctions FullText et FileStream pour les offres
Sage 100 Essentials ou Standard.
Les applications Sage 100 Essentials et Standard ne peuvent accéder qu'aux bases Sage 100 gérées
sur une instance MS SQL Express. Ainsi, ces versions ne permettent pas d'accéder à des bases
Sage 100 se trouvant sur une instance MS SQL Server.
La conversion d'une base Sage 100 Windows en base Sage 100 peut être réalisée via le programme
Maintenance installé par défaut par les applications Sage 100.
©Sage 2023 7
Architecture des versions Sage 100 Essentials et Standard
Tout au long de ce manuel, nous nous efforcerons d'utiliser le vocabulaire et la description des
manipulations propres à Microsoft Windows et Microsoft SQL Server Edition Express.
Si ces particularités ne vous sont pas familières, il est vivement souhaitable de vous reporter à la
documentation fournie par les éditeurs de ces produits.
Les applications Sage 100 Essentials et Standard présentent les particularités suivantes :
• Les applications Sage 100 Essentials et Standard ne permettent d'ouvrir que des bases de données
gérées par une instance Microsoft SQL Server Edition Express.
• Le partage de données entre les applications, Sage 100 Essentials et Standard (utilisant une
instance MS SQL Express) et les applications Sage 100 Premium (utilisant une instance MS SQL
Server) n'est pas autorisé.
• Les bases de données Sage 100 Essentials et Standard sont limitées à 10 Go maximum.
• Pour le serveur de bases de données, l'utilisation de la Ram est limitée à 1Go et le fonctionnement
est limité à 1 CPU.
• La conversion d'une base Sage 100 Windows en base Sage 100 est effectuée par l'outil de
maintenance livré en standard avec le programme.
L'exploitation des applications Sage 100 nécessite impérativement que tous les types de base
d'un dossier (comptabilité, gestion commerciale…) soient contenus dans une base de données
SQL unique. Se référer aux paragraphes Création des bases Sage 100 et Fusion des bases
relationnelles pour plus de détails sur la procédure de création d'une base de données unique.
©Sage 2023 8
Installation du Poste Serveur
Les procédures d’installation des applications Sage 100 intègrent l’installation de composants
Microsoft. Il est impératif de lancer Windows Update avant de procéder à l’installation des
applications Sage 100.
Configuration logicielle
Systèmes d'exploitation
Afin de garantir des performances optimales, il est recommandé de dédier le poste serveur à
Microsoft SQL Server 2017 Edition Express, et de n'avoir qu'une seule instance SQL sur ce
serveur.
Pour les environnements implémentant la fonction de contrôle des comptes utilisateurs (UAC),
il est préconisé de désactiver cette fonctionnalité ou de positionner cette option au niveau le
plus bas avant d'installer et d'utiliser les applications Sage 100.
Pour des raisons de sécurité, Microsoft ® recommande de ne pas installer SQL Server ™
Standard ou Express sur un contrôleur de domaine et fixe les limitations dans l’article suivant :
https://docs.microsoft.com/fr-fr/sql/sql-server/install/hardware-and-software-
requirements-for-installing-sql-server?view=sql-server-ver15.
Les tests de compatibilité sont réalisés sur des licences Windows Server Standard.
Pour le déploiement des solutions Sage sur d’autres de types de licence (Data Center,
Essentials …), charge aux Partenaires / Prestataires informatiques d’effectuer les tests de
validation préalables.
Composants à installer
• Protocole TCP/IP
• Sage Serveur Express - Partie Serveur
• Bases de données Sage 100 (une base SQL unique par société)
©Sage 2023 9
Installation du Poste Serveur
Sage Serveur Express - Partie Serveur installe une instance Microsoft SQL Server 2017 Edition Express.
Dans le cas d’une installation en mise à jour, l’instance d’une version antérieure va automatiquement
être mise à niveau en instance SQL Server 2017 Edition Express si les configurations matérielle et
logicielle le permettent.
Avant de procéder à la mise jour de Sage Serveur Express - Partie Serveur, veuillez
sauvegarder toutes les bases de données gérées par l’instance SAGE100.
La fonctionnalité FILESTREAM ne peut pas être activée sur une instance 32 bits installée
sur un système d’exploitation 64 bits.
Si votre instance Sage 100 est une instance 32 bits (c’est le cas si vous aviez installé une
version Sage Serveur Express inférieure à 3.00), vous devrez au préalable migrer votre
instance de 32 bits vers 64 bits. Veuillez-vous référer à la fiche technique de votre Centre
d'aide en ligne :
- Sage Serveur Express – Migration de l’instance SAGE100 32 vers 64 bits.
©Sage 2023 10
Installation du Poste Serveur
Sage Serveur Express - Partie Serveur
Les applications Sage 100 utilisent des fonctionnalités SQL qui devront être installées ou
activées avant tout déploiement de votre solution Sage 100. Veuillez-vous référer aux
fiches techniques de votre Centre d'aide en ligne :
- Sage Serveur Express - Installation des fonctions FullText et FileStream pour les offres
Sage 100 Essentials ou Standard.
Sage Serveur Express - Partie Serveur installe si nécessaire les composants suivants :
Lorsque tous ces composants sont installés, l'installation crée automatiquement une instance nommée
SAGE100 avec les caractéristiques suivantes :
• Compte administrateur : Groupe Administrateurs local
• Authentification Windows
• TCP/IP Activé
• Compte de démarrage de service : NT SERVICE\MSSQL$SAGE100
Lors de l'installation de Sage Serveur Express - Partie Serveur, les procédures stockées
étendues nécessaires au bon fonctionnement des applications Sage 100 ne sont créées dans la
base Master que si l'instance se nomme SAGE100. De ce fait, l'exploitation des applications
Sage 100 en lien avec une instance SQL Express nommée différemment de SAGE100 ne sera pas
possible.
©Sage 2023 11
Installation du Poste Serveur
Installation de Sage Serveur Express - Partie Serveur
Vous trouverez ci-dessous les différentes étapes de l'installation de Sage Serveur Express - Partie
Serveur :
L'installation de Sage Serveur Express - Partie Serveur doit être exécutée depuis un compte
utilisateur membre des rôles Administrateur du serveur Windows.
Après sélection du composant, cliquer sur Suivant pour démarrer la procédure d'installation. Les
différents programmes embarqués par ce composant (Framework .net, SQL Server Express…) seront
automatiquement installés.
Après installation des composants externes, l'installation des composants Sage débute :
Cliquer sur Suivant pour finaliser l'installation des composants serveur Sage 100.
©Sage 2023 12
Installation des postes clients
Les procédures d’installation des applications Sage 100 intègrent l’installation de composants
Microsoft. Il est impératif de lancer Windows Update avant de procéder à l’installation des
applications Sage 100.
Configuration logicielle
Systèmes d'exploitation
• Windows 10
• Windows 11
Les applications requièrent Internet Explorer V10 minimum pour Intuisage et V11 pour le
Stockage et partage Office 365.
Composants à installer
• Sage 100 poste Client
• Applications Sage 100
Pour les environnements implémentant la fonction de contrôle des comptes utilisateurs (UAC), il
est préconisé de désactiver cette fonctionnalité ou de positionner cette option au niveau le plus
bas avant d'installer et d'utiliser les applications Sage 100.
La procédure d'installation décrite ci-après concerne une installation standard des applications
Sage 100. L’installation doit être effectuée sur chaque poste client.
©Sage 2023 13
Installation des postes clients
Cette étape permet de préciser le nom de l'instance SQL qui sera utilisée pour stocker les bases de données
Sage 100. Cette instance est celle sur laquelle le composant Sage Serveur Express - Partie Serveur a été
installé.
©Sage 2023 14
Installation des postes clients
Le nom du serveur à renseigner dans la zone ci-dessus devra être sous la forme :
Nom_Serveur_SQL\SAGE100
Exemple : SERVEUR\SAGE100
- Le nom de l'instance renseigné permettra d'initialiser les fichiers INI (raccourcis : mae, gcm, mdp
et imo) nécessaires à l'ouverture des bases de données Sage 100.
- Si vous ne connaissez pas le nom du serveur à renseigner, demandez-le à votre administrateur du
réseau.
- Le nom du serveur n'est pas obligatoire. Ce dernier peut être renseigné ultérieurement à partir
de l'icône Sage Installation du panneau de configuration de Windows du poste de travail.
Cliquez sur le bouton Suivant pour continuer. A la fin de l'installation, la boîte de dialogue suivante sera
affichée :
Cliquer sur Terminer pour terminer l'installation de Sage 100 poste Client.
Les applications Sage 100 se connectent aux bases de données par le biais du composant Microsoft SQL
Native Client.
Ce composant est installé de manière automatique et silencieuse durant l'installation de Sage 100 poste
Client.
Sage Installation
L'installation de Sage 100 poste Client créé également une icône Sage
Installation dans le panneau de configuration de Microsoft Windows.
Ce programme permet de modifier le paramétrage défini pour l'accès à l'instance Microsoft SQL Server
.
©Sage 2023 15
Installation des postes clients
La zone Serveur correspond au nom du Serveur SQL utilisé pour le stockage des bases de données des
applications Sage 100.
Pour modifier le nom du Serveur\SAGE100 devant être utilisé par les applications Sage 100, cliquer sur le
bouton Configurer.
Indiquez alors dans la zone Serveur, le nom du Serveur suivi du nom de l'instance Express vers laquelle les
applications Sage 100 devront pointer. Le nom du serveur et le nom de l'instance doivent être séparés par
le caractère \.
Pour rappel, l'instance créée par défaut lors de l'installation de Sage Serveur Express - Partie
serveur se nomme SAGE100.
Le nom du serveur renseigné à cet endroit sera utilisé lors de la création d'une base ou lors de la conversion
des bases Sage 100.
Si vous souhaitez modifier le nom du serveur sur lequel sont stockées les bases de données existantes, il
est nécessaire d'ouvrir les fichiers INI des différentes bases de données Sage 100 (BIJOU.MAE,
BIJOU.GCM,…) et d'apporter les modifications nécessaires via un éditeur de texte tel que le Bloc-notes
de Windows.
©Sage 2023 16
Installation des postes clients
Les procédures d’installation des applications Sage 100 intègrent l’installation de composants
Microsoft. Il est impératif de lancer Windows Update avant de procéder à l’installation des
applications Sage 100.
Avant d'installer les applications Sage 100, il est nécessaire de s'assurer que Sage Serveur
Express - Partie Serveur et Sage 100 poste Client, ont été préalablement installées.
Ces composants sont obligatoires pour le fonctionnement des applications Sage 100.
Les programmes d'installation des applications Sage 100 s'exécutent depuis la liste des applications. Après
sélection des applications à installer, l'assistant d'installation vous guidera durant la procédure
d'installation. Veuillez compléter ou valider les fenêtres d'assistant successivement affichées :
7 Informations sur votre société La page suivante permet de référencer votre société. Il est
recommandé de la compléter le plus exactement possible.
©Sage 2023 17
Installation des postes clients
Sage 100 Entreprise est une offre intégrée proposant, selon les options choisies, les applications
Comptabilité, Gestion commerciale, Immobilisations, Moyens de paiement et Trésorerie.
Lors de l'installation de Sage 100 Entreprise, il est possible de sélectionner les applications à installer :
Remarque : le choix Gestion commerciale n’est pas proposée pour une Suite comptable et financière.
Sélectionnez la (ou les) applications(s) à installer puis cliquez sur Suivant pour procéder à l'installation
des applications.
©Sage 2023 18
Création de compte et droits d'accès aux bases de données Sage 100c
Introduction
Pour que les postes clients Sage 100 puissent convertir, créer ou ouvrir une base de données Sage 100 de
l'instance SQL Server Express, il est nécessaire que le compte utilisateur Windows du poste client dispose
de droits d'accès au serveur de bases de données.
La création des comptes et l'affectation de droits s'effectuent depuis l'outil d'administration de bases de
données : SQL Server Management Studio.
Cet outil est installé automatiquement sur le poste serveur lors de l'installation de Sage Serveur
Express - Poste Serveur.
Depuis cet outil, pour créer des comptes de connexion, il faut se placer sous la branche
Sécurité\Connexions de l'explorateur d'objets.
©Sage 2023 19
Création de compte et droits d'accès aux bases de données Sage 100c
Pour l'exploitation des applications Sage 100, il est nécessaire que les comptes de connexion soient
créés avec le type Authentification Windows.
Les modules Sage CRM Force de Vente, Sage CRM Service Client, Sage BI Reporting, et Sage
Gestion de production accèdent aux bases de données par le biais d’une authentification SQL
Server mixte.
Après installation, si le serveur SQL ou SQL Express est en mode d'authentification Windows,
vous devez donc :
• autoriser et activer le compte ‘sa’ sur votre instance,
• lui affecter un mot de passe respectant les stratégies de sécurité de votre entreprise,
• modifier le mode d’authentification et redémarrer votre instance..
De plus, en fonction des traitements devant être réalisés par les comptes de connexion (création,
conversion ou ouverture de bases), différents rôles devront être attribués.
Ouverture de base
Rôle du serveur
• Public
©Sage 2023 20
Création de compte et droits d'accès aux bases de données Sage 100c
Création/Conversion de base
Rôles du serveur
• Sysadmin
• Public
Par exemple, l'attribution des rôles suivants à un compte de connexion :
Rôle du serveur
©Sage 2023 21
Création de compte et droits d'accès aux bases de données Sage 100c
Mappage de l'utilisateur
Cela lui permet, à partir des applications Sage 100, d'accéder à la base BIJOU et de créer et
convertir des bases de données sur l'instance SQL Server Express 207.
Le rôle SAGE_USER permet d’utiliser les fonctions de stockage des fichiers dans la base de données Sage
100. Par exemple : génération et consultation des PDF Facture de la Gestion commerciale.
©Sage 2023 22
Création des bases Sage 100c
Introduction
La création de bases de données s'effectue :
• soit depuis les applications Sage 100 (Comptabilité, Gestion commerciale, Immobilisations,
Moyens de paiement ou Trésorerie).
• soit par le logiciel de Maintenance livré avec les produits Sage 100.
Ce chapitre présente la méthode de création d'une base Sage 100 au moyen des applications
Sage 100.
Le chapitre suivant traite plus en détail la méthode de conversion des bases de données Sage 100 Windows
en version Sage 100 par l'utilisation du programme Maintenance.
Pour de plus amples informations sur le programme Sage Maintenance, veuillez-vous référer au Manuel
Ergonomie et Fonctions communes fourni avec les applications Sage 100.
Toutes les manipulations à réaliser sur le poste serveur et les postes clients sont décrites dans les
chapitres précédents. Nous vous recommandons de respecter toutes les consignes données tout au long
de ce manuel avant de poursuivre la procédure de conversion ou de création de fichier.
©Sage 2023 23
Création des bases Sage 100c
Exemple :
Ci-dessous un exemple avec le programme Sage 100 Comptabilité.
Lors de la procédure de création, soit par l'application par l'intermédiaire de la commande Fichier /
Nouveau, soit à l'aide du logiciel de Maintenance, il vous est demandé de renseigner le nom du fichier
(comptable, commercial, immobilisation, moyen de paiement ou de trésorerie).
Les différents fichiers (.MAE, .GCM, .IMO, ou .MDP) sont en fait des fichiers INI structurés de la manière
suivante :
[CBASE]
ServeurSQL=[Nom_Serveur]\SAGE100
Createur=Code interne
©Sage 2023 24
Création des bases Sage 100c
Type=Type_de_BD
Pour optimiser la reconstruction des index de recherche de texte intégral, positionnez le paramètre de base de
données Fermeture automatique à FALSE pour toutes les bases Sage 100 sur le Serveur SQL (via SQL Management
Studio / Instance / Base de données / clic droit Propriétés / Options).
En effet, la valeur TRUE entraîne des interruptions temporaires de disponibilité de la base Sage 100 lors de la
reconstruction des index FullText, ce qui peut provoquer des problématiques de saturation de mémoire.
IMPORTANT ! Cette valeur est positionnée à TRUE par défaut en création de base dans une instance
EXPRESS. A vérifier et modifier si nécessaire après création, restauration ou attachement
d’une base de données Sage 100.
Emplacement
Physiquement la base de données SQL se compose de deux fichiers (.MDF et .LDF), correspondant
respectivement aux fichiers de données et au journal des transactions.
La taille d'une base Sage 100 (issue d'une conversion d'une base Windows) est au maximum :
• Taille de la base propriétaire + 60 Mo + taille du fichier log
Si vous faites une conversion, vérifiez donc bien que vous ayez l'espace nécessaire sur votre disque.
©Sage 2023 25
Création des bases Sage 100c
Les 60 Mo correspondent à la structure de la base (Tables + procédures stockées + triggers) dans
le cas où vous avez toutes les tables de votre société (Comptabilité, Gestion Commerciale,
Immobilisations, Moyens de paiement, Trésorerie).
Propriétés
©Sage 2023 26
Création des bases Sage 100c
L'exploitation des données d'une société requiert impérativement que les différents types
de fichiers représentant les données d'une société (Comptabilité, Gestion commerciale,
Immobilisation et Moyens de paiement/Trésorerie) soient stockés dans une base de données
SQL unique.
Dans le cas où ce prérequis n'est pas respecté, l'ouverture de la base de données ne sera
alors pas possible depuis les applications.
Par exemple, depuis Sage 100 Gestion commerciale, lorsque la structure du fichier comptable sélectionné
ne fait pas partie de la base SQL de gestion commerciale ouverte, le message suivant est affiché :
Le fichier xxxx.mae ne peut être ouvert ! Il concerne un fichier comptable qui n’est pas intégré dans le
fichier ouvert.
Pour procéder à la création d'une base de données SQL unique pour les différents types de fichiers gérés
par la société, il convient lors de la création des fichiers depuis les applications Sage 100, de renseigner
pour chacun des types de fichier, le même nom de base de données de destination.
Exemple :
Depuis Sage 100 Comptabilité, création d'un fichier comptable nommé MASOCIETE.mae. Cette création
se matérialise par la création d'une base de données SQL Server nommée MASOCIETE.
Pour que les autres types de fichiers (Gestion commerciale, Immobilisation, Moyens de paiement /
Trésorerie) soient créés dans la base de données SQL Server MASOCIETE, il conviendra de créer ces
fichiers en renseignant le même nom de fichier que pour le fichier comptable. Pour notre exemple :
MASOCIETE.gcm, MASOCIETE.imo et MASOCIETE.mdp.
Il n'est pas possible de mettre deux bases de même type dans la même base SQL, par exemple
deux bases comptables.
©Sage 2023 27
Outil de maintenance et Conversion
Introduction
Outre les possibilités décrites dans le manuel Ergonomie et Fonctions communes de Sage 100, l'outil de
maintenance installé avec les applications Sage 100 permet de :
• Réaliser les conversions de vos bases de données des versions précédentes de Sage 100 Windows en
base Sage 100 (MS SQL Express)
• Recopier les données dans une autre base
• Vérifier la structure des données de la base
• Réorganiser la base relationnelle
L'installation copie notamment les fichiers de description des bases dans le répertoire Program
Files\Fichiers communs\Sage\Bases de votre disque dur.
Le programme Maintenance installé par les applications Sage 100 ne permet pas de
convertir des bases de versions antérieures à la version 16.
Pour convertir vos fichiers, utilisez le logiciel Sage Maintenance livré avec les produits Sage 100.
Les données comptables (fichier .mae) doivent être converties avant la conversion des autres
types de données :
- Données commerciales (Fichier .gcm)
- Données immobilisations (Fichier .imo)
- Données moyens de paiement - trésorerie (Fichier .mdp)
Recommandations
Avant de procéder à toute conversion de bases Sage 100 en nouvelle version de base Sage 100, veuillez
respecter les recommandations suivantes. Celles-ci vont vous aider à réaliser l'opération de conversion
dans les meilleures conditions. Elles vont également vous permettre de gagner du temps et de l'espace
disque sur le poste serveur :
©Sage 2023 28
Outil de maintenance et Conversion
• Réaliser obligatoirement une sauvegarde de vos données pour pouvoir repartir des données
initiales en cas d'erreur de manipulation.
• Vérification de l'espace disque disponible.
• Opérations à réaliser après conversion, avant l'exploitation à partir des applications Sage 100.
©Sage 2023 29
Outil de maintenance et Conversion
Vous pouvez accéder à cette option via les propriétés de la base à convertir dans l'outil SQL Server
Management Studio Express.
Les commandes SQL permettant de modifier les deux modes de récupération des données dans le module
Analyseur de requêtes SQL sont :
• Mode complet : ALTER DATABASE [Nom_BD] SET RECOVERY FULL
• Mode simple : ALTER DATABASE [Nom_BD] SET RECOVERY SIMPLE
Voici deux exemples de la taille approximative du fichier des logs selon les deux modes de récupération
des données.
1,4 Go 500 Mo 3 Go
©Sage 2023 30
Outil de maintenance et Conversion
Les opérations à réaliser après la conversion des bases sont les suivantes :
• Si vous le souhaitez, vous pouvez remettre l'option Mode de récupération de données d'origine
(Complet si vous avez basculé en mode simple avant la conversion)
• Réorganiser la base relationnelle par l'outil de Maintenance (pour plus de détails, veuillez-vous
référer au paragraphe Réorganisation de la base relationnelle)
• Réaliser une sauvegarde de la base convertie en respectant les recommandations de Microsoft
afin de limiter le volume des données à sauvegarder (supprimer les entrées inactives, réduire
physiquement la taille de la base, etc.)
Principe
Les bases issues d'une version antérieure des applications Sage 100 doivent être converties à l'aide du
logiciel Maintenance installé par le dernier programme Sage 100. Cette conversion s'effectue en 2 étapes
:
1 . Conversion de la structure interne Cbase
Ajout de nouveaux champs correspondants aux nouvelles fonctionnalités.
2 . Conversion de données
Suppression puis recréation de tous les déclencheurs, index, clés (primaires et étrangères)
spécifiques aux bases de données Sage 100 et alimentation des tables avec les données converties.
Les tables, vues, procédures stockées, fonctions ou déclencheurs créés via des
développements externes ne sont pas modifiées. De même les champs ajoutés dans les tables
des bases de données Sage 100 sont conservés.
©Sage 2023 31
Outil de maintenance et Conversion
Conversion
Avant toute conversion ou création de fichier, veuillez vérifier que l'accès au serveur SQL est
correctement configuré dans Sage Installation du Panneau de configuration Windows.
Toutes les manipulations à réaliser sur le poste serveur et les postes clients sont décrites dans les
chapitres précédents. Nous vous recommandons de respecter toutes les consignes données tout au long
de ce manuel avant de poursuivre la procédure de conversion ou de création de fichier.
Pour convertir votre ancienne base Sage 100 procédez comme suit :
1 . Lancez le logiciel Maintenance.
2 . Ouvrez votre fichier à convertir (.Mae, .Gcm, .Imo ou .Mdp) à l'aide de la commande Menu Fichier
/ Ouvrir.
Si l’état des données système des bases Sage 100 le requiert, une conversion des
informations système peut vous être proposée.
Répondez Oui uniquement si vous lancez la conversion jusqu’au bout. Si vous souhaitez
interrompre le traitement, votre base de données devient inutilisable. Il faudra
obligatoirement repartir d’une sauvegarde.
Il vous est d’ailleurs rappelé d’effectuer une sauvegarde préalable de votre base de
données !
3 . La fenêtre suivante vous propose de convertir votre fichier en nouvelle version ou de l'ouvrir en
version actuelle.
©Sage 2023 32
Outil de maintenance et Conversion
Conversion du fichier en nouvelle version : cliquez sur le bouton Suivant pour poursuivre la
conversion.
Ouverture du fichier en version actuelle : le bouton Suivant se transforme en bouton Fin.
Cliquez dessus pour ouvrir le fichier en version actuelle.
Si vous ne convertissez pas la base en nouvelle version, il ne sera alors pas possible d'ouvrir la
base de données avec les dernières versions des applications.
Suivant la version de la base Sage 100 à convertir, un assistant permettant de définir le champ
devant être utilisé pour stocker le champ N° facture des pièces commerciales pourra apparaître. Se
reporter au manuel du logiciel Maintenance pour de plus amples informations sur cette fonction.
4 . La fenêtre suivante vous propose de convertir tous les types de base ou uniquement le fichier
ouvert.
©Sage 2023 33
Outil de maintenance et Conversion
Pour rappel, la conversion d'une base de données est une opération irréversible. Il est
impératif de procéder à une sauvegarde de la base de données avant de la convertir.
Conversion des bases Sage 100 Windows issues d'une version antérieure
A l'ouverture du fichier par la maintenance, le programme vous propose de convertir le fichier en nouvelle
version.
La conversion du fichier Sage 100 Windows en dernière version Sage 100 ne s'effectue que si vous avez
sélectionné le mode d'accès Accès SQL Server dans Sage Installation du Panneau de Configuration.
©Sage 2023 34
Outil de maintenance et Conversion
• Conversion du fichier en nouvelle version : cliquez sur le bouton Suivant pour poursuivre la
conversion.
• Suivant la version de la base à convertir, un assistant permettant de définir le champ devant être
utilisé pour stocker le champ N° facture des pièces commerciales pourra apparaître. Se reporter
au manuel du logiciel Maintenance pour de plus amples informations sur cette fonction.
La taille 2439 Ko indiquée dans cet exemple, correspond à la taille de la base propriétaire.
La taille de la base Microsoft SQL Server Edition Express correspondante sera au maximum :
Taille de la base propriétaire (ici 2439 Ko) + 60 Mo maximum (Fichier MDF) + taille du fichier
LOG. La taille de 60 Mo correspond à la taille d'une base vierge avec toutes les tables de tous
les produits Comptabilité, Gestion commerciale, Immobilisations, Moyens de Paiement,
Trésorerie)
©Sage 2023 35
Outil de maintenance et Conversion
Pour rappel, la conversion d'une base de données est une opération irréversible. Il est
impératif de procéder à une sauvegarde de la base de données avant de la convertir.
Cette fonction devient active dans le menu Maintenance du programme Maintenance lorsqu'une base
Sage 100 est ouverte.
Cette fonction permet de réindexer les tables de votre base Sage 100 et de mettre à jour les statistiques.
Il est fortement conseillé de lancer régulièrement ce traitement après avoir effectué un certain nombre
de saisies de données ou après une conversion des données.
En effet, Microsoft SQL Server Edition Express utilise des statistiques collectées pour choisir le meilleur
plan d'exécution d'une requête. De ce fait, avoir des statistiques régulièrement à jour vous permet de
conserver des performances optimales pour les traitements exécutés à partir des applications Sage 100.
©Sage 2023 36
Outil de maintenance et Conversion
La procédure de recopie génère une base de données dont la taille est automatiquement
réduite en laissant un espace libre de 10% (DBCC SHRINKDATABASE(NomBase,10)).
L'opération de recopie des données s'effectue sur l'intégralité des données de la base Sage 100.
Si votre base de données regroupe plusieurs types de données (comptables, commerciales,
immobilisations, moyens de paiement/trésorerie), il suffira d'ouvrir un des fichiers raccourcis
correspondants et de lancer la recopie. Toutes les données de la base d'origine seront
transférées dans la nouvelle base de données issue de cette opération.
Afin d'optimiser le temps de traitement de la recopie d'une base contenant plusieurs types de
données, il conviendra d'exécuter ce traitement depuis un poste sur lequel toutes les
applications correspondantes aux types des données contenues dans la base auront été
installées.
Pré-requis
La recopie des données d'une base Sage 100 vers une autre base de données peut être réalisée dans les
conditions suivantes :
• L'installation préalable des outils clients SQL (SQL Server Management Studio Express) sur le poste
de travail qui lance l'opération de recopie.
• La recopie s'effectue vers une nouvelle base ou vers une base existante ne comportant aucune
donnée Sage 100 du type de la base devant être recopiée.
• En cas de recopie avec la création d'une nouvelle base, l'utilisateur doit disposer des droits pour
réaliser cette opération (Public et Sysadmin).
• La recopie des données d'une base Sage 100 doit être réalisée sur un même serveur, c'est-à-
dire la base source et la base de destination doivent être placées sur un même serveur SQL.
• Avant de lancer l'opération de recopie des données, veuillez également vérifier le nom et l'instance
du serveur SQL définis dans l'icône Sage installation du poste de travail qui réalise cette opération.
©Sage 2023 37
Outil de maintenance et Conversion
Voir plus haut pour plus de détails sur la définition du nom du serveur SQL.
Démarrage de la recopie
Cette première étape vous informe du démarrage de l'opération de recopie. Cliquez sur le bouton
Annuler pour arrêter l'opération et sur le bouton Suivant pour continuer.
©Sage 2023 38
Outil de maintenance et Conversion
Cette étape vous permet de préciser le nom de la base et la taille de la nouvelle base de destination.
Cliquez sur le bouton Parcourir pour spécifier le nom de la base et l'emplacement du raccourci
correspondant (fichier .MAE, .GCM, .IMO ou .MDP).
©Sage 2023 39
Outil de maintenance et Conversion
Démarrage de l'opération
Dans cette dernière étape, vous pouvez demander ou non l'affichage du journal de maintenance.
Cochez l'option de votre choix et cliquez sur le bouton Fin pour démarrer la recopie.
Fin de la recopie
La nouvelle base Sage 100 contient toutes les données de la base d'origine (données comptables,
commerciales, immobilisations, moyens de paiement/trésorerie). Pour pouvoir l'exploiter à partir des
applications, veuillez recréer les fichiers raccourcis correspondant à chaque application Sage 100 dont
vous disposez.
Voir plus haut pour plus de détails sur les propriétés des fichiers raccourcis à créer.
©Sage 2023 40
Outil de maintenance et Conversion
Cette fonction de l'outil de maintenance vous permet de vérifier la structure et la cohérence des bases
de données Sage 100.
La vérification du contenu des objets SQL Server (exemple : celui d'un déclencheur Sage 100)
n'est pas réalisée par la fonction de Vérification des données.
Dans le cas où cette fonction détecte des incohérences dans la base de données, il conviendra alors
d'exécuter une recopie de base.
©Sage 2023 41
Outil de maintenance et Conversion
La fonction de fusion des bases relationnelles est accessible lorsqu'une base de type Gestion
commerciale, Immobilisations ou Moyens de paiement/Trésorerie est ouverte dans la Maintenance.
Cette fonction permet via un assistant, de sélectionner la base comptable dans laquelle seront recopiées
les données de la base ouverte.
L'exploitation des applications Sage 100 nécessite impérativement que tous les types de base
d'un dossier (comptabilité, gestion commerciale…) soient contenus dans une base de données
SQL unique. Ainsi, dans le cas de bases de données distinctes, il sera nécessaire d'employer la
procédure de fusion pour regrouper l'ensemble des différentes bases dans une base de données
SQL unique. Se référer au manuel Maintenance - Outils d'accompagnement à la migration des
bases relationnelles pour la description exacte de cette fonction.
©Sage 2023 42
Outil de maintenance et Conversion
A l'exécution de cette fonction, il sera nécessaire de renseigner la base comptable dans laquelle les
données de la base ouverte devront être transférées.
Après sélection de la base comptable, cliquer sur Suivant pour poursuivre la procédure.
Lancement du traitement
Cette étape permet d'exécuter le traitement de Fusion des bases relationnelles. Cliquer sur Fin pour
démarrer le traitement.
Ce traitement devra être réalisé pour chaque type de base (gcm, imo et mdp) à fusionner dans
la base comptable.
©Sage 2023 43
Outil de maintenance et Conversion
La fonction de diagnostic pré-migration permet de simuler la conversion des bases de données Sage 100
Windows vers des bases de données Sage 100. Après vérification et recopie des données, le journal de
maintenance affiche un rapport sur les étapes de la conversion, une estimation du temps nécessaire et
éventuellement une liste d'actions préalables à réaliser afin que la conversion arrive à son terme. Cette
fonction permet ainsi de planifier en toute sérénité les traitements de conversions.
©Sage 2023 44
Outil de maintenance et Conversion
Traitements multi-dossiers
©Sage 2023 45
Sauvegarde et restauration des bases de données
La sauvegarde et restauration des bases de données s'effectuent depuis l'outil d'administration installé
par le composant Sage Serveur Express - Poste Serveur : Microsoft SQL Server Management Studio.
Après l'installation de Sage Serveur Express - Partie Serveur, Microsoft SQL Server Management Studio
peut être exécuté depuis le menu démarrer de Microsoft Windows sous Démarrer\Programmes\Microsoft
SQL Server 2017\SQL Server Management Studio.
Les opérations de Sauvegarde et Restauration des bases de données doivent être réalisées avec
le compte utilisateur à partir duquel l'installation de Sage Serveur Express - Partie Serveur a
été exécutée. En effet, ce compte dispose par défaut des droits nécessaires pour réaliser ces
opérations. L'utilisation d'un autre compte est également possible. Cependant, il faudra
préalablement s'assurer que ce compte soit membre du rôle serveur sysadmin de l'instance
SAGE100 (page Rôles du serveur dans les propriétés de la connexion).
Dans la fenêtre qui apparaît, positionner le type de sauvegarde sur Complète et définir le chemin de
destination de la sauvegarde.
©Sage 2023 46
Sauvegarde et restauration des bases de données
Cliquer sur la commande OK pour démarrer le processus de sauvegarde de la base de données et patienter
jusqu'à obtenir le message :
Se référer à la documentation Microsoft SQL Server pour plus de détails sur les différentes options pro-
posées par la fonction de sauvegarde.
©Sage 2023 47
Sauvegarde et restauration des bases de données
La restauration d'une base de données nécessite un accès exclusif à la base de données. Ainsi,
avant d'exécuter cette fonction, vérifier qu'aucun utilisateur n'est en cours de travail sur la
base de données.
Dans la fenêtre qui apparaît, sélectionner l'emplacement et le fichier source de la sauvegarde à restaurer.
Pour restaurer une base de données issue d'un fichier non référencé dans la liste Sélectionnez les jeux
de sauvegarde à restaurer, sélectionner l'option A partir de l'unité et rechercher le fichier de
sauvegarde dans la fenêtre de localisation de sauvegarde.
©Sage 2023 48
Sauvegarde et restauration des bases de données
Puis sur la page Options, cocher l'option Remplacer la base de données existante (WITH REPLACE) :
©Sage 2023 49
Sauvegarde et restauration des bases de données
Dans le cas d'une restauration d'un fichier de sauvegarde issu d'une autre instance/serveur SQL,
il sera peut être nécessaire de modifier les chemins d'accès définis sous Restaurer sous, pour
les adapter à l'arborescence du serveur sur lequel la sauvegarde doit être restaurée.
Cliquer sur la commande OK pour démarrer le processus de restauration et patienter jusqu'à obtenir le
message :
Se référer à la documentation Microsoft SQL Server pour plus de détails sur les différentes options
proposées par la fonction de restauration.
©Sage 2023 50
Fonctionnalités spécifiques des applications Sage 100c
Dans le cas d'une restauration d'un fichier de sauvegarde issu d'une autre instance/serveur SQL, il sera
nécessaire, après avoir restauré la base, de réaliser les opérations suivantes :
Sous Microsoft SQL Server Management Studio, sélectionner la fonction Requête avec la connexion
actuelle disponible sous le menu Fichier\Nouveau.
USE MASTER;
USE [BASE_RESTAUREE];
Les paramètres [BASE_RESTAUREE] et [UTILISATEUR] doivent être modifiés pour les adapter à la
configuration mise en place. Ainsi :
• [BASE_RESTAUREE] correspond au nom de la base de données qui vient d'être restaurée.
• [UTILISATEUR] correspond à un compte utilisateur existant sur l'instance SAGE100.
Par exemple, après avoir restauré la base BIJOU depuis un fichier de sauvegarde issu d'un autre serveur/
instance Sage 100, et pour attribuer le compte USER1 appartenant au domaine Windows DOM1 à la base
BIJOU, le script à exécuter devra être le suivant :
USE MASTER;
USE [BIJOU];
Après modification des paramètres, exécuter la requête en sélectionnant la fonction Exécuter disponible
sous le menu Requête :
©Sage 2023 51
Fonctionnalités spécifiques des applications Sage 100c
-------------------------------------------------------------------------------------
Lorsque le traitement sélectionné est Avec des critères étendus, la totalité des critères de sélection
sont utilisables :
Ce critère est également disponible dans la fenêtre du format de sélection obtenue à l'aide du bouton
Plus de critères.
Lorsque la zone à liste déroulante Traitement est positionnée sur Rapide simplifié, seuls les critères
de sélection concernés par le traitement SQL sont actifs. Bien qu'il soit possible d'ajouter d'autres
critères dans cette fenêtre, seuls les critères proposés par défaut seront appliqués. Tous les autres
critères éventuellement ajoutés seront ignorés.
Exemple : Statistiques clients
Lorsque le traitement sélectionné est Rapide simplifié, seuls les principaux critères de sélection sont
disponibles.
©Sage 2023 52
Fonctionnalités spécifiques des applications Sage 100c
Lorsque le traitement sélectionné est Avec des critères étendus, la totalité des critères de sélection
sont utilisables. Il est alors possible d'ajouter d'autres critères de sélection.
©Sage 2023 53
Fonctionnalités spécifiques des applications Sage 100c
Pour ajouter un nouvel index dans les bases de données Sage 100, nous vous renvoyons vers la
documentation de Microsoft SQL Server Edition Express. Dès lors qu'un nouvel index est ajouté dans une
table Sage 100, il sera utilisable dans les applications Sage 100.
Dans le cas d'une mise à jour de version, les tris personnalisés créés sur une version Sage 100
antérieure à la version Sage 100 i7 version 7.70 ne sont pas conservés. Ainsi, ils existent
toujours dans la base de données, mais ne sont plus associés dans les applications Sage 100. Il
conviendra donc, après mise à jour en version Sage 100, de réaffecter chacun de ces tris afin de
les exploiter dans les applications Sage100 (cf. paragraphe Définition d'un nouveau tri).
A partir des applications Sage 100, la définition d'un nouveau tri s'effectue en sélectionnant la fonction
intitulée Listes de l'onglet Interface utilisateur, disponible sous le menu Fenêtre\Personnaliser.
©Sage 2023 54
Fonctionnalités spécifiques des applications Sage 100c
Toutes les listes permettant d'utiliser de nouveaux tris sont proposées dans cette fonction. Le nombre de
tris possible pour une liste est limité à 100.
Si un index concernant cette liste a été ajouté dans la base de données, le bouton [Ajouter un tri...] est
disponible. Ce bouton donne accès à la fenêtre ci-dessous :
©Sage 2023 55
Fonctionnalités spécifiques des applications Sage 100c
Tous les index créés dans la base et qui concernent la liste sélectionnée sont proposés.
Il est possible de sélectionner un ou plusieurs index dans la liste. Les éléments sélectionnés
sont identifiés par la présence d'une coche devant leur intitulé.
Après avoir validé les index souhaités, ils sont proposés avec les tris déjà existants.
Les tris ajoutés sont identifiés par une icône particulière dans la liste.
Chaque tri peut être renommé. Pour ce faire, il suffit de le sélectionner, puis de cliquer sur son nom pour
accéder en modification à cette zone. Pour valider les modifications, il convient de cliquer sur le bouton
OK.
Pour supprimer un tri d'une liste, il convient de le sélectionner puis de cliquer sur le bouton Supprimer.
©Sage 2023 56
Fonctionnalités spécifiques des applications Sage 100c
Le bouton Réinitialiser permet de revenir au paramétrage standard. Toutes les modifications, ajouts et
suppressions de tris sont alors perdus.
Chaque nouveau tri défini dans la fonction Personnaliser l'interface est visible sur la liste concernée :
• Dans le menu déroulant de la barre d'outils Navigation sous le bouton de commande Tri
©Sage 2023 57
Fonctionnalités spécifiques des applications Sage 100c
Comptabilité
Menu Structure
©Sage 2023 58
Fonctionnalités spécifiques des applications Sage 100c
Menu Traitement
Gestion commerciale
Menu Structure
©Sage 2023 60
Fonctionnalités spécifiques des applications Sage 100c
Menu Traitement
Immobilisations
Menu Structure
©Sage 2023 62
Fonctionnalités spécifiques des applications Sage 100c
Menu Traitement
Moyens de paiement
Menu Structure
©Sage 2023 63
Fonctionnalités spécifiques des applications Sage 100c
Menu Traitement
©Sage 2023 64
Fonctionnalités spécifiques des applications Sage 100c
©Sage 2023 65
Connexion et erreurs fréquentes
La lecture de ce chapitre est essentielle avant d'ouvrir ou de créer des bases Sage 100. Aussi
Connexion
Les applications Sage 100 utilisent une connexion Microsoft SQL Server avec authentification Windows.
C'est un mode de connexion sécurisé qui nécessite que le poste client soit connecté à un réseau Windows,
et que l'utilisateur possède des droits d'accès sur la base de données Sage 100.
Il faut de plus, comme indiqué dans le chapitre Installation, que Microsoft SQL Server Edition Express soit
installé sur un Serveur Windows appartenant au même domaine Windows que les postes clients devant se
connecter à l'instance SQL Express.
Vous trouverez ci-dessous les prérequis nécessaires pour se connecter aux bases de données de Sage 100.
1 . Connexion au domaine Windows où se trouve le Serveur SQL.
2 . Droits sur les bases de données de Sage 100.
Les postes clients souhaitant accéder aux bases Sage 100 doivent se connecter sur le même domaine
Windows que celui sur lequel se trouve le Serveur SQL.
Sur les postes clients Windows, sélectionnez le domaine Windows lors de l'entrée du login.
Si vous ne pouvez accéder au domaine Windows, contactez votre administrateur réseau pour connaître
le paramétrage à mettre en place pour démarrer une session sur le domaine.
Pour l'ouverture et l'exploitation des bases de données Sage 100 depuis les applications Sage 100, il est
nécessaire que les utilisateurs Windows des postes clients soient au minimum membres du rôle Public et
SAGE_USER sur les bases de données Express sur lesquelles ils doivent accéder.
De plus, concernant les opérations de création et de conversion de bases de données, il est nécessaire
que les utilisateurs soient membre des rôles serveur suivants :
• Public,
• Sysadmin.
©Sage 2023 66
Connexion et erreurs fréquentes
Cette procédure d'attribution de rôles doit être réalisée par votre administrateur Réseau (ou SQL) à partir
de l'outil SQL Server Management Studio Express installé par Sage Serveur Express - Poste Serveur.
La procédure de création et d'attribution de droits aux utilisateurs est détaillée sous le para-
graphe Création de compte et droits d'accès aux bases de données Sage 100.
Vous trouverez ci-dessous différents cas possibles avec leurs solutions. Les 4 premiers problèmes sont les
plus fréquents.
Problème Solution
Vous ne vous êtes pas logué sur le Domaine Vérifiez bien que vous avez ouvert une session sur le
Windows où se trouve le Serveur SQL. domaine Windows.
Vous n'avez pas les droits sur la base Demandez à votre administrateur Réseau de vous donner
Microsoft SQL Server Edition Express. les droits sur la base de données Sage 100.
Microsoft SQL Native Client n'est pas Ré-exécutez l'installation de Sage 100 poste Client.
installé ou mal installé sur votre poste.
Vous effectuez un glisser déplacer de Ouvrez le fichier via l'application. Il faut en effet, lors de la
votre fichier Sage 100 vers création, que la base soit créée avec un nom DOS (8 carac-
l'application correspondante, avec un tères maximum selon les règles correspondantes).
nom ayant plus de 8 caractères.
La base de données Sage 100 n'a pas 1 . Vérifiez avec votre administrateur que la base SQL
été trouvée. Express n'a pas été supprimée. Si c'est le cas deman-
dez-lui de restaurer une ancienne version de votre
base SQL Express.
2 . Vérifiez le nom de votre fichier comptable, commer-
cial, immobilisation, moyen de paiement/trésorerie.
Le nom du fichier sans l'extension doit correspondre à
un nom de base de données existant.
Il se peut que vous ayez renommé votre fichier par erreur,
auquel cas redonnez lui le nom d'origine.
La section 'ServeurSQL' de votre fichier Editez votre fichier via un éditeur de texte tel que
comptable, commercial, immobilisa- WORDPAD et renseignez le bon Serveur SQL Express et l'ins-
tion, moyen de paiement/trésorerie tance SAGE100.
ne correspond pas à un serveur SQL
Express existant ou ne possède pas
l'instance SAGE100.
©Sage 2023 67
Annexes
Erreur -6706
Problème Solution
Vous avez les messages suivants : Microsoft SQL Native Client n'est pas installé sur le poste.
• Erreur inconnue [800A0E7A] ! Exécutez l'installation de Sage 100 poste
Client.
• Erreur inconnue [-6706] !
Erreur 5
Problème Solution
Une erreur 5 (Accès refusé) est surve- Quittez les applications Sage 100 et attendez que le service
nue lors de l'exécution de cette opéra- soit redémarré par votre administrateur réseau.
tion de service sur le service MSSQL
Server.
Une personne essaye d'arrêter le ser-
vice SQL Server sur la machine Serveur
alors que des utilisateurs sont encore
connectés à une base SQL Express.
©Sage 2023 68
Annexes
Annexes
Vous trouverez ci-après des éléments techniques relatifs à la structure des bases Sage 100 ainsi que sur
le fonctionnement des applications.
A l'installation de Sage Serveur Express - Partie Serveur, des procédures stockées étendues sont créées
dans la base Master du serveur Microsoft SQL Server.
©Sage 2023 69
Annexes
Messages d'erreurs
Certains messages utilisés dans les applications Sage 100 sont ajoutés dans la liste des messages Microsoft
SQL Server.
Les messages d'erreurs Sage sont écrits du numéro 80000 jusqu'au numéro 80011. Bien que cela soit peu
probable, l'écriture de ces messages pourrait effacer des messages déjà existants autres que ceux de
Microsoft SQL Server.
EVITEZ donc dans vos développements de créer des messages Microsoft SQL Server dans
cette plage d'adresse 80000 à 80011.
Les bases de données Sage 100 utilisent des tables systèmes internes. Elles servent entre autre, pour la
notification entre les applications (ajout, modification, suppression d'enregistrements), envoi de
messages, etc.
Ces tables, ne sont pas visibles depuis les applications Supporia, Sage Objets métiers.
Problème Solution
cbMessage Table contenant les messages à destination des applications Sage 100.
cbNotification Table contenant les notifications à destination des applications (pour mise à
jour des listes).
cbRegFile Table contenant les identifiants des applications désirant être notifiées lors
de la modification d'une table spécifique.
cbRegMessage Table contenant les identifiants des applications acceptant de recevoir des
messages.
cbRegUser Table contenant les identifiants des applications désirant être notifiées lors
de nouvelles connexions / déconnexions.
cbSysTable Table contenant la description des types de base Sage 100 contenus dans la
base de données SQL Server.
cbUserSession Table contenant les identifiants des postes et applications connectés à la
base de données.
cbSysAbonnement Table contenant le paramétrage défini pour la synchronisation comptable.
cbSysLogRecord Table contenant les données de la synchronisation comptable.
cbSysSite Table contenant le paramétrage défini pour la communication de site à site.
cbSysLibre Table de définition des informations libres.
cbSysLink Table des bases liées.
L'ajout, la modification ou la suppression d'enregistrements dans ces tables, ainsi que la manipulation des
verrous sur les tables et enregistrements, s'effectuent par l'exécution de procédures stockées. Ces pro-
cédures sont décrites ci-après :
©Sage 2023 70
Annexes
Procédures stockées
CB_Connect
Paramètres en Entrée
CB_Disconnect
Cette procédure est exécutée à la fermeture de l'application. Elle effectue les opérations suivantes :
• Lance les CB_PurgeXXX
• Envoie une notification de déconnexion aux SPID présents dans cbRegUser
CB_IsFileLock
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (smallint) : Type de verrou (0,1,2,3) :
- 0 : Shared (partagé)
- 1 : Exclusif
- 2 : Delete (suppression)
- 3 : Modification
Paramètres en Sortie
Cette procédure vérifie si un fichier est verrouillé. Elle est appelée uniquement par les déclencheurs de
table.
©Sage 2023 71
Annexes
CB_IsRecordLock
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbMarq (int) : Marqueur de l'enregistrement
Paramètres en Sortie
Cette procédure vérifie si un enregistrement est verrouillé. Elle est appelée uniquement par les déclen-
cheurs de table.
CB_IsVracLock
Paramètres en Entrée
Paramètres en Sortie
Cette procédure vérifie si une table paramètre est verrouillée. Elle est appelée uniquement par les dé-
clencheurs de table.
CB_LockFile
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (smallint) : Type de verrou (0,1,2,3) :
- 0 : Shared (partagé)
- 1 : Exclusive
- 2 : Delete (suppression)
- 3 : Modification
Paramètres en Sortie
©Sage 2023 72
Annexes
CB_LockRecord
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (smallint) : Type de verrou (3,4)
- 3 : Modification
- 4 : Read (lecture)
• CbMarq (int) : Numéro de l'enregistrement à verrouiller
Paramètres en Sortie
CB_LockRecord @cbFile sysname, @cbType smallint, @cbMarq int, @lRes int output
CB_LockVrac
Paramètres en Entrée
CB_MaintenanceIndex
CB_MaintenanceIndex
Cette procédure permet de réindexer les tables de la base de données, ainsi que de mettre à jour les
statistiques.
CB_Notify
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (smallint) : type de notification (cf. table cbNotification)
• CbIndMod (smallint) : liste des index modifiés si CbType=5
• CbMarq (in) : marqueur enregistrement
CB_Notify @cbFile sysname, @cbType smallint, @cbIndMod smallint, @cbMarq int
©Sage 2023 73
Annexes
Cette procédure est utilisée par une application pour notifier les autres applications de la modification
d'une table, de sa connexion ou de l'envoi d'un message. Pour plus de renseignements nous vous conseil-
lons de vous référer au chapitre relatif aux notifications.
CB_PurgeLock
CB_PurgeLock
CB_PurgeMessage
CB_PurgeMessage
CB_PurgeNotification
CB_PurgeRegFile
CB_PurgeRegFile
CB_PurgeRegMessage
Aucun argument n'est requis
CB_PurgeRegMessage
CB_PurgeRegUser
CB_PurgeRegUser
CB_PurgeUserSession
Aucun argument n'est requis
CB_PurgeUserSession
CB_RegisterFile
Paramètres en Entrée
CB_RegisterFile @cbFile
CB_RegisterMessage
CB_RegisterMessage
CB_RegisterUser
CB_RegisterUser
©Sage 2023 75
Annexes
CB_SendMessage
Paramètres en Entrée
Cette procédure permet d'envoyer un message via l'application (commande Fichier / Configuration sys-
tème et partage) vers une autre application.
CB_UnLockFile
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (smallint) : Type de verrou (0,1,2,3)
• CB_UnLockFile @cbFile sysname, @cbType smallint
Cette procédure permet de « déverrouiller » une table générale (table F_*).
CB_UnLockRecord
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG')
• CbType (char(1)) : Type de verrou ('M')
• CbMarq (in) : Numéro de l'enregistrement à déverrouiller
• CB_UnLockRecord @cbFile sysname, @cbType char(1), @cbMarq int
Cette procédure permet de « déverrouiller » un enregistrement.
CB_UnLockVrac
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'P_DEVISE')
• CB_UnLockRecord @cbFile sysname, @cbType char(1), @cbMarq int
Cette procédure permet de « déverrouiller » une table paramètre (table P_*).
CB_UnRegisterFile
Paramètres en Entrée
• CbFile (sysname) : Nom du fichier (ex 'F_COMPTEG'
• CB_UnRegisterFile @cbFile sysname
Supprime des enregistrements dans les tables cbRegFile et cbNotification.
©Sage 2023 76
Annexes
CB_UnRegisterMessage
CB_UnRegisterMessage
CB_UnRegisterUser Aucun
CB_UnRegisterUser
Dans un objectif d'optimisation des processus des applications Sage 100, toutes les opérations de
sélection suivant des index ont été écrites sous forme de procédures stockées.
A chaque index de chaque table (XXX) correspondent 7 procédures stockées qui permettent, suivant les
champs de l'index, d'accéder aux enregistrements de différentes manières :
• CB_EqGreaterXXX : Accès à l'enregistrement en >=
• CB_EqLesserXXX : Accès à l'enregistrement en <=
• CB_EqualXXX : Accès à l'enregistrement en =
• CB_GreaterXXX : Accès à l'enregistrement en >
• CB_LesserXXX : Accès à l'enregistrement en <
• CB_NextICTXXX : Accès à l'enregistrement suivant (pour cette procédure seul le champ cbMarq de
type compteur est passé en paramètre)
• CB_PrevXXX : Accès à l'enregistrement précédent (pour cette procédure seul le champ cbMarq de
type compteur est passé en paramètre)
L'ordre de tri correspond à l'ordre des champs de l'index. Ainsi si un index est composé des champs ch1,
ch2 et ch3 l'ordre de tri s'effectuera en premier sur le champ ch1 puis sur le champ ch2 et enfin sur le
champ ch3.
Vous trouverez ci-dessous un exemple de procédure d'accès à un enregistrement pour un accès en supé-
rieur ou égal avec l'index ICT_CANUM de la table F_COMPTET composé des trois champs :
• N_Analytique (smallint)
• cbCA_Num (varbinary)
• cbCT_Num (varbinary)
©Sage 2023 77
Annexes
Exemple :
Par exemple, CB_UpdateLinkCPTACIAL, créée des contraintes et déclencheurs sur les tables de la base
comptable. Les contrôles réalisés par ces éléments s'appuient sur les données de la base commerciale
stockée dans la même base que la base comptable.
Pour chaque table des bases de données Sage 100, différents types de déclencheurs sont implé- mentés.
Les déclencheurs sont des composants qui s'exécutent à chaque opération d'écriture (ajout, modification
ou suppression) sur les enregistrements d'une table. Ils permettent ainsi d'assurer la cohérence et l'inté-
grité des bases de données Sage 100.
Lorsqu'une contrainte d'intégrité n'est pas respectée, alors les transactions devant ajouter, modifier ou
supprimer les données sont annulées (Rollback) et un message d'erreur est retourné.
Toutefois, tous les contrôles de cohérence ne sont pas intégrés dans ces déclencheurs. Le domaine de
validité des champs n'est par exemple pas contrôlé par les déclencheurs, ainsi il serait possible d'insérer
des incohérences dans la base en écrivant les données en natif SQL. C'est pourquoi il est vivement conseil-
©Sage 2023 78
Annexes
lé, que tous les développements spécifiques en écriture sur les bases SQL, utilisent Sage Objets Métiers.
La liste des déclencheurs implémentés sur les tables est détaillée ci-après :
Triggers CBase
TG_CBINS_XXX
TG_CBUPD_XXX
TG_CBDEL_XXX
Triggers Applicatifs
Les tests de cohérence et d'intégrité propres à chaque application Sage 100 sont appelés Triggers appli-
catifs dont voici la liste :
• TG_INS_XXX (trigger en insertion),
• TG_DEL_XXX (trigger en suppression),
• TG_UPD_XXX (trigger en modification).
L'intégrité et la cohérence des bases Sage 100 est d'abord assurée par les Triggers que nous avons vus ci-
dessus.
Cependant gérer les relations entre les tables en Transact SQL dans les triggers est pénalisant en perfor-
mance. Pour cela, à chaque table sont associées des contraintes de clés primaires et étrangères.
©Sage 2023 79
Annexes
Contraintes CBase
Une contrainte unique par index unique ou compteur : UK_XXX (avec XXX = nom de l'index)
Contraintes Application
Contrainte unique UKA_XXX_YYY (avec XXX=nom du fichier, YYY= nom du champ contrainte)
Contrainte de clé étrangère FKA_XXX_YYY (avec XXX = nom du fichier, YYY= nom du champ contrainte)
Exemple :
FKA_F_DOCLIGNE_AR_REF : contrainte clé étrangère entre F_DOCLIGNE et F_ARTICLE sur le champ
AR_REF
Mécanismes de notification
Principes généraux de notification
L'utilisation des applications Sage 100 en accès Client/Serveur nécessite que les applications soient
notifiées de tout changement de certaines activités relatives à la base de données, telles que :
• Modification d'une table,
• Connexion / Déconnexion d'une application Sage 100,
• Présence d'un message à leur attention.
Pour ce faire, à la fréquence définie par le paramètre Délai de réaffichage (par défaut 5 secondes),
chaque application Sage interroge la table cbNotification pour déterminer les événements qui lui sont
envoyés par les autres applications.
Chaque application Sage 100, connectée à la base, peut, si elle le désire, recevoir des notifica- tions.
Pour ce faire chaque application devra s'inscrire dans les tables suivantes :
• cbRegFile si elle désire être notifiée de la modification d'une table précise,
• cbRegUser si elle désire être notifiée de la connexion / déconnexion d'une application Sage 100,
• cbRegMessage si elle désire pouvoir recevoir des messages par l'intermédiaire des procédures
stockées suivantes :
- CB_RegisterFile,
- CB_PurgeRegUser,
- CB_RegisterMessage.
©Sage 2023 80
Annexes
Pour annuler ces demandes, l'application pourra utiliser l'une des procédures stockées suivantes :
• CB_UnRegisterFile,
• CB_UnPurgeRegUser,
• CB_UnRegisterMessage.
Les notifications sont écrites dans la table cbNotification par la fonction CB_Notify.
Les messages sont écrits dans la table cbMessage par la procédure stockée CB_SendMessage.
A chaque application accédant à une base de données correspond un SPID (ID de processus ser-
veur du processus utilisateur en cours) unique attribué par Microsoft SQL Server qui est utilisé
dans les différentes tables et procédure stockées.
Envoi de message
L'envoi d'un message d'une application Sage 100 Comptabilité vers une application Sage 100 Gestion
commerciale :
(1) La comptabilité essaie d'envoyer un message à la gestion commerciale (SPID=9) par la commande :
Cette procédure vérifie si la gestion commerciale accepte les messages en vérifiant la présence du SPID=9
dans la table cbRegMessage sinon la commande s'arrête.
©Sage 2023 81
Annexes
La procédure écrit ensuite le message dans la table cbMessage, puis écrit une notification de présence
de message pour le SPID=9 dans la table cbNotification.
(2) Au maximum 5 secondes plus tard la gestion commerciale interroge la table cbNotification et trouve
une notification de message par la requête :
(3) La gestion commerciale interroge la table cbMessage et trouve le message envoyé par la comptabilité
par la requête : SELECT TOP 1 * FROM cbMessage WHERE cbSession = @@SPID
Modification de table
Trois programmes Sage 100 Comptabilité visualisent simultanément les comptes tiers. Sage 100
Comptabilité de SPID égale à 13 modifie l'intitulé d'un compte tiers.
L'exemple suivant présente donc l'envoie de notifications de modification de table de la Comptabilité 100
c (SPID=13) vers les deux autres Comptabilités 100 (SPID=9 et SPID=12) :
(1) La comptabilité (SPID=13) essaie d'envoyer une notification de modification de table par la
procédure :
CB_Notify 'F_COMPTET', 5, 0, 5
Cette procédure recherche dans la table cbRegFile les SPID des autres applications désirant être notifiées
de modification de la table des comptes tiers. Elle trouve donc les SPID 9 et 12 et leur envoie une noti-
fication de modification de table dans la table cbNotification
©Sage 2023 82
Annexes
(2) Au maximum du délai de réaffichage (par défaut 5 secondes), la Comptabilité 100 de SPID=9 interroge
la table des notifications par la requête :
Ces verrous dans cette version Microsoft SQL Server sont gérés via des procédures stockées (CB_LockFile,
CB_UnlockFile, CB_LockRecord, et CB_UnLockRecord). Les différents types de verrous sont décrits ci-des-
sous.
Verrou partagé
Ce verrou est un verrou partageable, il permet aux autres de lire mais leur interdit toute modification en
écriture (ajout, suppression, modifications). S'il y a déjà un verrou en exclusif, il y a attente.
Verrou en exclusif
Ce verrou est un verrou exclusif, il interdit aux autres utilisateurs toutes actions. S'il y a déjà un verrou
partagé, il y a attente.
Verrou en destruction
Verrou en modification
Ce verrou interdit toute modification. Il est interdit s'il y a déjà un verrou en modification.
©Sage 2023 83
Annexes
Les verrous décrits ci-dessus sont utilisés pour verrouiller les fichiers et les enregistrements. Ces verrous
(destruction et modification) sont utilisés fréquemment dans les applications Sage100 afin de gérer les
accès concurrents en accès client/serveur.
Les procédures stockées indiquées ci-dessous sont décrites dans le chapitre consacré aux procédures stoc-
kées.
Les verrous partagés et en exclusifs posés par les applications Sage 100 ne sont pas de réels
verrous SQL, il s'agit d'un mécanisme de verrouillage interne. Ainsi, pour que des développe-
ments spécifiques puissent interagir avec les applications Sage en tenant compte des verrous
posés par les applications, il sera nécessaire d'utiliser la procédure CB_LockFile.
CB_LockFile.
CB_UnLockFile
CB_LockRecord
CB_UnLockRecord
©Sage 2023 84
Annexes
Comme décrit ci-dessus, vous pouvez verrouiller des enregistrements d'un fichier ou tout le fichier. En
accès client/serveur ces verrous ont des implications au niveau fonctionnel dans les applications
Sage100, lors de l'insertion, la modification ou la suppression d'enregistrements.
Insertion
Si le fichier est verrouillé en Exclusif alors message : Cet élément est en cours d'utilisation
Si le fichier est verrouillé en Partagé alors message : Cet élément est en cours d'utilisation
Si le fichier est verrouillé en Modification alors message : Cet élément est en cours d'utilisation
Modification
Si le fichier est verrouillé en Modification alors message : Cet élément est en cours d'utilisation
Si le fichier est verrouillé en Partagé alors message : Cet élément est en cours d'utilisation Si
le fichier est verrouillé en Exclusif alors message : Cet élément est en cours d'utilisation Si
l'enregistrement est verrouillé alors message : Cet élément est en cours d'utilisation
Suppression
Si le fichier est verrouillé en Modification alors message : Cet élément est en cours d'utilisation
Si le fichier est verrouillé en Partagé alors message : Cet élément est en cours d'utilisation Si
le fichier est verrouillé en Exclusif alors message : Cet élément est en cours d'utilisation Si
l'enregistrement est verrouillé alors message : Cet élément est en cours d'utilisation
©Sage 2023 85
Annexes
Insertion ou modification
Table Maître
• Sans Test de cohérence
Insertion
• Avec Tests d'unicité
Exemple :
Insertion dans le fichier F_ENUMSTAT
Verrouillage du fichier en Exclusif
Test d'existence (Intitulé)
Insertion
Déverrouillage du Fichier en Exclusif
• Avec Tests d'existence (lien avec d'autres fichiers)
Exemple :
Insertion dans le fichier F_COMPTEG avec le lien vers le fichier F_COMPTER
Verrouillage du fichier en Exclusif (F_COMPTEG)
Verrouillage partagé du fichier lié (F_COMPTER)
Test d'existence (CR_Num de F_COMPTER)
Insertion
Déverrouillage partagé du fichier (F_COMPTER)
Déverrouillage du fichier en Exclusif (F_COMPTEG)
Le verrou partagé sur F_COMPTER est posé uniquement pour éviter que l'on supprime le
Compte Reporting entre le test d'existence et l'insertion.
Table Fils
Exemple :
Insertion dans F_REGLEMENTT (Fichier FILS de F_COMPTET)
Verrouillage de l'enregistrement du Fichier Maître en modification (F_COMPTET)
Ensuite même principe que pour le fichier Maître appliqué à la table FILS (F_REGLEMENTT)
Suppression du verrou de l'enregistrement du fichier Maître en modification.
©Sage 2023 86
Annexes
Si une application connectée à une base est interrompue brutalement elle n'aura pas la possibilité de sup-
primer les verrous qu'elle aura pu poser. Il est donc nécessaire de supprimer manuellement ces verrous.
Il faut :
1 . déconnecter toutes les applications connectées aux bases Sage 100,
2 . puis exécuter la commande dbcc cbsqlxp (free) depuis, par exemple, SQL Server Management
Studio Express.
Une fois ces deux procédures effectuées vos applications pourront alors se connecter à nouveau aux bases
SQL.
Conseils
Lecture
Si vous souhaitez n'effectuer que des opérations de lecture sur les bases Sage 100, vous pouvez accéder
directement aux données SQL 100 via le provider OLEDB de SQL Server.
Fonctions avancées
Le montant HT et le montant TTC sont stockés au niveau de chaque ligne de document de Sage 100 Ges-
tion commerciale.
Cela vous permet de réaliser des états statistiques de gestion commerciale et notamment, de calculer
des chiffres d'affaire, marge ou autres directement en mode natif SQL Server.
Certains états sont intégrés en mode natif SQL, tel que l'état Statistiques clients en mode Rapide sim-
plifié par exemple. Afin de connaître les méthodes de calculs des indicateurs affichés dans ces états,
utilisez le générateur de profils de SQL Server pour créer une trace afin de visualiser la requête SQL gé-
nérée. Celle-ci pourra ensuite être adaptée suivant vos besoins.
L'écriture dans les bases Sage 100 est théoriquement possible via un outil de développement externe.
Cependant, il est fortement conseillé d'écrire dans les bases et utilisant Sage Objets Métiers
et non directement. En effet, ces kits d'ouverture effectuent des contrôles de cohé- rence et d'intégrité
qui ne sont pas inclus dans les triggers ou clés étrangères des bases Sage 100.
©Sage 2023 87
Annexes
De plus des opérations comme la mise à jour des stocks en saisie de lignes de documents, sont gérées
automatiquement par Sage Objets Métiers. Ceci serait très compliqué à réaliser par vous-même.
L'écriture dans les bases en utilisant Sage Objets Métiers vous permettra donc de sécuriser vos
développements externes. Dans le cas contraire, vous pourriez rencontrer des dys- fonctionnements
applicatifs, suite à des problèmes de cohérence des bases Sage 100.
Administration et recommandations
Ce traitement permet en effet de réindexer les tables de votre base et de mettre à jour les statistiques.
SQL Server se sert en effet des statistiques collectées pour choisir le meilleur plan d'exécution d'une re-
quête et de ce fait avoir des statistiques régulièrement à jour vous permet d'avoir toujours des perfor-
mances optimales.
La fréquence de réorganisation de la base est à définir en fonction du volume d'écritures saisies et des
performances, mais en moyenne lancez ce traitement au moins 1 à 2 fois par semaine.
L'utilisation de ces champs impose que certaines options soient activées, notamment pour la création
d'index, les commandes DBCC et les commandes de mise à jour (insert, update, delete).
Vous trouverez ci-dessous toutes les options et commandes nécessaires à l'utilisation des index sur les
champs calculés de Sage 100.
Options
La création et la manipulation d'index sur des colonnes calculées nécessite que les options SET ARITHA-
BORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING et ANSI_WARNINGS
soient activées (valeur ON). L'option NUMERIC_ROUNDABORT doit être désactivée (OFF).
Si l'une de ces options ne comporte pas la valeur requise, les ordres tels que INSERT, UPDATE, DELETE,
CREATE INDEX sur les tables comportant des index sur des colonnes calculées échouent avec un message
d'erreur tel que :
« INSERT a échoué car les options suivantes comportent des paramètres incorrects : ARITHABORT,
QUOTED_IDENTIFIER »
©Sage 2023 88
Annexes
Les options citées ci-dessus sont nécessaires pour toutes manipulations d'index sur des colonnes calcu-
lées, à savoir :
• CREATE INDEX,
• Opérations de mise à jour : INSERT, DELETE, UPDATE,
• Opérations sur les index : ALTER INDEX...
Commande à exécuter :
ARITHABORT ON,
CONCAT_NULL_YIELDS_NULL ON,
QUOTED_IDENTIFIER ON,
ANSI_NULLS ON,
ANSI_PADDING ON,
ANSI_WARNINGS ON,
NUMERIC_ROUNDABORT OFF
©Sage 2023 89
Annexes
Pour visualiser les valeurs affectées aux paramètres ci-dessus, il convient d'interroger la vue
système sys.databases pour sélectionner les champs correspondants à ces paramètres pour la
base de données souhaitée :
SELECT is_arithabort_on,
is_concat_null_yields_null_on,
is_quoted_identifier_on,
is_ansi_nulls_on,
is_ansi_padding_on,
is_ansi_warnings_on,
is_numeric_roundabort_on
La commande SET permet de définir les options pour la session en cours. C'est le principe utilisé pour
Sage 100 à chaque ouverture de base avec les paramètres décrits ci-dessous.
Pour toutes les opérations sur les index sur des champs calculés, il convient pour chaque session utilisa-
teur de lancer les ordres suivants avant d'exécuter toute opération sur ces index.
et
Exemple 1
Ce principe est valable même au niveau programmation, si vous utilisez par exemple les ADO (ActiveX
Data Objects) pour insérer un élément dans une table comme dans l'exemple suivant :
©Sage 2023 90
Annexes
Exemple 2
oConn.Open sConnect
SQL = "set
ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT, QUOTED_IDENTIFIER,ANSI_-
NULLS on "
oConn.Execute SQL
oConn.Execute SQL
oConn.Execute SQL
Plan de maintenance
Ce chapitre vous donne toutes les informations nécessaires à l'utilisation du plan de maintenance avec
les bases Sage 100, ainsi que des solutions techniques pour ces différents cas.
Sous SQL Server, l'exécution d'un plan de maintenance sur les bases de données Sage 100 échoue avec
le message d'erreur suivant :
« Microsoft SQL-DMO (ODBC SQLState : 42000)] Erreur 1934 : [Microsoft][ODBC SQL Server Dri-
ver][SQL Server]DBCC a échoué car les options SET suivantes comportent des paramètres
incorrects : 'QUOTED_IDENTIFIER' »
Cette erreur est liée à l'utilisation d'index sur des champs calculés et se reproduit quelle que soit la base
de données utilisée (base Sage ou non Sage), même si toutes les options sont bien positionnées.
Certaines options doivent être en effet validées avant toute manipulation sur des champs calculés.
Les informations suivantes se trouvent dans la documentation en ligne de SQL Server sous la com-
mande SET :
« Lors de la création et de la manipulation d'index sur des colonnes calculées ou des vues indexées, les
options SET ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING
©Sage 2023 91
Annexes
et ANSI_WARNINGS doivent être activées (valeur ON). L'option NUMERIC_ROUNDABORT doit être désacti-
vée (OFF).
Si l'une de ces options ne comporte pas la valeur requise, les actions INSERT, UPDATE et DELETE sur les
vues indexées ou les tables comportant des index dans des colonnes calculées échouent. SQL Server gé-
nère une erreur et affiche la liste des options aux valeurs incorrectes. Par ailleurs, SQL Server traite les
instructions SELECT sur ces tables ou vues indexées comme si les index sur les colonnes calculées ou sur
les vues n'existaient pas ».
Plan de maintenance
SQL Server permet de créer un plan de maintenance de façon simple et rapide via un assistant dans
SQL Server Management Studio.
Cependant le plan de maintenance de SQL Server ne positionne pas les bonnes options citées ci-des-
sus lors de manipulations d'index sur des champs calculés, d'où l'erreur pour tous les travaux mani-
pulant des index.
Solution technique
©Sage 2023 92
Annexes
SCRIPT
Vous trouverez ci-dessous un exemple de procédure permettant de générer les commandes les plus fré-
quentes du plan de maintenance relatives aux index :
• Réorganisation des pages d'index et de données,
• Mise à jour des statistiques,
Lancez ce script via l'Analyseur de requêtes en remplaçant « Base_de_donnees » par le nom de votre base
de données
USE [Base_de_donnees]
GO
SET ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,QUOTED_IDENTIFIER,AN-
SI_NULLS ON;
EXEC CB_MaintenanceIndex
Informations complémentaires
La procédure stockée CB_Maintenanceindex est la procédure utilisée par le programme Maintenance pour
exécuter le traitement de réorganisation de la base relationnelle.
©Sage 2023 93
Annexes
Équivalence des types des champs Sage 100 / Microsoft SQL Server
Texte Text
Date Smalldatetime
Informations libres
Les informations libres sont des champs supplémentaires qu'il est possible de créer pour certaines tables
par les applications Sage 100.
Intitulé Table
Intitulé Table
Articles F_ARTICLE
Ressources F_RESSOURCEPROD
©Sage 2023 94
Annexes
Équivalence de types : Information libre Sage 100 / Données Microsoft SQL Server
Valeur Numeric 13
Date Smalldatetime 4
Montant Numeric 13
Table Varchar 21
©Sage 2023 95
Annexes
Principe
Afin que les informations libres que vous souhaitez créer soient visibles dans les produits Sage 100, il
faut créer des enregistrements dans 2 tables.
• Création dans les tables indiquées ci-dessus,
• Création dans la table cbSysLibre.
Vous trouverez ci-dessous les différents champs à renseigner dans les deux tables en prenant comme
exemple la table F_ARTICLE déjà composée de trois informations libres avec les différents cas possibles
de type d'informations libres.
Les quatre premières colonnes du tableau correspondent aux données de la table " Table " et les cinq
autres aux données de la table cbSysLibre.
Donc vous aurez à créer pour chaque ligne du tableau, deux enregistrements.
• Création de l'information libre « Chp_Text » de type « Texte » de longueur 13 caractères
(position 4)
• Création de l'information libre « Chp_Montant » de type « Montant »
• Création de l'information libre « Chp_Table » de type « Table »
Type de
Type info cbSyslibre. cbSyslibre. cbSyslibre. cbSyslibre. cbSyslibre.
Table données Taille
libre Sage CB_File CB_Name CB_Pos CB_Type CB_Len
SQL
©Sage 2023 96
Annexes
Pour ajouter une information libre sous Microsoft SQL Server, vous pouvez utiliser
SQL Server Management Studio.
Vous pouvez également ajouter une information libre par l'instruction SQL ALTER TABLE :
Exemple :
Création
ALTER TABLE F_ARTICLE ADD Couleur VARCHAR(20) NULL
Suppression
ALTER TABLE F_ARTICLE DROP COLUMN couleur
La création d'informations libres manuellement via des requêtes SQL avec des types qui ne sont
pas ceux indiqués ci-dessus peut avoir un impact sur les applications Sage 100. Vous ne pouvez
pas créer des informations libres avec n'importe quel type de données !
Les informations libres doivent être créées dans les 2 tables comme décrit précédemment,
sinon celles-ci ne seront pas visibles dans l'application.
Vous trouverez dans le tableau ci-dessous les conséquences d'une création d'informations libres suivant
le type de données SQL.
Type SQL de l'information libre Conséquences dans les applications Sage 100
Char (N) L'information libre est créée avec le type « TEXTE » et une
longueur de N.
©Sage 2023 97
Annexes
Type SQL de l'information libre Conséquences dans les applications Sage 100
Une information libre insérée sous Microsoft SQL Server ne sera visible à partir de
l'application Sage que suite à une déconnexion / connexion de l'application.
Pour être visibles dans les applications Sage 100, les informations libres doivent être créées
dans les tables f_compteg, f_comptea, f_comptet, f_ecrturec, f_article, f_docentete,
f_docligne, F_ABOENTETE, F_ABOLIGNE, F_LOTSERIE, F_RESSOURCEPROD et également dans la
table cbSYsLibre.
©Sage 2023 98