Dictionnaire des tables
Cette fonction permet de créer et de modifier les tables de la base de données, en décrivant ses caractéristiques dans le dictionnaire de données du dossier. La validation de cette description permet alors de créer la table dans la base de données retenue ou d'en modifier les caractéristiques.
La gestion des tables permet de définir la liste potentielle des tables de la base. En effet, les codes activités permettent d'inhiber certains certaines tables et / ou certains index.
Par ailleurs, outre la structure de la table elle-même, on définit dans ce dictionnaire :
- des liens vers d'autres tables (liens d'intégrité référentielle). Ces liens sont utilisés par les utilitaires d'annulation, par l'import-export, et par d'autres outils de ce type.
- des informations proposées par défaut dans les écrans créés à partir de ces tables (mots-clés d'aide, informations de format…)
Une table est identifiée par son nom (alphanumérique majuscule commençant par une lettre), et possède une abréviation. La création de nouvelles tables, lors de la phase de personnalisation, suppose que ce nom commence par l'une des lettres X, Y ou Z. Le nom et l'abréviation doivent être uniques dans toute la base (il ne peut exister deux tables de même long, ce qui est logique, ni de même abréviation : cette dernière limitation n'est pas valable pour les écrans).
Une table peut être gérée ensuite à l'aide d'un objet, à condition de créer les écrans nécessaires.
Attention !
Il n'est pas possible d'ajouter des champs ou des perticularités spécifiques ou verticales sur les tables de type "système" ou "dictionnaire". Le spécifique n'est pas pérenne en cas de validation de dossier ou de migration.
Pré-requis
Reportez-vous à la documentation de Mise en oeuvre
Gestion de l'écran
La définition d'une table se fait à l'aide de 3 onglets : un onglet général, l'onglet de définition des champs, et l'onglet de définition des index.
En-tête
Les champs suivants sont présents dans cet onglet:
Code table (champ CODFIC) |
Le code de la table doit être composé de 1 à 10 caractères (lettres ou chiffres mais commençant obligatoirement par une lettre). C'est un identificateur unique pour l'ensemble des tables du dictionnaire des données. Les mots réservés d'adonix sont interdits. |
Abréviation (champ ABRFIC) |
L'abréviation de la table doit être composée de 1 à 3 caractères (lettres ou chiffres mais commençant obligatoirement par une lettre). C'est un identificateur unique pour l'ensemble des abréviations des tables du dictionnaire de données. Les mots réservés d'Adonix sont interdits. |
Intitulé (champ ZINTITFIC) |
Onglet Général
On y trouve les informations générales relatives à la table et à sa gestion.
Les champs suivants sont présents dans cet onglet:
Caractéristiques
Code activité (champ CODACT) |
Le Code Activité et le Module permettent de savoir si la table décrite dans le dictionnaire doit effectivement être créée dans la base de données du dossier. Elle l'est si les deux conditions ci-dessous sont réalisées simultanément :
Une table affectée d'un code activité commençant par X, Y, ou Z, est réputée être spécifique et ne sera en aucun cas affectée par un changement de version (ces codes activités peuvent être mis au niveau des lignes). Par ailleurs, il existe une dépendance entre les modules :
|
Module (champ MODULE) |
Gestion table
Type de base (champ TYPDBA) |
Type de base pour laquelle doit être générée la table. Le type de base "Dossier" permet d'indiquer au programme de gestion de dossiers de générer la table dans le type de base retenu dans la fiche dossier pour l'ensemble des fichiers du dossier. Dans certains cas exceptionnels (en particulier s'il s'agit d'une table externe), on peut être amené à mettre un autre paramètre. |
Compatible version antérieure (champ FLG130) |
Cette case à cocher est à positionner si l'on veut accéder à une table d'un dossier 140 depuis un dossier 130. Dans ce cas, la structure de cette table doit respecter les limites de la version 130 ( pas de clob ni de blob …). Remarque : l'inverse est possible sans rien préciser dans le dictionnaire ( accéder à une table 130 depuis un dossier 140 ). Si cette case est cochée en V7, les champs de type "datetime", "uuident" et "updtick" ne sont pas générés pour que la table puisse être utilisée depuis une application V6 ou de version antérieure. |
Nombre de fiches (champ NBENREG) |
Le champ nombre de fiches permet de définir un dimensionnement de la table dans la base. Ce champ est utilisé pour dimensionner la table à créer ou à modifier. Cette valeur est renseignée à la création du dossier pour chaque table créée, à partir du résultat de l'évaluation de la formule de dimensionnement. Cette formule utilise elle-même des variables dont les valeurs sont saisies dans les paramètres dossier. Lors de la revalidation d'un dossier, le nombre de fiches est réévalué, mais le résultat du calcul n'est réécrit dans cette rubrique que s'il est supérieur à la valeur trouvée dans la table ; Ainsi, on peut, en modifiant cette valeur, augmenter la taille de la table, et cette valeur sera reprise en cas de revalidation de dossier. Si par contre on la diminue, elle sera prise en compte immédiatement si on valide manuellement la table à l'aide du bouton correspondant, mais dès qu'une revalidation de dossier sera faite, la valeur calculée, qui est plus grande, sera reprise en lieu et place de la valeur saisie. Ce comportement a été défini pour des raisons de sécurité : pour des raisons de performance et de facilité d'exploitation, il vaut mieux en effet sur-dimensionner une table plutôt que de la sous-dimensionner. Il n'est pas nécessaire de protéger la modification de ce champ par un code activité. |
Génération textes traduisibles (champ GENTRA) |
Cette case à cocher permet de définir la méthode utilisée, dans Crystal Report, pour les textes traduits de cette table.
C'est un champ de paramétrage ne nécessitant pas de code activité pour être protégé. Doit être en cohérence avec la technique utilisée dans l'état crystal se rapportant à la table. Pour les nouveaux textes traduits, il est conseillé de cocher cette case, pour utiliser a méthode des vues, et ainsi ne pas surcharger les fichiers séquentiels. |
Remise à zéro (champ ZERO) |
Cette case à cocher est utilisée par l'utilitaire de remise à zéro des mouvements, qui permet de remettre à zéro les mouvements d'un dossier (ce qui permet de garder les données " fixes " - articles, tiers, comptes, nomenclatures… - issues d'une saisie en effaçant les mouvements - pièces, factures, mouvements de stocks, OF… - liés par exemple à un test de démarrage en réel). Lorsque cette case est cochée, l'utilitaire de remise à zéro efface toutes les lignes de la table. On retrouve un tel indicateur sur chaque champ (lorsque le champ doit être remis à zéro sans que la table ne soit vidée). |
Accès non sécurisé (champ SECURE) |
Cette case à cocher permet de restreindre l'accès à la table de données au seul dossier propriétaire de la table et à certains dossiers autorisés. Cette notion est identique pour la vue. Une modification de ce champ nécessite une revalidation de la table, pour être pris en compte dans la base de donnée.
Les dossiers habilités sont :
La politique de sécurité pour la table étant considérée comme du paramétrage, cette case à cocher n'est pas mise à jour par patch. A la validation de la table, le fait que cette case soit cochée provoque la création d'un fichier de configuration (d'extension ".cfg") avec le code suivant :
Si d'autres directives manuelles existent dans le fichier de configuration, elles sont respectées. Des directives peuvent en effet être ajoutées par mise à jour du bloc "Fichier de configuration"dans l'onglet correspondant de la Gestion des tables). |
Gestion dossier
Type de table (champ TYPFIC) |
Ce champ permet de classer les tables suivant une typologie utilisée pour la gestion des dossiers. Il peut prendre les valeurs suivantes :
|
Type de copie (champ CRE) |
Il détermine si la création de la table implique un transfert de données entre le dossier de référence et le dossier à créer lors de la création du dossier. Ce paramètre peut prendre les valeurs suivantes :
|
Option de copie (champ OPT) |
Dans le cas d'une copie conditionnelle, l'option de copie est liée au type de copie. Vous pouvez choisir les données de divers sous-groupes de tables que vous souhaitez copier du dossier source au dossier de destination. |
Copie législation (champ FLGLEG) |
Cette case à cocher permet de définir la méthode de copie dans la validation de dictionnaire:
Lors de la validation de dossier , on ne récupèrera que les données correspondantes aux législations gérées ou vides, par le dossier validé. Cette option sera aussi utilisé dans la fonction de copie législation. |
Type livraison (champ TYPDLV) |
Usage interne pour l'industrialisation d'une version. Ce paramètre peut prendre les valeurs suivantes :
|
Colonnes particulières
Intitulé (champ INTIT) |
Ces zones permettent de renseigner le nom de deux champs de la table. Elles permettent d'identifier les champs intitulé présents dans la table. Cette information est exploitée pour l'affichage automatique de l'intitulé d'un enregistrement dont on connaît la clé (gestion des écrans, annulations, changements de code, ...) |
Intitulé court (champ INTITC) |
Symbole (champ SYMBOL) |
Format (champ COLFMT) |
Longueur (champ COLLNG) |
Décimales (champ COLDEC) |
Onglet Colonnes
Cet onglet permet de définir l'ensemble des champs de la table dans un tableau déroulant.
Dans chaque table, il est possible d'utiliser des champs dont le nom est normalisé, et qui sont automatiquement mis à jour s'ils existent par la gestion d'objet. Ces champs sont les suivants :
-
CREDAT et UPDDAT sont respectivement les dates de création et de dernière mise à jour.
-
CRETIM et UPDTIM sont respectivement les heures de création et de mise à jour.
-
CREUSR et UPDUSR sont les codes des utilisateurs ayant réalisé respectivement la création de l'enregistrement et sa dernière mise à jour.
-
EXPNUM est un numéro séquentiel permettant de dater les enregistrements vis à vis du module d'import/export (ce qui permet de n'exporter que ce qui a été mis à jour depuis le dernier export).
Un sixième champ peut en outre être mis dans chaque table. Ce champ s'appelle ENAFLG, et il correspond à un indicateur actif/inactif. Si la table en question est gérée par un objet, et qu'un type de données est associé à ce champ, les contrôles suivants seront faits sur les champs de ce type :
-
la fenêtre de sélection standard de l'objet appelée par la touche de sélection filtrera automatiquement les enregistrements inactifs.
-
un message d'erreur empêchera la saisie directe par son code d'une clé inactive
Ceci n'est bien entendu pas valable dans la gestion de l'objet lui-même (sinon, on ne pourrait pas réactiver des enregistrements rendus temporairement inactifs).
Les champs suivants sont présents dans cet onglet:
Tableau
No (champ NUMLI) | ||||||||||||||||||
Colonne (champ CODZONE) | ||||||||||||||||||
Indiquez le nom du champ dans la table, en suivant la syntaxe interprétable par le logiciel. Par exemple, le nom de champ FIELDNAME, défini dans la table des abréviations ABV, sera accessible en suivant la syntaxe [F:ABV]FIELDNAME. Le nom des champs personnalisés commence par X_, Y_ ou Z_. Dans la base de données, chaque zone correspond à un ou plusieurs champs. (selon que la zone est dimensionnée ou non). Les champs correspondants s'appellent FIELDNAME_0, FIELDNAME_1, FIELDNAME_2. Pour saisir et afficher le champ correspondant à l'écran, son nom doit être le même dans le dictionnaire des écrans. L'écran et la table seront alors utilisés en simultané dans la gestion des objets. |
||||||||||||||||||
Type (champ CODTYP) | ||||||||||||||||||
On définit ici le type de la zone, qui caractérise son format de saisie (numérique, caractères quelconques, date...) et des contrôles de cohérence (référence à une table par exemple). Les principaux types génériques existants sont : A : Alphanumérique |
||||||||||||||||||
Menu (champ NOLIB) | ||||||||||||||||||
Définit le numéro de menu local associée au champ défini sur la ligne. Lorsqu'un champ est de type menu local, il est stocké sous la forme d'une valeur numérique (de 1 à 255) correspondant au rang d'un intitulé dans une table appelée menu local, stockée dans la table des messages APLSTD. En saisie ou en affichage, on voit, selon les choix faits sur l'interface utilisateur :
L'intérêt de ce type de saisie est que la liste des choix est présentée dans la langue de connexion de l'utilisateur. Chaque numéro de menu local caractérise la liste des intitulés possibles. Par exemple, le menu local 1 correspond au choix Non / Oui dans cet ordre. Dans ce cas particulier, l'interface utilisateur peut aussi être la case à cocher. |
||||||||||||||||||
Long (champ LONG) | ||||||||||||||||||
Permet de définir la longueur d'un champ lorsque ce champ utilise un type de données générique dont la longueur n'est pas fixée. C'est le cas notamment pour les types A et DCB. Pour les blob, comme pour les clob, il faut saisir la longueur qui sera une longueur maximale de stockage. La codification est la suivante :
|
||||||||||||||||||
Act (champ CODACT) | ||||||||||||||||||
Un code activité vous permet de :
Si le code activité est désactivé :
|
||||||||||||||||||
Dim (champ DIME) | ||||||||||||||||||
Dimension de la zone dans la table. La dimension peut également être affectée en fonction du code activité. |
||||||||||||||||||
Intitulé normal (champ INTITCOURT) | ||||||||||||||||||
Intitulé du champ sur trois longueurs : l'intitulé abrégé étant limité à 12 caractères, l'intitulé normal à 20 caractères, et l'intitulé long à 35 caractères. Ces intitulés étant des textes traduisibles, ils sont stockés dans une table dédiée, la table ATEXTE. Quand un nouveau texte est saisi, après création d'une rubrique, une fenêtre apparaît dont le titre est Texte. On a alors le choix entre les 3 options suivantes :
Lorsqu'on passe en modification d'un texte déjà saisi au préalable, on a en outre un choix supplémentaire qui s'affiche dans la fenêtre, dont le titre est à présent Texte nnn (nnn étant son numéro). En effet, on peut alors modifier le texte dont le numéro est donné, pour le rendre conforme au texte qui vient d'être saisi (cette modification sera faite partout où le texte correspondant est utilisé, dès lors que les écrans correspondants auront été revalidés). Par ailleurs, il est possible d'appeler, par le clic droit de souris, la fonction Abréviation qui permet de sélectionner une des abréviations normalisées définies lorsqu'un intitulé est trop long (l'usage des abréviations doit être évité tant que possible pour des raisons de lisibilité des écrans). |
||||||||||||||||||
Intitulé abrégé (champ INTITABREG) | ||||||||||||||||||
Intitulé du champ sur trois longueurs : l'intitulé abrégé étant limité à 12 caractères, l'intitulé normal à 20 caractères, et l'intitulé long à 35 caractères. Ces intitulés étant des textes traduisibles, ils sont stockés dans une table dédiée, la table ATEXTE. Quand un nouveau texte est saisi, après création d'une rubrique, une fenêtre apparaît dont le titre est Texte. On a alors le choix entre les 3 options suivantes :
Lorsqu'on passe en modification d'un texte déjà saisi au préalable, on a en outre un choix supplémentaire qui s'affiche dans la fenêtre, dont le titre est à présent Texte nnn (nnn étant son numéro). En effet, on peut alors modifier le texte dont le numéro est donné, pour le rendre conforme au texte qui vient d'être saisi (cette modification sera faite partout où le texte correspondant est utilisé, dès lors que les écrans correspondants auront été revalidés). Par ailleurs, il est possible d'appeler, par le clic droit de souris, la fonction Abréviation qui permet de sélectionner une des abréviations normalisées définies lorsqu'un intitulé est trop long (l'usage des abréviations doit être évité tant que possible pour des raisons de lisibilité des écrans). |
||||||||||||||||||
Intitulé long (champ INTITLONG) | ||||||||||||||||||
Intitulé du champ sur trois longueurs : l'intitulé abrégé étant limité à 12 caractères, l'intitulé normal à 20 caractères, et l'intitulé long à 35 caractères. Ces intitulés étant des textes traduisibles, ils sont stockés dans une table dédiée, la table ATEXTE. Quand un nouveau texte est saisi, après création d'une rubrique, une fenêtre apparaît dont le titre est Texte. On a alors le choix entre les 3 options suivantes :
Lorsqu'on passe en modification d'un texte déjà saisi au préalable, on a en outre un choix supplémentaire qui s'affiche dans la fenêtre, dont le titre est à présent Texte nnn (nnn étant son numéro). En effet, on peut alors modifier le texte dont le numéro est donné, pour le rendre conforme au texte qui vient d'être saisi (cette modification sera faite partout où le texte correspondant est utilisé, dès lors que les écrans correspondants auront été revalidés). Par ailleurs, il est possible d'appeler, par le clic droit de souris, la fonction Abréviation qui permet de sélectionner une des abréviations normalisées définies lorsqu'un intitulé est trop long (l'usage des abréviations doit être évité tant que possible pour des raisons de lisibilité des écrans). |
||||||||||||||||||
Nom de propriété (API) (champ APROPNAM) | ||||||||||||||||||
Collection dénormalisée (API) (champ DENCOLGR) | ||||||||||||||||||
Nom de package (API) (champ APACKNAM) | ||||||||||||||||||
Options (champ OPTION) | ||||||||||||||||||
Ces options sont matérialisées par des caractères qui peuvent se concaténer lorsque plusieurs options sont nécessaires. Il est possible de choisir ces options grâce à une fenêtre de sélection. Une description détaillée de toutes les options possibles est disponible. |
||||||||||||||||||
Table liée (champ LIEN) | ||||||||||||||||||
Code d'une table liée à celle que vous modifiez par l'intermédiaire du champ courant. Pour les types de données faisant référence à un objet cette zone est renseignée automatiquement. |
||||||||||||||||||
Expression de lien (champ EXPLIEN) | ||||||||||||||||||
Cette zone n'est saisie que si une table liée a été précisée. Si cette zone n'est pas renseignée, le lien est fait directement à partir du champ de la ligne courante (ce qui suppose que la clé primaire de la table liée n'a qu'une seule composante). Dans le cas où la clé primaire possède plusieurs composantes l'expression de lien doit être indiquée sous la forme: comp1;comp2;comp;... où comp1,comp2, comp3,... sont les différentes composantes de la clé.
|
||||||||||||||||||
Init. variable globale (API) (champ VARVALUE) | ||||||||||||||||||
Copie législation (champ CHPLEG) | ||||||||||||||||||
Ce champ est lié à la case à cocher Copie législation. En effet, il permet d'indiquer le champ contenant la législation, ou bien le champ permettant le lien avec la table maître contenant la législation. |
||||||||||||||||||
Annulation (champ ANNUL) | ||||||||||||||||||
Lors de l'annulation d'une ligne dans la table liée (table d'origine), une action particulière peut être effectué sur la table que vous êtes en train de modifier ou de créer (table de destination). Cette action est définir par le code ci-dessous:
|
||||||||||||||||||
Vérification (champ VERIF) | ||||||||||||||||||
Cette zone permet d'indiquer si l'utilitaire de vérification de cohérence doit vérifier le lien. |
||||||||||||||||||
Obligatoire (champ OBLIG) | ||||||||||||||||||
Le champ Obligatoire permet de définir si le champ peut être vide, ou s'il doit impérativement contenir valeur non vide. Par champ vide, on entend la chaîne de longueur vide, une valeur numérique nulle, une valeur de menu local égale à zéro (pas de choix effectué) ou la date vide [0/0/0]. Lorsque le champ est une clé d'une table, si le contrôle d'annulation est positionné à la valeur RAZ, le lien ne peut pas être obligatoire (puisque l'annulation peut effacer la valeur du champ clé) : le champ Obligatoire est alors automatiquement positionné à Non. |
||||||||||||||||||
RAZ (champ ZERO) | ||||||||||||||||||
Onglet Index
Cet onglet permet de définir les différents index définis sur la table.
Les champs suivants sont présents dans cet onglet:
Tableau Index
No (champ NUMLIG) |
Code index (champ CODIND) |
Ce champ correspond au nom sous lequel l'index est connu dans la base de données. Une norme est utilisée dans toutes les tables de l'applicatif : elle consiste à nommer les clés en utilisant l'abréviation de la table, suivi de 0 pour la clé principale, de 1 pour la deuxième clé, etc.…Pour le spécifique, faites commencer ce code par l'une des trois lettres : X,Y ou Z. |
Descripteur index (champ DESCRIPT) |
On saisit ici la liste des champs composant l'index, séparé par un '+' s'il y a plusieurs champs (par exemple, dans la table des sites FACILITY, on trouve une clé dont la définition est LEGCPY+FCY). Un champ trié en descendant est précédé du signe "-" (attention, si utilisé en liste gauche). Le premier champ composant un index est sans signe et est forcément ascendant. |
Homonymes (champ HOMONYM) |
Cette colonne permet de définir si la clé admet ou pas des homonymes. |
Index cluster par défaut (champ DEFORDIND) |
Utilisez cette colonne pour indiquer un index cluster par défaut, fourni par Sage. Si vous sélectionnez Non, aucun index cluster par défaut n'est défini. Si vous sélectionnez Oui, l'index cluster indiqué est utilisé. Pour modifier l'index cluster, définissez un Index cluster spécifique ou sélectionnez la case à cocher Index cluster désactivé pour ne pas utiliser d'index. Cette valeur peut être modifiée par un patch. Ce paramètre par défaut ne s'applique pas si vous avez déjà configuré un index cluster en local dans le fichier de configuration ou dans le champ Index cluster spécifique. |
Index cluster spécifique (champ ORDIND) |
Sélectionnez Oui pour définir cet index comme index cluster. Vous pouvez uniquement sélectionner un index par table. Un index cluster est un type d'index dans lequel les enregistrements de la table sont ordonnés pour correspondre à l'index. Ce paramétrage est spécifique et ne peut pas être modifié par un patch. |
Activité (champ CODACT) |
Si cette zone n'est pas renseignée, l'index sera toujours présent. Si cette zone correspond à code activité non actif, l'index ne sera pas généré. Il est possible d'ajouter une clé spécifique par un code activité commençant par X, Y ou Z. |
Bloc numéro 2
Index cluster désactivé (champ ORDINDSTA) |
Utilisez cette colonne pour désactiver les index cluster associés à la table. L'index éventuel livré par Sage dans la colonne Index cluster par défaut est désactivé, et ce même si vous n'avez pas défini d'index cluster dans la colonne réservée à ce paramétrage. Sélectionnez cette case à cocher pour désactiver l'index cluster. |
Fichier de configuration
champ FICCFG |
On peut saisir dans ce bloc un texte décrivant la configuration technique de table dans la base de données. Ce texte est enregistré dans un fichier "nom de table.cfg" dans le répertoire FIL de l'application. Ce fichier est utilisé par l'instruction "valfil". On consultera l'annexe technique dédiée pour plus d'informations. |
Onglet Audit
Cet onglet permet de créer le paramétrage permettant ensuite de tracer, par des triggers de base de données générés automatiquement, les insertions, suppressions, et modifications faites sur une table, en stockant si nécessaire des valeurs avant et après sur des champs particuliers. La modification d'enregistrement est tracée à la condition que l'une des conditions sur champs soit vérifiée. Cette trace est stockée dans deux tables particulières (AUDITH et AUDITL). Elle peut simplement être consultée, ou donner lieu à des notifications automatisées par l'intermédiaire du Workflow.
Le principe de base est le suivant :
- Dès lors qu'au moins un indicateur d'audit (création, modification, suppression) est coché, chaque opération de ce type crée une ligne dans la table AUDITH, ce indépendamment du fait que des champs soient tracés et que des modifications les concernant aient été faites.
- A partir du moment où des champs sont listés dans le tableau des champs, toute modification qui modifie la valeur du champ et respecte la condition donnée provoquera la création d'une ligne dans AUDITL.
La technique des « triggers » permet de tracer les opérations même si elles sont effectuées par un programme autre qu’adonix. Les informations de cet onglet sont prises en compte par la re-validation de la table : les triggers sont automatiquement créés et / ou modifiés à ce moment-là.
Le traitement SUBTRIGGER contient la description des triggers en fonction de la base de données. Le traitement SPETRIGGER est réservé au spécifique afin de pouvoir éventuellement personnaliser leur description.
Les informations de cet onglet sont considérées comme du paramétrage. Le standard ne livre aucun paramétrage d'audit. Il n'est pas nécessaire de protéger par code activité X, Y ou Z toute modification faite dans cet onglet.
L’audit est globalement conditionné par le code activité AUDIT.
Ne peuvent être auditées :
- les tables d'audit elles-même
- les champs de types clob et blob
- les champs dont le type de données est AXX
Les résultats de l'audit peuvent être consultés par les fonctions suivantes :
Les champs suivants sont présents dans cet onglet:
Type d'audit
Création (champ AUDCRE) |
Ces trois cases à cocher permettent de définir les opérations à tracer sur les enregistrements de la table :
Remarque : |
Modification (champ AUDUPD) |
Suppression (champ AUDDEL) |
Fonctions
Workflow (champ AUDWRK) |
permet une notification automatisée par workflow. Une tache batch de workflow déclenche un événement workflow pour chaque ligne de la table AUDITH dont le statut workflow est « a traiter », puis met à jour le statut par « traité ». |
Audit BI (champ AUDBI) |
Il permet la synchro incrémentale des tables de faits BI. Il n'est présent que si le code activité ABI est actif. Mis à jour par la génération du dataware en fonction du type de mise à jour prévue pour les tables de faits. Dans les règles de synchro BI, si une table de fait est mise à jour en synchro incrémentale à partir d'une table X3, cette table est flaguée "AUDIT BI". |
Audit S-Data (champ AUDSDA) |
Clé de suivi
Clé (champ AUDCLE) |
On précise l'une des clés de la table. Il est préférable qu'elle soit sans homonyme, pour des facilités d'identification d'enregistrement à la lecture de l'audit. Si ce champ n'est pas renseigné, la clé primaire est prise en compte. |
Clé S-Data (champ ASDCLE) |
Tableau Champs audités
Champ (champ FLD) |
Liste des champs à auditer. On ne renseigne pas ce tableau, si l'on souhaite tracer uniquement les opérations sur enregistrement, sans tracer le contenu des champs. On aura une trace pour un enregistrement modifié, si au moins une des conditions sur champs est vérifiée par les nouvelles valeurs de champ; alors qu'en création ou suppression d'enregistrement, on aura systématiquement une trace. |
Intitulé (champ FLDDES) |
Opérateur (champ FLDOPE) |
Valeur (champ FLDVAL) |
Tous les champs |
Sur l'onglet Audit, permet d'alimenter le tableau par tous les champs de la tables. |
Limites à respecter
Des limites existent lorsqu'on crée une table. Les limites sont les suivantes :
concernant la clé :
- limitée à 15 index maximum
- limitée à 16 champs maximum par index
- limitée à 250 caractères maximum par index
concernant l'enregistrement :
- limité à 32 Ko sous Oracle et SQL Server
- limité à 255 champs par tables
- limité à 512 colonnes ( champ1*dimension1 + champ2*dimension2 + ... + champN*dimensionN )
- limité soit à un champ de type blob ou clob quelle que soit sa taille, soit à plusieurs champs, mais dans ce cas, la taille totale de la table est limitée à 64 Ko
nombre de tables ouvertes :
- limité à 255 tables
Etats
Par défaut, les états suivants sont associés à la fonction:
Mais ceci peut être modifié par paramétrage.
Boutons spécifiques
Validation |
Cette fonction permet de créer ou de mettre à jour la table dans la base de données à partir du dictionnaire. Si la table n’existait pas, elle est créée vierge de données. Si elle existait, la structure de la table est remise à jour conformément à la nouvelle description donnée dans le dictionnaire (les champs nouveaux sont ajoutés, les champs supprimés sont enlevés, les champs dont la structure ou la dimension change sont recopiés : les enregistrements sont bien entendu conservés dans la table). On a une possibilité de validation forcée : c’est revalidation complète des données et des index. Si cette option n’est pas spécifiée et si la structure de la table n’a pas changé, seul les indexes seront recréés. On peut au passage en profiter pour donner des valeurs par défaut à des champs de la table pour les enregistrements déjà existants : ceci se fait grâce au bouton Traitement dont le fonctionnement est expliqué ci dessous. |
Traitement |
Permet de créer un traitement temporaire, de nom WWINIXXX, où XXX est l'abréviation de la table, qui sera exécuté juste après la validation de la table (si elle existe déjà), afin de permettre de donner des valeurs par défaut à des champs des enregistrements existants. Un traitement par défaut est proposé lorsqu'on utilise ce bouton, et il est alors possible d'y ajouter des instructions. Ce traitement est composé de 3 étiquettes qui sont :
Ainsi, par exemple, si on ajoute une zone numérique MAZONE dans la table, zone dont on voudrait qu'elle ait la même valeur qu'un champ AUTZONE existant déjà dans la table, augmenté de 1, on insèrerait tout simplement dans le traitement la ligne : MAZONE = AUTZONE + 1 Attention !
|
Copie |
Ce bouton permet de recopier la structure de la table vers un autre dossier. Attention, seule la description de la table dans le dictionnaire est recopiée : la table n'est pas créée dans le dossier destinataire (il faudra valider cette description pour que la table soit créée. A fortiori, les données de la table ne sont pas non plus recopiée. Attention, le champ NBENREG 'nombre de fiches' ainsi que tous les champs de l'onglet 'audit' ne sont pas copiés. |
Raz | Cette fonction permet de supprimer les données d'une table. Pour des besoins de rapidité, la table est suprimée puis recrée à vide. Une confirmation est demandée, cette opération étant irréversible. |
Supprimer |
Il est à remarquer que ce bouton permet à la fois de supprimer la fiche du dictionnaire (c'est le comportement normal de ce type de bouton), mais également de supprimer physiquement la table de la base (c'est l'équivalent d'un Drop Table). Les deux questions sont posées successivement (car on peut très bien ne vouloir qu'annuler la table sans effacer les données du dictionnaire). |
Barre de menu
Options / Informations |
Cette fonction permet d'afficher, dans une boîte d'information:
|
Options / Source |
Cela permet de visualiser le fichier *.srf correspondant à la table courante dans l'application courante. Cette option est notamment intéressante lorsqu'on est sur un serveur sur lequel on n'a pas les droits sur le répertoire FIL. |
Options / Maintenance |
Cette option de menu permet de passer directement en maintenance sur la table. |
Documentation / Paragraphes |
Cette fonction permet d'accéder à la gestion de la documentation, sur le premier paragraphe de la documentation (si elle existe) associé à la fiche courante. |
Documentation / Liens |
Cette fonction permet d'accéder à la gestion des liens. Elle permet de définir des liens entre la fiche courante et d'autres fiches (par exemple des liens entre fonctions et paramètres). Ces liens, purement documentaires, permettent d'alimenter la mécanique de génération des squelettes de documentation. |
Documentation / Génération |
Ce menu permet de lancer une génération de documentation. La génération peut se lancer également à partir du bouton [Génération] dans le bas de la fenêtre. Trois types de génération peuvent être lancées, séparément ou simultanément:
Les bornes proposées par défaut tiennent compte de la fiche en cours, mais elles peuvent être modifiées au lancement. |
Messages d'erreur
Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie:
La table ne comporte aucune zone |
On a créé une table sans définir au moins une zone. |
La table ne comporte pas de clé primaire |
Un index au minimum est nécessaire sur chaque table. |
Le champ intitulé n'est pas référencé |
Le champ intitulé saisi dans le premier onglet n'existe pas dans la liste des champs du deuxième onglet. |
Abréviation déjà existante |
Il doit y avoir unicité des abréviations dans le dossier. Ce message est affiché si on tente de créer une table avec une abréviation utilisée par une autre table. message d'avertissment, lorsqu'on tente de saisir une abréviation sur une table qui est déjà existante pour une vue. Il est effectivement recommandé d'avoir des abréviations uniques. |
Caractère interdit |
On a tenté d'utiliser le caractère '"' dans un intitulé (ce caractère est interdit) |
Le champ intitulé n'est pas référencé |
On a indiqué dans l'un des champs intitulé de l'onglet général un champ non défini dans l'onglet des champs. |
Numéro de menu local incorrect |
la longueur est incorrecte en fonction du type interne du champ.
|
Longueur incorrecte |
La zone longueur a une valeur incorrecte (trop grande, ou nulle, par exemple). |
Option incorrecte |
On a tenté de saisir une option qui n'existe pas dans la colonne Option associée à une zone de la table. |
Expression de lien incorrecte |
L'expression de lien est syntaxiquement incorrecte. |
Index déjà saisi |
On a essayé de définir deux fois le même index sur une table. |
Zone inexistante |
On référence dans un index une zone qui n'existe pas dans la liste des champs. |
Zone dimensionnée |
On a essayé d'utiliser une zone dimensionnée dans un index (ce qui est interdit). |
Nombre de colonnes trop grand |
On est limité à 512 colonnes en tenant compte de la dimension des champs. |
Nombre de zones trop grand |
On est limité à 255 colonnes. Ici, les dimensions ne comptent pas. |
Longueur de ligne trop grande |
Il s'agit de la taille de l'enregistrement. Sous SQL, la limite est de 8060 octets. Sous Oracle, il n'y a pas de limite, mais sous Adonix la limite est de 32 K. |
Clé trop longue |
La taille d'un index ne peut pas excéder 256 caractères. |
Trop de composantes de clé |
On est limité à 16 champs par clé. |
Pas de textes traduisibles dans cette table |
On essaie de cocher la case "Génération texte traduisible" alors que la table principale gérée par l'objet ne contient pas de champ de type AXX, AX1, AX2 ou AX3. |
Attention, cette modification nécessite une modification dans les états Crystal liés à cette table |
Message d'avertissement. La modification de la case à cocher "Génération texte traduisible" détermine la méthode choisie pour l'édition des textes traduits dans les états Crystal report utilisant cette table. En modifiant cette case, on précise donc qu'on change de méthode, et il est impératif de modifier les états associés à cette table. Il est donc recommandé de ne pas modifier ce champ. |
Autres erreurs susceptibles d'arriver |
Lors de la revalidation de la table (par l'outil valfil), d'autres erreurs sont susceptibles de survenir. Ces erreurs sont visualisées sous la forme d'un fichier de trace. Parmi les erreurs susceptibles d'arriver, on trouvera les erreurs suivantes:
|
Tables mises en oeuvre
Reportez-vous à la documentation de Mise en oeuvre