Using session services
The session object is the instance that makes data available to a user session. This includes the current user, their user groups and program functions. Furthermore, the session object makes various services available for accessing data. The services provided by the session object are made available through a generic interface (Resolve (Of Service)()). In the following sections, examples are provided of frequently used service.
NOTE: You can find a complete description of all parameters in the VI.DB.DLL documentation.
Detailed information about this topic
Querying configuration parameters
The full path for the configuration parameter always has to entered when configuration parameter are queried.
Syntax
Session.Config().GetConfigParm("<full path>")
When a configuration parameter is tested in a generating condition in VB.Net syntax, the function returns a string. In order to compare this value to a numerical value, the configuration parameter has to be set and contain a numerical value. This depends on the implicit value type conversion from VB.Net. If the configuration parameter is not enabled, the function returns an empty string ("") that cannot be compared to a numerical value. This results in a VB.Net runtime error. Configuration parameter values are therefore always compared to strings.
Do not use:
Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")=1
Use instead:
Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")=1
In order to ensure that a logical value is always returned, the VID_IsTrue function should be used.
Example
If VID_IsTrue(Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")) Then ...
Related topics
Testing for the existence of certain database entries
NOTE: The test should take place without taking access permissions into account.
Syntax
Session.Source().Exists("<Tablename>","<WhereClause>")
Example
Session.Source().Exists("Person", "CentralAccount = '" & accnt & "' and uid_person <> '" & uid_person & "'")
Related topics
Querying session object global variables
Global variables are allocated by the set up program. In addition to the predefined variables, all environment variable and custom variables defined on the session object can be used. Custom session variables can be defined, for example, using scripts, methods, or customizers.
NOTE: If you define a custom session variable, you must remove it again afterward. Otherwise it remains for the rest of the session and, in certain circumstances, the wrong processes can be generated.
Syntax
Variables("<Variable name>")
Example of use in process step parameters
Value = Variables("GENPROCID")
Value = CBool(Session.Variables("FULLSYNC"))
Table 135: Permitted predefined global variables
EnvUserName
|
Name of user to be authenticated in the environment, for example, Domain\User in Active Directory |
FullSync
|
The variable is set by all synchronizers. The values are True and False. |
GenProcID |
Unique Process ID number |
LogonUser |
DialogUser.Username of the currently logged in user. |
DialogUserUID |
DialogUser.UID_DialogUser of the logged in user. |
UserName |
Name displayed in XUserInserted or XUserUpdated. |
UserUID |
Logged in user’s UID_Person, if user related authentication is being used. |
ShowCommonData |
Specifies whether system data is shown (value = 1) or not shown (value = 0). The variable is evaluated in the Designer by the Show system data program setting. |
Feature_<Featurename> |
Queries additional program functions (DialogFeature) that are available for the user. The value is 1 when the program function is available, otherwise the variable is not set. |
ManageOutstandingOperation |
This variable is used to differentiate between executing operations during post-processing of outstanding objects in target system synchronization. Permitted values are Delete, DeleteState, and Publish. |
Related topics