Dans cet exemple, qui est créé dans une extension attachée à
un MCD sous la métaclasse
DataItem, le
script teste pour savoir si l'information a une liste de valeurs définie et,
si tel est le cas (et s'il n'existe pas déjà un domaine avec la même liste
de valeurs dans le MCD), crée un nouveau domaine avec la liste de valeurs
:
Sub %Transformation%(obj, trfm)
Dim list
list = obj.ListOfValues
if not list = "" then
output "transforming " & cstr(obj)
' Vérifie si un tel domaine existe déjà
Dim domn, found
found = false
for each domn in obj.Model.Domains
if domn.ListOfValues = list then
found = true
end if
next
' Crée un nouveau domaine
if not found then
set domn = obj.Model.Domains.CreateNew()
domn.SetNameAndCode obj.Name, obj.Code
domn.ListOfValues = list
end if
end if
End Sub
Si
cette transformation peut être ajoutée dans un profil de transformation en
tant que :
- Transformation pré-génération - La transformation
est appelée dans la boîte de dialogue Options de génération. Les
domaines sont créés temporairement dans le MCD avant la génération,
puis générés dans le modèle cible (par exemple, dans un MPM).
- Transformation post-génération - La transformation
peut être appelée dans la boîte de dialogue Options de génération
(pour une génération MCD-MCD). Les domaines sont créés dans le MCD
cible après génération. La transformation peut également être
appelée à tout moment en sélectionnant pour créer les domaines dans le modèle existant.