IMPORTANT: Every modification to preprocessor conditions in VB.Net expressions requires recompiling the One Identity Manager database.
Preprocessor conditions can be used in VB.Net expressions. Script code that is dependent on a preprocessor condition has to be passed in an #if...then...#else statement. To formulate the preprocessor condition, use the preprocessor expressions of the preprocessor-related configuration parameters. You can link preprocessor expressions together with AND, OR, NOT, ().
The interpretation of the preprocessor conditions is not carried out until the script is generated.
Syntax
#If <preprocessor_condition_1>
’ code, for this preprocessor condition
#ElseIf <preprocessor_condition_2> then
’ code, for this preprocessor condition
#Else
#Endif
Example:
The ITSHOP preprocessor condition is entered in the column definition (DialogColumn table) for the ADSGroup.IsForITShop column. The template in the ADSGroup.DisplayName column should reference the IsForITShop column. In order to remain compatible, the following construction has to be used for the template:
#If ITSHOP Then
If $IsForITShop:Bool$ And $UID_AccProduct$ <> "" Then
Value = $FK(UID_AccProduct).Ident_AccProduct$
Else
End If
#Else
#End If
Related topics
In order to become effective on a systemwide basis, every modification to preprocessor relevant configuration parameters as well as modifications to preprocessor conditions on objects and VB.Net expressions requires the One Identity Manager database to be recompiled.
The following is true for compiling:
-
Internal program code in the form of an #if...then...#else statement is created for objects that have a preprocessor condition. Program code in sections whose preprocessor condition does not apply, do not exist for the compiler and are therefore not parsed. These objects are assumed not to exist.
-
VB.Net expressions that contain preprocessor conditions are compiled. The program code exists. The interpretation of the preprocessor conditions is not carried out until the script is generated.
These templates are valid for compiling:
-
Templates for columns that are disabled by preprocessor conditions are not compiled and the resulting relations are not saved in the DialogNotification table. These columns are therefore considered to be non-existent.
-
Templates that relate to disabled columns cause a compiler error message if the corresponding part of code is not linked in a preprocessor statement.
Scripts are used in One Identity Manager to monitor and maintain data consistency and customer business logic in the database. Scripts can be used to:
Detailed information about this topic
One Identity Manager scripts are written in VB.Net syntax, which allows all VB.Net functions to be used. The values to be edited are given as preprocessor instructions.
NOTE: You can find detailed examples for syntax and usage of scripts on the installation medium in the QBM\dvd\AddOn\SDK\ScriptSamples directory.
You can use scripts in:
-
Templates and formatting scripts (DialogColumn table)
-
Table scripts (DialogTable table)
-
Script library (DialogScript table)
-
Tasks (DialogMethod table)
-
Object definition selection scripts (DialogObject table)
-
Views selection scripts (DialogTable table)
-
Scripts to find the servers to carry out the process steps (Job table)
-
Process step parameters (Jobrunparameter table)
-
Process control notification (Job table)
-
Generating conditions for process steps and processes (Job and JobChain tables)
-
Process step and process pre-scripts (Job and JobChain tables)
-
Process information (Job, JobChain and JobEventgen table)
-
Mail templates (DialogRichMailBody table)