Das Session-Objekt ist die Instanz, welche die Daten zu einer Benutzersitzung zur Verfügung stellt. Dazu gehören der angemeldete Benutzer, seine Berechtigungsgruppen und seine Programmfunktionen. Des Weiteren stellt das Session-Objekt verschiedene Services zum Zugriff auf Daten bereit. Die angebotenen Services des Session-Objektes werden über ein generisches Interface (Resolve (Of Service)()) zur Verfügung gestellt. Nachfolgend werden Beispiele für häufig verwendete Services erläutert.
Hinweis: Die vollständige Beschreibung aller Services entnehmen Sie der Dokumentation zur VI.DB.DLL.
Detaillierte Informationen zum Thema
Bei der Abfrage von Konfigurationsparametern muss immer der gesamte Pfad zum Konfigurationsparameter angegeben werden.
Syntax
Session.Config().GetConfigParm("<vollständiger Pfad>")
Wenn in einer Generierungsbedingung in VB.Net-Syntax ein Konfigurationsparameter getestet wird, so liefert die Funktion eine Zeichenkette. Soll dieser Wert gegen einen numerischen Wert verglichen werden, so klappt das nur so lange, wie der Konfigurationsparameter aktiv ist und einen numerischen Inhalt hat. Das liegt an der impliziten Wertart-Konvertierung von VB.Net. Ist der Konfigurationsparameter nicht aktiv, so liefert die Funktion eine leere Zeichenkette (""), die nicht gegen einen numerischen Wert verglichen werden kann, was in einen Laufzeitfehler von VB.Net mündet. Konfigurationsparameterwerte werden daher immer gegen Zeichenketten verglichen.
Nicht zu verwenden:
Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")=1
Stattdessen zu verwenden:
Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")="1"
Um sicher zu gehen, dass immer ein logischer Wert geliefert wird, sollte die Funktion VID_IsTrue verwendet werden.
Beispiel
If VID_IsTrue(Session.Config().GetConfigParm("QER\Person\User\DeleteOptions\Homedir")) Then ...
Verwandte Themen
HINWEIS: Der Test sollte ohne Beachtung von Bearbeitungsberechtigungen erfolgen.
Syntax
Session.Source().Exists("<Tablename>","<WhereClause>")
Beispiel
Session.Source().Exists("Person", "CentralAccount = '" & accnt & "' and uid_person <> '" & uid_person & "'")
Verwandte Themen
Globale Variablen werden durch das einstellende Programm besetzt. Zusätzlich zu den vordefinierten Variablen können alle Umgebungsvariablen und alle am Session-Objekt definierten kundenspezifischen Variablen verwendet werden. Kundenspezifische Session-Variablen können beispielsweise über Skripte, Methoden oder Customizer definiert werden.
Hinweis: Wird eine kundenspezifische Session-Variable definiert, dann sollte sie anschließend wieder entfernt werden. Andernfalls bleibt sie bei Nachnutzung der Session bestehen und es werden unter Umständen falsche Prozesse generiert.
Syntax
Variables("<Variablenname>")
Beispiel zur Verwendung in den Parametern der Prozessschritten
Value = Variables("GENPROCID")
Value = CBool(Session.Variables("FULLSYNC"))
Tabelle 133: Zulässige vordefinierte globale Variablen
EnvUserName
|
Name des Benutzers in der Umgebung, gegen die authentifiziert wurde, beispielsweise Domain\User bei Active Directory. |
FullSync
|
Die Variable wird von allen Synchronisatoren gesetzt. Werte sind True und False. |
GenProcID |
Unikale ID-Nummer für den Prozess. |
LogonUser |
DialogUser.Username des angemeldeten Benutzers. |
DialogUserUID |
DialogUser.UID_DialogUser des angemeldeten Benutzers. |
UserName |
Der Name, der in XUserInserted bzw. XUserUpdated abgebildet wird. |
UserUID |
Die UID_Person des angemeldeten Benutzers, falls ein identitätenbasiertes Authentifizierungsmodul benutzt wurde. |
ShowCommonData |
Gibt an, ob Systemdaten angezeigt (Wert = 1) oder nicht angezeigt (Wert = 0) werden. Die Variable wird im Designer über die Programmeinstellung Systeminformationen anzeigen ausgewertet. |
SessionType |
Gibt an, ob eine direkte Datenbankverbindung oder eine Verbindung über Anwendungsserver unterstützt wird.
Nur direkte Datenbankverbindung: '%SessionType%' = 'Direct'
Nur Verbindung über Anwendungsserver: '%SessionType%' = 'AppServer' |
Feature_<Featurename> |
Abfrage zusätzlicher Programmfunktionen (QBMFeature), die für den Benutzer freigeschaltet sind. Der Wert ist 1, wenn die Programmfunktion verfügbar ist, ansonsten ist die Variable nicht gesetzt. |
ManageOutstandingOperation |
Die Variable wird bei der Zielsystemsynchronisation zur Unterscheidung der auszuführenden Operationen bei der Nachbehandlung ausstehender Objekte. Zulässige Werte sind Delete, DeleteState und Publish. |
Verwandte Themen