Vous pouvez créer des sources de données dans un modèle et à partir de là créer des correspondances entre des objets source contenus dans d'autres modèles et des objets contenus dans le premier modèle à l'aide de scripts.
Dim MonMOO, MonMPD
'Création d'un MOO et d'un MPD
set MonMOO = CreateModel(PdOOM.Cls_Model, "|Language=Analysis|Diagram=ClassDiagram|Copy")
MonMOO.SetNameAndCode "MonMOO", "MOO"
set MonMPD = CreateModel(PdPDM.Cls_Model, "|DBMS=Sybase SQL Anywhere 12|Copy")
MonMPD.SetNameAndCode "MonMPD", "MPD"
'Création des classes et des tables
For idx = 1 to 6
Set c=MonMOO.Classes.CreateNew()
c.SetNameAndCode "Classe" & idx, "C" & idx
Set t=MonMPD.Tables.CreateNew()
t.SetNameAndCode "Table" & idx, "T" & idx
Next
'Création d'une source de données dans le MOO et ajout du MPD comme source
Dim ds, m1
Set ds = MonMOO.DataSources.CreateNew()
ds.SetNameAndCode "MonMPD", "MPD"
ds.AddSource MonMPD
'Création d'une correspondance entre C1 et T6
set m1 = ds.CreateMapping(MonMOO.FindChildByName("Classe1",cls_class))
m1.AddSource MonMPD.FindChildByName("Table6",cls_table)
' Identification des correspondances pour chaque classe du MOO
For each c in MonMOO.Classes
Dim m, sc
set m = ds.GetMapping(c)
If not m is nothing then
Output c.Name & vbtab & "Correspond à : "
for each sc in m.SourceClassifiers
output vbtab & vbtab & "- " & sc.Name
next
Else
Output c.Name & vbtab & "Aucune correspondance définie."
End if
Next
Pour plus d'informations sur les correspondances d'objets, voir Guide des fonctionnalités générales > Liaison et synchronisation de modèles > Mise en correspondance d'objets.