Pour la version Aruba, voir Module permettant d'intervenir sur la création d'un ID dans un signalétique.
Mercator 5.2.20 offre la possibilité d'exécuter un module spécifique lors de la génération d'un identifiant dans un signalétique. Mercator détecte la présence des modules :
- cli_code.fxp
- fou_code.fxp
- stock_code.fxp
- proj_code.fxp
- emb_code.fxp
- dest_code.fxp
- tact_code.fxp
- gen_code.fxp
- ana_code.fxp
- imm_code.fxp
- …
Ce module doit consister en une fonction, acceptant un seul paramètre, de type caractère (l'ID avant modification), et renvoyant une chaîne de caractères (l'ID modifié). La structure générale de ce module doit donc être obligatoirement :
parameter une_chaine
une_variable=…..modification sur une_chaine
return m.une_variable Comme ce module est une fonction, il doit obligatoirement être compilé.
Exemples :
- Retrait des espaces dans un ID
parameter une_chaine
return strtran(m.une_chaine,' ','')
- Retrait du caractère - dans un ID
parameter une_chaine
return strtran(m.une_chaine,'-','')
Remarques importantes - Le module est exécuté quel que soit le type d'identifiant : automatique, manuel, chrono, …
- Le module est exécuté en toute fin de procédure; donc, notamment, après la vérification de l'unicité. La vérification de cette unicité doit donc être, le cas échéant, une nouvelle fois prise en charge par le module. Si cette unicité n'est pas respectée, Mercator provoquera un message d'erreur au niveau de la clé primaire associée au signalétique.