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).
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
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