Classes
Une classe est la description d'une structure de données qui gère une entité (par exemple : un client, une écriture comptable générale, un produit, une commande de vente, etc.).
La fonction Classes permet la création et la modification du dictionnaire des classes. Une classe doit être validée pour pouvoir être utilisée dans le code ou dans une représentation. Si une classe n’est pas valide, il y aura une erreur à l’exécution.
Pré-requis
Reportez-vous à la documentation de Mise en oeuvre
Gestion de l'écran
En-tête
Code classe (champ CODCLA) |
Identifiant unique de la classe. |
Intitulé (champ ZINTCLA) |
Description de la classe. |
Onglet Général
Cet onglet décrit les informations principales de la classe.
Cet onglet contient les tableaux suivants :
Tableau Collections
Le tableau Collections décrit toutes les collections gérées dans la classe. Le code de collection est attribué, dans l'onglet Propriétés, à :
- Des propriétés simples qui décrivent un tableau de propriétés. Cela va donner lieu à la création d’une classe enfant contenant l’ensemble des propriétés. L’instance de cette classe aura pour nom le code collection.
- Une instance d'une classe enfant qui décrit un tableau de classes enfants.
Tableau Scripts
Le tableau Scripts liste les scripts dans lesquels les étiquettes $METHODS et $PROPERTIES sont disponibles pour les développeurs partenaires qui souhaitent ajouter leur propre code associé à des événements de superviseur (en particulier pour la gestion des opérations Création, Lecture, Mise à jour, Suppression, ou opérations CRUD, soit Create, Read, Update and Delete).
Mode de gestion
Type (champ TYPCLA) |
Le type définit les conditions d'utilisation de la classe et son comportement. Persistante
Interface
Basique
Technique
Système
|
Table - Vue (champ WTABREF) |
Ce champ est alimenté uniquement pour une classe de type Persistante. Il définit la table principale dans laquelle les opérations CRUD fonctionnent. Les autres tables sont définies dans l'onglet Mapping. |
Index (champ WINDREF) |
Clés (champ KEYINT) |
Pour les classes des autres types, ce champ n'est pas renseigné. |
champ WB |
Gestion transaction (champ FLGTR) |
Bloc numéro 1
Code activité (champ CODACT) |
Code utilisé pour protéger les classes spécifiques pendant le processus de patch standard si le code commence par les lettres X, Y ou Z, ou pour rendre les classes optionnelles. Il se comporte comme tous les codes activités définis dans les dictionnaires. Si ce code est vide ou si le code activité est actif, la structure est générée. |
Module (champ MODULE) |
Sélectionnez le module technique auquel la représentation est associée. |
En cache (champ FLGBUFFER) |
Si cette case est cochée, la classe décrit une classe cachée. |
Recherchable (champ FLGSEARCH) |
Si cette case est cochée, les données alimentent les index des moteurs de recherche pour les propriétés cochées 'Recherchable'. Vous ne pouvez cocher cette case que pour les classes de type Persistante. |
Tableau Collections
Code (champ CODCOL) |
Code de collection unique de la classe. |
Libellé (champ INTITCOL) |
Saisissez le libellé de la collection. |
Nb mini (champ MINCOL) |
Ce champ définit comment l'ensemble des propriétés est stocké en mémoire. Ce nombre peut être 0, 1 ou Maximum. |
Act (champ ACTCOL) |
Renseignez un code activité de dimensionnement. Il permet de définir la taille maximale de la collection sur la base de la valeur du code d'activité. Ce code n'est pas obligatoire. |
Nb max (champ MAXCOL) |
Saisissez la taille maximale de la collection. Vous pouvez renseigner ce champ uniquement s'il n'y a pas code activité sur la collection. Ce champ n'est pas obligatoire. Si vous laissez ce champ vide, la taille de la collection augmente automatiquement sans limite lorsque de nouvelles lignes sont créées. |
Compteur (champ PROCOL) |
Ce champ fait référence à la propriété de la classe qui stocke le nombre de lignes créées dans la collection. |
Insertion (champ FLGINSCOL) |
Si ce champ est coché (Insertion=oui), des lignes peuvent être insérées dans la collection. Cette valeur est reportée par défaut sur la représentation basée sur la classe, mais vous avez la possibilité de changer cette valeur (Insertion = non) sur la représentation. La méthode correspondante est appelée ADDLINE. |
Suppression (champ FLGSUPCOL) |
Si ce champ est coché (Suppression=oui), des lignes peuvent être supprimées dans la collection. Cette valeur est reportée par défaut sur la représentation basée sur la classe, mais vous avez la possibilité de changer cette valeur (Suppression= non) sur la représentation. La méthode correspondante est appelée ADDELLINE. |
Tri (champ FLGTRICOL) |
Si ce champ est coché (Tri=oui), les lignes de la collection peuvent être triées. Cette valeur est reportée par défaut sur la représentation basée sur la classe, mais vous avez la possibilité de changer cette valeur (Tri= non) sur la représentation. La méthode correspondante est appelée ASORT. |
Ajout (champ FLGAPDCOL) |
Si ce champ est coché (Ajout=oui), des lignes peuvent être ajoutées dans la collection. Cette valeur est reportée par défaut sur la représentation basée sur la classe, mais vous avez la possibilité de changer cette valeur (Ajout= non) sur la représentation. La méthode correspondante est appelée AINSERT. |
Tableau Scripts
Type (champ TYPTRT) |
Sélectionnez un type de code. Standard
Vertical
Spécifique
|
Scripts (champ CODTRT) |
Nom du script. Les conventions de nommage indiquent d'utiliser cette dénomination : classe_Cyyyy, où :
|
Ordre d'exécution (champ RANTRT) |
Saisissez l'ordre dans lequel les étiquettes $METHODS et $PROPERTIES sont appelées dans l'évènement. |
Code activité (champ ACTTRT) |
Code utilisé pour protéger le script pendant le processus de patch standard si le code commence par les lettres X, Y ou Z, ou pour activer et désactiver l'appel du script. |
Editeur de traitements |
Onglet Méthodes
Cet onglet définit les méthodes supplémentaires et les opérations disponibles sur la classe. La différence entre une opération et une méthode est la suivante :
Opération
Une opération peut être exécutée dans n'importe quel contexte et a besoin de valeurs de clés pour construire le contexte dans laquelle elle fonctionne. Une opération peut être appelée par un lien dans l'interface de n'importe quelle page lorsque les valeurs de clés sont fournies.
Méthode
Une méthode ne fonctionne que si un contexte existe (l'instance de la classe est renseignée).
Cet onglet contient les tableaux suivants :
Tableau Méthodes
Le tableau Méthodes liste les méthodes et opérations et leurs informations correspondantes.
Tableau Clés
Le tableau Clés liste les paramètres de segments de clés, associés à l'opération du tableau précédent.
Tableau Paramètres
Le tableau Paramètres liste les paramètres associés à la méthode et à l'opération du tableau précédent et leurs informations correspondantes.
Tableau Méthodes
Code (champ CODMET) |
Ce code identifie le nom de la méthode ou de l'opération qui peuvent être appelées sur l'entité. Pendant le temps d'exécution, la variable ACTION contient ce code lorsque l'évènement correspondant est exécuté dans l'étiquette $METHODS (dans les fichiers sources de la classe associée) pour CURPTH = » ». |
Libellé (champ INTITMET) |
Description de la classe. |
Type retour (champ DONMET) |
Sélectionnez le type de données de la valeur renvoyée par la méthode lorsqu'elle est appelée par Fmet. C'est le type de la variable ARET_VALUE disponible dans l'événement associé à la méthode. |
Code activité (champ ACTMET) |
Code utilisé pour protéger la méthode pendant le processus de patch standard si le code commence par les lettres X, Y ou Z, ou pour activer et désactiver la méthode dans la classe. |
Opération (champ FLGOPE) |
Si cette case est cochée, la ligne fait référence à une opération. Si elle n'est pas cochée, elle fait référence à une méthode. |
Index (champ INDOPE) |
Saisissez ce champ uniquement pour les opérations. Ce champ identifie l'index qui identifie la clé passée lors d'une opération de "Lecture" pour renseigner une instance. Il définit la liste des segments de clés demandés lorsqu'un lien déclanchant cette opération est mis en oeuvre dans une représentation. |
Tableau Clés
Code (champ CODCLEOPE) |
Nom du segment de clé. |
Type (champ TYPCLEOPE) |
C'est le type de données du segment de clé. Il fait référence à une liste de mots-clés utilisés pour la déclaration de la variable. Tous les types de données ne sont pas disponibles car ils doivent être reconnus dans la base de données des segments de clé. |
Libellé (champ INTITCLEOP) |
Description du segment de clé. |
Tableau Paramètres
Code (champ CODPARMET) |
Sélectionnez le nom de la variable contenant la valeur du paramètre, comme dans le code appelé par l'évènement $METHODS. |
Type (champ TYPPARMET) |
Type de données du paramètre envoyé à la méthode. Il fait référence au mot-clé utilisé pour la déclaration de la variable. |
Libellé (champ INTITPARME) |
Saisissez le libellé de la variable. |
Mode (champ MODPARMET) |
Sélectionnez le mode qui définit comment le paramètre est transmis dans l'appel. Par Adresse
Par Valeur
Constante
|
Dim (champ DIMPARMET) |
Définit si le paramètre envoyé est un tableau et quelle est la première valeur de l'index. No
From 1
From 0
|
Classe (champ CLAPARMET) |
Renseignez la classe du paramètre lorsque le champ Type a pour valeur 'Instance'. |
Onglet Méthodes standard
Cet onglet décrit la disponibilité de la méthode standard CRUD ainsi que les autres méthodes prises en charge par la couche superviseur de la classe.
Tableau
Code (champ CODMETSTD) |
Initiale de la méthode (par exemple "C" pour la méthode "Création"). Ce code est à usage interne uniquement. |
Libellé (champ INTITMETST) |
Nom complet de la méthode (par exemple "Création"). |
Code activité (champ ACTMETSTD) |
Assigner un code activité permet de désactiver la méthode. Au moment de l'exécution, si le code n'est pas actif, la méthode n'est pas disponible, même si le champ suivant est coché (a pour valeur 'OUI'). |
O/N (champ ENAMETSTD) |
Si ce champ est coché (a pour valeur 'OUI'), la méthode n'est pas disponible et le code n'est pas généré dans la classe. |
Onglet Propriétés
Cet onglet contient les tableaux suivants :
Tableau Propriétés
Le tableau Propriétés liste les propriétés de la classe.
Tableau Clés
Le tableau Clés liste les segments de clé correspondant à la ligne sélectionnée dans le tableau Propriétés (si le type de propriétés est lié à une table (technologie de la version 6) ou à une classe persistante).
Tableau Paramètres
Le tableau Paramètres liste les paramètres d'une propriété, selon la ligne sélectionnée dans le tableau Propriétés, si les règles de la propriété exigent des paramètres complémentaires. Vous devrez alors entrer une valeur pour appeler la règle avec les bons paramètres, selon le contexte.
Tableau Propriétés
Propriété (champ FLDCLA) |
Nom de la propriété. Ce nom est utilisé dans le script de Sage X3. Si la classe est une classe persistante, il est recommandé de donner aux propriétés le même nom que les colonnes des tables de la base de données utilisées pour le stockage des données. Sinon, le support de l'opération CRUD aura besoin d'un code supplémentaire afin d'assigner des propriétés de classe avec des données provenant du pointeur de la base de données. |
Ordre (champ NUMFLD) |
Les méthodes d'init et de contrôle de la structure sont fait dans l'ordre chronologique de ce champ. |
Libellé (champ ZINTFLD) |
Description de la propriété. Cette description peut être utilisée lors de la conception de l'interface utilisateur à travers des représentations. |
Libellé court (champ ZINTSHTFLD) |
Type (champ CODTYP) |
Indiquer le type de données de la zone. En fonction du type de données choisi, des renseignements complémentaires peuvent être demandés :
Si ce champ est vide, la propriété doit être référencée sur l'instance de la classe enfant. |
Menu (champ NOLIB) |
Renseignez le numéro du menu local si le type de données dans le champ précédent est M (pour "Menu local"). Les numéros définissent toutes les valeurs disponibles pour la propriété (par exemple, le numéro 1 correspond au menu local Non/Oui). |
Long (champ LONG) |
Permet d'indiquer la longueur du champ, si elle n'est pas indiquée sur le type de données et si le type de données le permet (absence de format, menu local, etc.). La longueur du champ peut être exprimée en nombre de caractères (pour des valeurs de type chaîne), ou en nombre de chiffres selon ce format : N.M, où 'N' est le nombre de chiffres avant la décimale et 'M' est le nombre de décimales. |
Act (champ ACTFLD) |
Si cette zone n'est pas renseignée, la zone sera toujours présente. Si cette zone correspond à un code activité non actif, la zone ne sera pas générée. Les codes activités commençant par X, Y, ou Z correspondent à des champs spécifiques qui ne sont pas touchés en mise à jour de dossier. Code utilisé pour protéger une propriété spécifique dans des classes standards pendant le processus de patch standard si le code commence par les lettres X, Y ou Z. Sinon, le code activité est celui donné lors de la configuration du dossier Sage X3. Il se comporte comme tous les codes activités définis dans les dictionnaires. |
Classe (champ LNKCLA) |
Nom de la classe associée à la propriété si la propriété est une instance de classe. Vous pouvez saisir le nom uniquement si le champ Type n'a pas de valeur, et dans ce cas le nom de la classe est obligatoire. |
Collection (champ FLDGRP) |
Renseignez le code de la collection si la propriété n'est pas unique. Ce code fait référence à une des collections définies dans la première section du dictionnaire des classes. Cela peut être soit un tableau de références enfants (table principale/structures de ligne) soit un tableau non normalisé stocké dans plusieurs colonnes d'une base de données. |
Table du lob (champ LOBTAB) |
Lorsque le type de données est CLOB ou BLOB et est géré par le superviseur, ces champs Table du lob et Champ lob décrivent dans quelle table et dans quelle colonne l'élément support est stocké. Selon la table utilisée, le tableau Clés est alimenté afin que le lien s'établisse en donnant la valeur de la clé. Lorsque le type de données n'est pas géré par le superviseur, le lien est fait par un programme, et vous ne pouvez pas saisir de valeur dans ces deux champs. |
Champ lob (champ LOBFLD) |
Content type (champ LOBCNT) |
Lorsque le type de données est CLOB ou BLOB et est géré par le superviseur, sélectionnez le type de contenu associé au type de données. |
Oblig (champ OBLIG) |
Lorsque ce champ a pour valeur 'Oui', un contrôle "Zone obligatoire" est déclenché dans la méthode de contrôle du champ. Si ce champ a pour valeur 'Oui', une instance de classe peut être valide uniquement si la propriété n'est pas vide. |
Table de contrôle (champ CODCTL) |
La table de contrôle permet d'effectuer un contrôle supplémentaire de la cohérence, défini par une simple configuration. |
Dépendance (champ TABCONT) |
Saisissez la propriété utilisée lorsque la table de contrôle dépend d'une autre table. |
Code d'accès (champ ACS) |
Code d'accès pour contrôler l'accès à la propriété pour un utilisateur basé sur une configuration. |
Recherchable (champ FLDSEARCH) |
Cette case est cochée si la case Recherchable de cette fonction est cochée, marquant la classe pour l'indexation. Décocher la case Recherchable ne signifie pas que l'information est désactivée sur chaque ligne. Cela permet juste de désactiver temporairement une indexation sans perdre le détail des champs qui seront indexés. |
Catégorie (champ CATSEARCH) |
Une catégorie agit comme un filtre de résultats lors de la recherche. Par exemple, vous crééz la catégorie SALESREP et vous l'assignez au champ Réprésentant des ventes dans une fiche client. Ce champ peut être également disponible dans une commande de vente ou sur une facture. Si vous cherchez ensuite le nom DUPONT et que DUPONT est présent sur 20 fiches clients, 45 commandes de ventes et 35 factures, vous pouvez restreindre la recherche à la catégorie SALESREP. Cette catégorie est définie dans la table diverse n°16. |
Accesseur GET (champ FLGACCGET) |
Si cette case est cochée, un code d'appel 'Accesseur GET' est généré sur la propriété. Vous pouvez cocher ou décocher cette case dans le dictionnaire, même dans une classe standard spécifique. Si la case est cochée, elle ne sera pas décochée lors d'un patch. Cochez cette case seulement si nécessaire. En effet, appeler des accesseurs GET sur toutes les propriétés peut réduire l'efficacité de l'exécution. |
Tableau Clés
Code (champ CODCLE) |
Nom de la colonne de chaque segment de clé. Vous ne pouvez pas le modifier. |
Libellé (champ INTCLE) |
Libellé de chaque segment de clé. Vous ne pouvez pas le modifier. |
Type (champ TYPCLE) |
Type de données du segment de clé. Vous ne pouvez pas le modifier. |
Valeur (champ VALCLE) |
Formule de la valeur du segment de clé. Seul un sous-ensemble du langage de script de Sage X3 peut être utilisé pour fournir les valeurs des clés ou des paramètres, car ces valeurs doivent être évaluées par le client.
|
Tableau Paramètres
Code (champ CODPAR) |
Code de chaque paramètre, affiché automatiquement. Vous ne pouvez pas le modifier. |
Libellé (champ INTITPAR) |
Description de chaque paramètre, affichée automatiquement. Vous ne pouvez pas la modifier. |
Type (champ TYPINTPAR) |
Type de données de chaque segment de clé, affiché automatiquement. Vous ne pouvez pas le modifier. |
Mode (champ ADRVAL) |
Le mode définit comment le paramètre est transmis dans l'appel. Vous ne pouvez pas le modifier. Par adresse
Par valeur
Constante
|
Valeur (champ VALEUR) |
Formule qui fournit la valeur d'un paramètre. Il existe quelques limitations sur le type de formule car la valeur doit être évaluée dans le contexte du client. |
Sélection colonnes |
Onglet Mapping
Cet onglet définit comment les opérations CRUD, si elles existent, sont liées aux tables de la base de données pour les instances principales de la classe et pour les instances des classes enfants. Vous pouvez entrer des informations uniquement pour les classes de type "Persistante".
Table principale
Table (champ TABREF) |
Identifie la table principale à partir de laquelle on lit d'autres tables par des liens directs ou en cascade. Ce champ est alimenté automatiquement selon la table principle définie dans l'onglet Général de cette fonction. |
Index (champ INDREF) |
Ces champs Index et Description sont alimentés automatiquement selon l'index et la description définis dans l'onglet Général de cette fonction. |
champ AFFIND |
champ WA |
Lecture (champ FLGRREF) |
Si cette case est cochée, le programme généré associé à la classe gère l'opération "Lecture". Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AREAD. |
Création (champ FLGCREF) |
Si cette case est cochée, le programme généré associé à la classe gère l'opération "Création". Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AINSERT. |
Modification (champ FLGUREF) |
Si cette case est cochée, le programme généré associé à la classe gère l'opération "Modification". Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AUPDATE. |
Suppression (champ FLGDREF) |
Si cette case est cochée, le programme généré associé à la classe gère l'opération "Suppression". Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant ADELETE. |
Filtre (champ FLTREF) |
Ce champ permet d'utiliser une formule pour filtrer les informations. La formule ne peut inclure que des colonnes de la table principale associée à la classe. |
Tableau Jointures des tables
Référence (champ REFLNK) |
Référence de la propriété de la classe enfant. |
Classe (champ CLALNK) |
Code de la classe associé à la Référence de la propriété. Ce champ est alimenté automatiquement et vous ne pouvez pas le modifier. |
Table destination (champ TABLNK) |
Table dans laquelle la classe référencée est persistée. |
Abrev (champ ABRLNK) |
Correspond à l'abréviation sous laquelle la table liée est ouverte. Si ce champ n'est pas saisi, l'abrévation est l'abréviation par défaut de la table. Il peut être utile de saisir une abréviation pour ne pas rentrer en conflit avec le contexte appelant. |
Table origine (champ TABORI) |
Identifie la table principale à l'origine du lien décrit dans la ligne courante. Ce peut être la table principale, ou une des tables liées des lignes précédentes. |
Abrev (champ ABRORI) |
Correspond à l'abréviation sous laquelle la table liée est ouverte. Si ce champ n'est pas saisi, l'abrévation est l'abréviation par défaut de la table. Il peut être utile de saisir une abréviation pour ne pas rentrer en conflit avec le contexte appelant. |
Type de lien (champ TYPLNK) |
Pour chaque ligne, il peut y avoir de 0 à N lignes (dans le cas 1,1 ou 1,N, il existe au moins une ligne). |
Index principal (champ CLELNK) |
Définit le code de la clé de la table utilisée pour réaliser la lecture des lignes liées. Par défaut, la première clé de la table est utilisée. Une fois ce champ alimenté, le tableau suivant Mapping clés - propriétés est alimenté suivant le code des différents segments de clé. |
Index de tri (champ CLESORT) |
Ce champ définit l'ordre initial des lignes lorsqu'une opération "Lecture" est effectuée sur une instance de classe. Si ce champ n'est pas rempli, c'est l'index principal qui est utilisé. |
Expression de jointure (champ EXPLNK) |
Ce champ est défini comme une ou plusieurs expressions calculées et séparées par un point-virgule. Chaque expression est évaluée, et le résultat permet de connaître la valeur de la clé utilisée pour réaliser la jointure. Lorsque les jointures multiples sont autorisées, vous ne pouvez donner que les premiers segments de clé. Dans les expressions, vous pouvez utiliser des constantes, et des champs issus des tables précédemment définies dans la liste des liens. |
Expression de sélection (champ EXPSEL) |
Cette formule de sélection s'applique sur la table définie dans la colonne Table liée, et permet de filtrer les données dans le modèle. Attention, ces conditions ne s'appliquent pas pour le processus d'indexation. La syntaxe est la syntaxe de script de Sage X3 utilisée dans les instructions Filter. |
Code activité (champ ACVLNK) |
Code activité utilisé pour protéger les lignes du tableau modifiées ou spécifiques, ou pour désactiver certaines lignes si le code activité associé a pour valeur 'Inactif'. |
Gestion par classe (champ FLGA) |
Si cette case est cochée, la couche superviseur met en œuvre l'opération CRUD en appelant la méthode mise en œuvre dans la classe définie sur la ligne. Si cette case n'est pas cochée, l'opération CRUD est intégrée dans le code de la classe principale lorsque les cases correspondantes sont sélectionnées. |
Gestion Sup / Ins (champ FLGV) |
Si cette case est cochée, toute mise à jour au niveau des lignes s'effectue en supprimant ou en insérant toutes les lignes plutôt que les lignes modifiées uniquement. Si cette case est cochée, les performances peuvent être réduites, mais il peut être nécessaire de la cocher si la clé des lignes change à chaque fois que les lignes sont mises à jour ou insérées (par exemple, si le numéro de la ligne est réaffecté). |
Lecture (champ FLGR) |
Si cette case est cochée, le programme généré associé à la classe principale gère l'opération de "Lecture". Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AREAD. Cette case n'est saisissable que si la case Gestion par classe est décochée. |
Création (champ FLGC) |
Si cette case est cochée, le programme généré associé à la classe principale gère l'opération de "Création" sur la classe enfant correspondante. Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AINSERT. Cette case n'est saisissable que si la case Gestion par classe est décochée. |
Modification (champ FLGU) |
Si cette case est cochée, le programme généré associé à la classe principale gère l'opération de "Mise à jour" sur la classe enfant correspondante. Si cette case n'est pas cochée, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant AUPDATE. Cette case n'est saisissable que si la case Gestion par classe est décochée. |
Suppression (champ FLGD) |
Si cette case est cochée, le programme généré associé à la classe principale gère l'opération de "Suppression" sur la classe enfant correspondante. Si cette case n'est pas coché, le développeur partenaire doit écrire le code pour lire les données de la table principale dans l'évènement correspondant ADELETE. Cette case n'est saisissable que si la case Gestion par classe est décochée. |
Tableau Mapping clés - propriétés
Classe (champ CLAORIMAP) |
Affiche la classe enfant. Vous ne pouvez pas la modifier. |
Propriété clé (champ KEYMAP) |
Affiche la propriété de la classe associée à un segment de clé. Vous ne pouvez pas la modifier. |
Type (champ TYPMAP) |
Affiche le type de données correspondant à la propriété. Vous ne pouvez pas le modifier. |
Classe parente (champ CLAMAP) |
Affiche la classe parente, c'est-à-dire la classe depuis laquelle le lien est établi. Vous ne pouvez pas la modifier. |
Propriété parente (champ PROMAP) |
Les deux derniers champs du tableau, c'est-à-dire Propriété parente et Valeur constante permettent de définir les valeurs qui doivent être automatiquement attribuées aux propriétés enfants pendant l'opération CRUD. Cela va automatiquement générer les règles de propagation correspondantes, et une règle d'initialisation (évènement ADDLINE²). Une valeur peut être définie comme :
Vous ne pouvez alimenter qu'un seul des deux champs. Si aucun des champs n'est alimenté, il n'y aura pas d'attribution automatique. C'est généralement le cas pour le dernier segment de clé. |
Valeur constante (champ VALDEFMAP) |
Onglet Divers
Cet onglet définit des informations complémentaires concernant les droits d'accès.
Cet onglet contient les tableaux suivants :
Tableau Propriétés
Le tableau Propriétés particulières affiche les propriétés utilisées pour le filtrage des données gérées par la classe.
Tableau Filtres
Le tableau Filtres définit des filtres supplémentaires qui peuvent être sélectionnés quand la classe est utilisée pour accéder uniquement à un sous-ensemble de données gérées par la classe.
Tableau Historique
Le tableau Historique contient les informations qui assurent la compatibilité avec le code de la version 6 pour les restrictions d'accès aux données.
Propriétés particulières
Propriété législation (champ LEGSTR) |
Si le champ est rempli, il identifie une propriété de la classe qui définit la législation. Dans la base de données, la colonne correspondante peut :
Cela permet au superviseur d'effectuer un filtrage automatique sur l'ensemble des données accessibles dans une instance de classe pour un utilisateur. |
Propriété société (champ CPYSTR) |
Si le champ contient une valeur, il identifie une propriété de la classe où un code de société est saisi. Dans la base de données, la colonne correspondante peut être vide ou contenir la société de législation à laquelle les données sont liées. Cela permet au superviseur d'effectuer un filtrage automatique sur l'ensemble des données accessibles dans une instance de classe pour un utilisateur, pour une opération CRUD, en fonction de ses droits (l'utilisateur peut avoir l'accès en lecture mais pas en écriture sur certaines sociétés). |
Propriété site (champ FCYSTR) |
Champ de la structure définissant le site pour gérer les habilitations fonctionnelles. Si le champ contient une valeur, il identifie une propriété de classe où un code de site est entré. Il est utilisé pour filtrer des données à un niveau plus détaillé qu'une société, mais avec les mêmes propriétés. |
Propriété code d'accès (champ ACCSTR) |
Champ de la structure pour gérer les droits d'accès. Si le champ contient une valeur, il identifie une propriété de classe où un code d'accès est entré. Il est utilisé pour filtrer des données à un niveau plus détaillé qu'une société, mais avec les mêmes propriétés. La principale différence est que le code d'accès peut ne pas être renseigné dans la base de données. Dans ce cas, il n'y a pas de restrictions d'accès à l'ensemble des données. |
Tableau Filtres
Code (champ OPTCOD) |
Saisissez un code unique de filtre ou sélectionnez un filtre défini au niveau de la classe. |
Libellé (champ AZOPTLIB) |
Description du filtre. |
Code activité (champ OPTACT) |
Condition (champ OPTCND) |
Condition de filtrage exprimée dans le langage du script de Sage X3 (même syntaxe que pour les instructions Filter). Seules les colonnes présentes dans la table principale ou dans les tables directement liées à la table principale avec une jointure (1,1) peuvent être utilisés. |
Message erreur (champ AZOPTERR) |
Message d'erreur envoyé à l'utilisateur si une requête est faite sur une instance qui ne remplit pas la condition de filtrage. |
Boutons spécifiques
Arborescence |
Ce bouton permet d'afficher une fenêtre dans laquelle apparaît l'arborescence de la classe. |
Copie |
Messages d'erreur
Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :
Représentation inactive
Des erreurs sont survenues quand la représentation a été sauvegardée : la représentation n'est pas valide et ne peut pas être utilisée.
Classe inexistante
La classe référencée dans la représentation n'existe pas.
Table inexistante
La table référencée dans la représentation n'existe pas.
Une classe technique ou système ne peut pas être utilisée dans une représentation
Une classe référencée par la représentation ne peut être utilisée.
Classe inactive
La classe n'est pas active (par exemple, lorsqu'un code activité sur la classe a pour valeur 'Inactif').
Fonction X3 non autorisée
Code des fonctions d'X3 utilisé pour déclencher un lien de convergence : ne peut être présent que sur des représentations Bureau et non sur des réprésentations Mobile et Tablette.
Le code activité $1$ associé à la collection $2$ n'est pas de type Dimensionnement
Le code activité utilisé pour la taille des collections doit être de type Dimensionnement.
Valeur 0 impossible pour les classes représentations
Vous ne pouvez utiliser un code activité égal à 0 pour dimensionner une collection dans une représentation.
Champ obligatoire
Contrôle sur un filtre. Le champ est obligatoire.
Informations complémentaires
Des modifications effectuées sur la classe peuvent avoir un impact non seulement sur les représentations qui intégrent la classe, mais aussi sur les représentations qui ont un lien sur une facette de ces représentations. L'entrée d'une représentation dans le dictionnaire peut déclencher une mise à jour automatique des liens. Dans ce cas, un message demande à l'utilisateur de sauvegarder la représentation mise à jour. Le lien sur les représentations se fait alors automatiquement lors de l'installation d'un patch ou lors de la revalidation du dossier.