Coheris dispose depuis la V5 d’un mécanisme permettant d’implémenter des tables d’extension virtuelles. Ce mécanisme permet de s’affranchir de la contrainte actuelle de 40 tables d’extension de par la conception initiale de son modèle de données.
Le principe repose sur l’ajout d’une table unique d’extension (TableMU) gérant l’ensemble des listes de valeur avec un marqueur pour chaque liste. Le lien entre la tableMU et la table CLIENTS s’effectue au travers d’une table de jointure TH_CLIENT_LINK.
Ce modèle s’appuie sur la table TH_CLIENT_LINK dont la structure est la suivante :
CREATE TABLE [TH_CLIENT_LINK](
[THCL_CODE] [int] NOT NULL,
[REFERENCE] [int] NOT NULL,
[TMU_CODE] [int] NOT NULL
) ON [PRIMARY]
Et sur la table TABLEMU dont la structure est la suivante :
CREATE TABLE [TABLEMU](
[TMU_CODE] [int] NOT NULL,
[TQ_CODE] [int] NOT NULL,
[TMU_LIB] [varchar](80) NULL,
[LST_CODE] [int] NULL,
[TMU_APPART] [int] NULL,
[TMU_PARENTS] [varchar](255) NULL,
[TMU_NIV_HIER] [smallint] NOT NULL,
[TMU_LIB_LONG] [text] NULL,
[TMU_MARKER] [varchar](255) NULL,
[TMU_ORD] [int] NULL,
[TMU_DISC_WEB] [smallint] NULL,
[TMU_INDIC_FILS] [int] NULL,
[TMU_TEXT] [text] NULL,
[TMU_TEXT_2] [text] NULL,
[TMU_TEXT_3] [text] NULL,
[TMU_TEXT_4] [text] NULL,
[TMU_TEXT_5] [text] NULL,
[TMU_COMP1] [varchar](255) NULL,
[TMU_COMP2] [varchar](255) NULL,
[TMU_COMP3] [varchar](255) NULL,
[TMU_COMP4] [varchar](255) NULL,
[TMU_COMP5] [varchar](255) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Les marker de la table MU sont au nombre de 2 :
- LST_CODE : marker interne de Coheris permettant de rattacher la ligne à la liste virtuelle.
- TMU_MARKER : marker externe de la valeur
Dans le cas de l’alimentation des listes, l’insert doit se faire avec les valeurs suivantes uniquement sur la table de jointure TH_CLIENT_LINK :
Colonne |
Valeur |
Commentaires |
THCL_CODE |
MAX(THCL_CODE)+1 |
Ne pas oublier de remettre d’aplomb la table CLES_PRIM |
REFERENCE |
CLIENTS.[REFERENCE] |
La pk du client sur la table CLIENTS |
TMU_CODE |
TABLEMU.[TMU_CODE] |
La pk de la valeur sur la table TABLEMU |
No comments yet.