Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
Function CreateRegExp(pattern)
dim result:set result=CreateObject("VBscript.RegExp")
result.Global=true
result.IgnoreCase=true
result.Pattern=pattern
result.MultiLine=true
set CreateRegExp=result
End Function
Function IsRightText(text)
if (Len(text)=0) then
IsRightText=false
exit function
end if
dim regex:set regex= CreateRegExp("^[a-zA-Z0-9_]+$")
dim result:result=regex.Test(text)
set regex=nothing
IsRightText=result
End Function
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
if IsRightText(tab.name) then
tab.name = mid(tab.comment,1,10) + tab.Code
end if
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
if IsRightText(col.name) then
col.name = mid(col.comment,1,8)
end if
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
Function CreateRegExp(pattern)
dim result:set result=CreateObject("VBscript.RegExp")
result.Global=true
result.IgnoreCase=true
result.Pattern=pattern
result.MultiLine=true
set CreateRegExp=result
End Function
Function IsRightText(text)
if (Len(text)=0) then
IsRightText=false
exit function
end if
dim regex:set regex= CreateRegExp("^[a-zA-Z0-9_]+$")
dim result:result=regex.Test(text)
set regex=nothing
IsRightText=result
End Function
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
if IsRightText(tab.name) then
tab.name = mid(tab.comment,1,10) + tab.Code
end if
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
if IsRightText(col.name) then
col.name = mid(col.comment,1,8)
end if
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub