You can create data sources in a model and from there create mappings from source objects in other models to objects in the first model using scripts.
Dim MyOOM, MyPDM 'Create an OOM and a PDM set MyOOM = CreateModel(PdOOM.Cls_Model, "|Language=Analysis|Diagram=ClassDiagram|Copy") MyOOM.SetNameAndCode "MyOOM", "OOM" set MyPDM = CreateModel(PdPDM.Cls_Model, "|DBMS=Sybase SQL Anywhere 12|Copy") MyPDM.SetNameAndCode "MyPDM", "PDM" 'Create classes and tables For idx = 1 to 6 Set c=MyOOM.Classes.CreateNew() c.SetNameAndCode "Class" & idx, "C" & idx Set t=MyPDM.Tables.CreateNew() t.SetNameAndCode "Table" & idx, "T" & idx Next 'Create a data source in the OOM and add the PDM as its source Dim ds, m1 Set ds = MyOOM.DataSources.CreateNew() ds.SetNameAndCode "MyPDM", "PDM" ds.AddSource MyPDM 'Create a mapping between C1 and T6 set m1 = ds.CreateMapping(MyOOM.FindChildByName("Class1",cls_class)) m1.AddSource MyPDM.FindChildByName("Table6",cls_table) ' Retrieve mappings for each class in the OOM For each c in MyOOM.Classes Dim m, sc set m = ds.GetMapping(c) If not m is nothing then Output c.Name & vbtab & "Mapped to: " for each sc in m.SourceClassifiers output vbtab & vbtab & "- " & sc.Name next Else Output c.Name & vbtab & "No mapping defined." End if Next
For more information about objects mapping, see Core Features Guide > Linking and Synchronizing Models > Object Mappings.