Une table dynamique (ou “index”) est un objet complexe, faisant manipuler de nombreuses notions.

Gestion des colonnes

La table est composée de colonnes “statiques” et de colonnes “dynamiques” (nommées “cibles”).

Les colonnes statiques sont au nombre de trois :

Les deux colonnes de dates sont cachées par défaut. Vous pouvez les afficher en les sélectionnant après avoir cliqué sur le bouton orange “Colonnes” en haut à droite.

Pour ce qui est des cibles, il vous faut les créer et les gérer.

Création d’une cible

En cliquant sur le bouton gris “+ Ajouter une cible”, vous pourrez faire apparaître un dialogue permettant la création de la cible.

image-20250227-103749.png

La cible, comme les indexes et les datasources, possède un identifiant et un nom. L’identifiant doit être unique au sein de l’index.

Elle possède aussi un type. Attention, ni le type ni l’identifiant ne pourront changer après la création de la cible.

Il n’est pas possible d’avoir deux cibles ayant le même identifiant, à la casse près. Par exemple “Legacy” et “legacy”. Seule l’une de ces deux cibles pourra exister.

Types de cibles existants

Nom

Explications

Notes

Texte

Texte basique. L'éditeur intégré vous présentera un champ basique.

Supporte la validation par expressions régulières.

Entier

Un nombre entier.

-

Nombre

Un nombre décimal.

-

Booléen

Une valeur booléenne, soit vrai soit faux.

Ne supporte pas les contraintes.

Date

Une date. L'éditeur affichera un sélecteur spécifique.

-

Date et heure

Une date et une heure. L'éditeur affichera un sélecteur spécifique.

-

Référence

Une référence vers une colonne d’un autre index.

Voir https://wiki.kb.enterpriseflowsrepository.com/wiki/spaces/DOC/pages/1212153858/Type+de+colonne+liste+de+r+f+rence

Modification des cibles

Maintenant que vos cibles existes, il est possible de les modifier. Pour afficher le menu, cliquez sur le bouton correspondant.

image-20250227-104539.png

Vous pourrez ici :

Contraintes des cibles

Explication des diverses contraintes de cible.

Contrainte d’expression régulière

Objectif: Valider le contenu textuel des valeurs de la colonne.

Pour créer ou modifier une expression régulière, cliquez sur le bouton dans la colonne “Regex”. Une dialogue s’ouvrira, vous permettant de modifier l’expression. Une expression régulière invalide ne pourra pas être acceptée.

image-20250311-133133.png

Note: seules les cibles ayant un type “Texte” peuvent avoir une contrainte de regex.

Le champ “Test de regex” apparaît une fois une regex valide sauvegardées. Il permet de tester une valeur sur la regex plus haut. Dans cet exemple, tester la valeur “0ab” affichera une erreur, alors que “abc” affichera un succès.

Contrainte de clef fonctionnelle

Objectif: Garantir l’unicité des lignes, via une contrainte sur plusieurs colonnes.

En cochant les boutons de la colonne “Regex”, les cibles feront partie de la clef fonctionnelle.

Attention : pour la conception de votre table, veuillez noter qu’un maximum de 4 colonnes peuvent participer à la clef fonctionnelle.

Contrainte d’unicité

Objectif: Garantir l’unicité des valeurs de la colonne.

En cochant le bouton de la colonne “Unique”, la colonne devient alors “Unique”. Toute valeur de la colonne devra être unique, sans quoi la valeur ne sera pas acceptée.

On notera qu’une colonne peut être unique et participer à la clef fonctionnelle.

Attention : les valeurs nulles ne seront pas prise en compte par la validation d’unicité. Cela s’applique aussi pour la clef fonctionnelle.

Contrainte de nullité

Objectif: garantir que les valeurs ne peuvent pas être nulles.

Par défaut, les colonnes acceptent des valeurs vides. En décochant le bouton de la colonne “Nullable”, alors les lignes ayant des valeurs vide dans la colonne en question ne seront plus acceptées.

Attention: pour toutes ces contraintes, la créer alors que les valeurs ne le permettent pas est impossible. Ainsi, il vous est conseillé de d’abord créer les contraintes, et d’ensuite seulement importer des données.

Gérer les lignes

Maintenant que des colonnes existent, insérer des lignes propose un intérêt.

Préfixe d’auto-incrément

Il est possible de créer un ligne sans préciser de clef. Dans ce cas, la clef sera auto-générée, avec un nombre entier.

Le préfixe d’auto-incrément est utile dans ce genre de situation. Il va ajouter une chaîne de caractère de votre choix à ce nombre. Par exemple, avec un préfixe mis à “PR/”, les clef générées ne seront plus 0, 1,… mais PR/0, PR/1, …

Ajouter une ligne

Par l’IHM, ajouter une ligne est très simple. Ouvrez le dialogue correspondant en cliquant sur le bouton “+ Ajouter une ligne“.

image-20250227-111110.png

Le dialogue ainsi ouvert vous proposera une entrée par cible. Les contraintes posées sur ces dernières sont affichées, et devront être respectées.