Global Script (Profile)

The profile contains a global script, which you can use to store functions and variables to be reused in your scripts defined for extensions.

For example, we could imagine writing a function for obtaining the data type of an item and reusing it in the scripts for both the custom check and autofix examples (see Custom Checks (Profile).

The new DataTypeBase function is entered on the Global Script tab as follows:
Function DataTypeBase(datatype)
 Dim position
 position = InStr(datatype, "(") 
 If position <> 0 Then
  DataTypeBase = Ucase(Left(datatype, position -1))
 Else 
  DataTypeBase = Ucase(datatype)
 End If
End Function
The script for the check (see Example: PDM Custom Check can be rewritten to call the function as follows:
Function %Check%(obj)
Dim c 'temporary  index column
 Dim col 'temporary column
 Dim position
 %Check%= True
 If obj.type = "LF" or obj.type = "HG" or obj.type = "CMP" or obj.type ="HNG" then
  For Each c In obj.IndexColumns
   Set col = c.column
   If (DataTypeBase(col.datatype) = "VARCHAR") And (col.length > 255) Then
    Output "Table " & col.parent.name & " Column " & col.name & " : Data type is not compatible with Index " & obj.name & " type " & obj.type
    %Check% = False
   End If
  Next
 End If
End Function
Note: Variables defined on the Global Script tab are reinitialized each time they are referenced in another script.