无论是cdm还是pdm都可以批量替换、处理。可在Tool-Execute commands-Edit/Run script中编辑运行脚本:
下面的脚本是批量将CDM中实体的用Code替换掉Name
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl '当前model
'获取当前活动model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdCDM.cls_Model) Then '如果是处理pdm,这里换成PdPDM.cls_Model
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim item '要处理的对象
for each item in folder.Entities
if not item.isShortcut then '先处理每个实体或类的Name和Code
item.name = item.code
'再处理每个类的属性
dim col
for each col in item.Attributes
col.name= col.code
next
end if
next
'最后处理关联关系
for each item in folder.relationships
if not item.isShortcut then
item.name = item.code
end if
next
'递归遍历子文件夹
Dim f '子文件夹
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
此外,若是在pdm中可以用下面的方法遍历表或视图
Dim Tab 'running table
for each Tab in folder.tables if not tab.isShortcut then tab.name = tab.code Dim col ' running column for each col in tab.columns col.name= col.code next end if next Dim view 'running view for each view in folder.Views if not view.isShortcut then view.name = view.code end if next//
//遍历Domian
For each dm in mdl.domains
If Not dm.isShortcut Then
If dm.code = "dm_pk" Then
Exit For
End If
End If
Next