In der Konfigurations-Datenbank sind beschreibende Daten für grundlegende Objekte wie Benutzer, Datenbanken und Server hinterlegt. Diese Objekte wer-den im ganzen System verwendet. Um diese Verwendungen aufzulösen, werden folgende Funktionen zur Verfügung gestellt:
Grundlegende Informationen zu den allgemeinen Funktionen der System-Skriptsprache erhalten Sie im Dokument System-Skriptsprache: Allgemeine Funktionen.
resolveRole
Name | resolveRole |
Beschreibung | resolveRole gibt die Benutzer-Guids der Inhaber einer Workflowrolle zurück. |
Signaturen | Guid[] resolveRole(Guid roleName)
|
Parameter | roleName ist die Identifikation oder Guid einer Workflowrolle. |
Ergebnis | Die Funktion gibt eine Liste mit den Benutzer-Guids der Inhaber der Workflowrolle roleName in derjenigen Datenbank zurück, in der die Funktion ausgeführt wird. |
Fehlerquellen | Die Inhaber einer Workflowrolle in der Repository-Datenbank können nicht in einer OLTP-Datenbank und umgekehrt ermittelt werden. Ist roleName keine gültige Workflowrolle, so wird der Wert null zurückgegeben. |
Beispiele | resolveRole("SALES") gibt die Inhaber der Workflowrolle als eine Liste von Guids zurück.
Der Ausdruck für Bearbeiter in einer Aktivitätsdefinition Der Ausdruck für Bearbeiter in einer Aktivitätsdefinition |
Kontext | ALL |
Hinweise | |
Siehe auch |
Folgendes Beispiel aus der Aktivitätsdefinition help.resolveRole gibt die Namen aller Benutzer zurück, die als Inhaber einer Workflowrolle zugeordnet sind:
function create() { var p_role := parameters.ROLE; var r_users := ""; var users := resolveRole(p_role); if (not isNull(users)) { for (u : users) r_users := r_users + " " + userName(u); } result.IS_NULL := isNull(users); result.USERS := substring(r_users, 1); }
userAbsent
Name | userAbsent |
Beschreibung | userAbsent prüft, ob ein Benutzer abwesend ist. |
Signaturen | Boolean userAbsent(Guid user)
|
Parameter | user ist die Guid oder der Name eines Benutzers.
time ist ein Zeitpunkt für die Betrachtung. from ist der Beginn des Betrachtungszeitraums. until ist das Ende des Betrachtungszeitraums. |
Ergebnis | Ist der Benutzer abwesend, so gibt die Funktion den Wahrheitswert true zurück, ansonsten false. Wird mithilfe des Parameters time einen Betrachtungszeitpunkt übergeben, dann erfolgt die Auswertung für diesen Zeitpunkt. Wird mithilfe der Parameter from und until ein Betrachtungszeitraum übergeben, dann gilt der Benutzer als abwesend, wenn er zu irgendeinem Zeitpunkt innerhalb des Betrachtungszeitraums abwesend ist.
Ist user kein gültiger Benutzer, dann wird false zurückgegeben. |
Fehlerquellen | Keine. |
Beispiele | userAbsent(userGuid("JOB")) gibt den Wahrheitswert true zurück, wenn der Benutzer JOB zum aktuellen Zeitpunkt abwesend ist.
Der Ausdruck für Bearbeiter |
Kontext | ALL |
Hinweise | |
Siehe auch |
Folgendes Beispiel aus der Aktivitätsdefinition help.userAbsent entfernt alle abwesenden Benutzer aus der Liste der Inhaber einer Workflowrolle:
function create() { var p_workflowRole := parameters.WORKFLOW_ROLE; var p_time := parameters.TIME; var p_from := parameters.FROM; var p_until := parameters.UNTIL; var r_nonAbsentUsers := ""; var holders := resolveRole(p_workflowRole); if (not isNull(holders)) { holders := removeAbsentUsers(holders, p_time, p_from, p_until); for (user : holders) { r_nonAbsentUsers := r_nonAbsentUsers + " " + userName(user); } } result.NON_ABSENT_USERS := trim(r_nonAbsentUsers); } function removeAbsentUsers(p_users as Guid[], p_time as Timestamp, p_from as Timestamp, p_until as Timestamp) as Guid[] { var nonAbsentUsers as Guid[]; for (user : p_users) { if (p_time <> UNDEFINED_DATE) { if (not userAbsent(user, p_time)) add(nonAbsentUsers, user); } else if (p_from <> UNDEFINED_DATE and p_until <> UNDEFINED_DATE) { if (not userAbsent(user, p_from, p_until)) add(nonAbsentUsers, user); } else { if (not userAbsent(user)) add(nonAbsentUsers, user); } } return nonAbsentUsers; }
userFullName
Name | userFullName |
Beschreibung | userFullName gibt den vollständigen Namen eines Benutzers zurück. |
Signaturen | String userFullName(Guid user) |
Parameter | user ist die Guid eines Benutzers. |
Ergebnis | Der vollständige Name des Benutzers, wie er in der Anwendung Systemcockpit hinterlegt ist. Ist user kein gültiger Benutzer, dann wird eine leere Zeichenkette zurückgegeben. |
Fehlerquellen | Keine. |
Beispiele | userFullName(userGuid("JOB")) gibt den vollständigen Namen des Benutzers zurück.
|
Kontext | ALL |
Hinweise | |
Siehe auch | userName |
Folgendes Beispiel aus der Aktivitätsdefinition help.userFullName gibt den vollständigen Namen eines Benutzers zurück:
function create() { var p_userName := parameters.USER_NAME; var r_userFullName := ""; var userGuid := userGuid(p_userName); if (userGuid <> INVALID_GUID) r_userFullName := userFullName(userGuid); result.USER_FULL_NAME := r_userFullName; }
userGuid
Name | userGuid |
Beschreibung | userGuid gibt die Guid eines Benutzers zurück. |
Signaturen | String userGuid(String user) |
Parameter | user ist der Name eines Benutzers. |
Ergebnis | Die Guid des Benutzers. Ist user kein gültiger Benutzer, dann wird der Wert INVALID_GUID zurückgegeben. |
Fehlerquellen | Keine. |
Beispiele | userGuid("JOB") gibt die Guid des Benutzers zurück. |
Kontext | ALL |
Hinweise | |
Siehe auch | userName |
Folgendes Beispiel aus der Aktivitätsdefinition help.userGuid gibt die Guid eines Benutzers zurück:
function create() { var p_userName := parameters.USER_NAME; var r_userGuid := ""; var userGuid := userGuid(p_userName); if (userGuid <> INVALID_GUID) r_userGuid := cast(String, userGuid); result.USER_GUID := r_userGuid; }
Beispiel: Deaktivierte Benutzer entfernen
Folgendes Beispiel aus der Aktivitätsdefinition help.userDeactivated entfernt alle deaktivierten Benutzer aus der Liste der Inhaber einer Workflowrolle:
function create() { var p_workflowRole := parameters.WORKFLOW_ROLE; var r_deactivatedUsers := ""; var holders := resolveRole(p_workflowRole); if (not isNull(holders)) { holders := removeDeactivatedUsers(holders); for (user : holders) { r_deactivatedUsers := r_deactivatedUsers + " " + userName(user); } } result.DEACTIVATED_USERS := trim(r_deactivatedUsers); } function userDeactivated(p_user as Guid) as Boolean { var r_userDeactivated := false; var user := getByPrimaryKey("CONFIGURATION", CisObject(com.cisag.sys.configuration.obj.User), p_user); if (not isNull(user)) { r_userDeactivated := user:deactivated; } return r_userDeactivated; } function removeDeactivatedUsers(p_users as Guid[]) as Guid[] { var activatedUsers as Guid[]; for (user : p_users) { if (not userDeactivated(user)) add(activatedUsers, user); } return activatedUsers; }
Beispiel: Nicht-interaktive Benutzer entfernen
Folgendes Beispiel aus der Aktivitätsdefinition help.userInteractive entfernt alle nicht-interaktiven Benutzer aus der Liste der Inhaber einer Workflowrolle:
const UserType as valueSet(com.cisag.sys.configuration.UserType); function create() { var p_workflowRole := parameters.WORKFLOW_ROLE; var r_nonInteractiveUsers := ""; var holders := resolveRole(p_workflowRole); if (not isNull(holders)) { holders := removeNonInteractiveUsers(holders); for (user : holders) { r_nonInteractiveUsers := r_nonInteractiveUsers + " " + userName(user); } } result.NON_INTERACTIVE_USERS := trim(r_nonInteractiveUsers); } function userInteractive(p_user as Guid) as Boolean { var r_userInteractive := false; var user := getByPrimaryKey("CONFIGURATION", CisObject(com.cisag.sys.configuration.obj.User), p_user); if (not isNull(user)) { r_userInteractive := user:type = UserType.INTERACTIVE; } return r_userInteractive; } function removeNonInteractiveUsers(p_users as Guid[]) as Guid[] { var interactiveUsers as Guid[]; for (user : p_users) { if (userInteractive(user)) add(interactiveUsers, user); } return interactiveUsers; }
userMailAddress
Name | userMailAddress |
Beschreibung | userMailAddress gibt die E-Mail-Adresse eines Benutzers zurück. |
Signaturen | String userMailAddress(Guid user) |
Parameter | user ist die Guid eines Benutzers. |
Ergebnis | Die E-Mail-Adresse des Benutzers, wie sie in der Anwendung Systemcockpit erfasst ist. Sind dort mehr als eine E-Mail-Adresse für den Benutzer erfasst, dann werden alle E-Mail-Adressen mit dem gleichen Trennzeichen (Semikolon) wie im Systemcockpit zurückgegeben. Dieses Trennzeichen wird auch von den Funktionen zum Versenden von E-Mail-Nachrichten akzeptiert, wie z. B. setMailRecipientsTo und setMailReplyTo Ist für den Benutzer keine E-Mail-Adresse im Systemcockpit hinterlegt, dann wird eine leere Zeichenkette zurückgegeben.
Ist user kein gültiger Benutzer, dann wird eine leere Zeichenkette zurückgegeben. |
Fehlerquellen | Keine. |
Beispiele | userMailAddress(userGuid("JOB")) gibt die E-Mail-Adresse des Benutzers zurück.
|
Kontext | ALL |
Hinweise | Der Workflow verwendet die in der Anwendung Systemcockpit hinterlegte E-Mail-Adresse, um Benachrichtigungen an Bearbeiter und Prozessverantwortliche zu versenden. Eine E-Mail an eine im Partnerstamm hinterlegte E-Mail-Adresse kann nur dann versendet werden, wenn eine Aktivitätsdefinition vom Typ E-Mail-Nachricht, E-Mail-Knoten oder Interaktiver E-Mail-Knoten verwendet wird und die E-Mail-Adresse mithilfe der Funktion setMailRecipientsTo explizit angegeben wird. |
Siehe auch |
Folgendes Beispiel aus der Aktivitätsdefinition help.userMailAddress gibt die E-Mail-Adresse eines Benutzers zurück:
function create() { var p_userName := parameters.USER_NAME; var r_userMailAddress := ""; var userGuid := userGuid(p_userName); if (userGuid <> INVALID_GUID) r_userMailAddress := userMailAddress(userGuid); result.USER_MAIL_ADDRESS := r_userMailAddress; }
userName
Name | userName |
Beschreibung | userName gibt den Namen eines Benutzers zurück. |
Signaturen | String userName(Guid user) |
Parameter | user ist die Guid eines Benutzers. |
Ergebnis | Der Name des Benutzers aus der Anwendung Systemcockpit. Ist user kein gültiger Benutzer, dann wird eine leere Zeichenkette zurückgegeben. |
Fehlerquellen | Keine. |
Beispiele |
userName(userGuid("JOB")) gibt JOB zurück.
|
Kontext | ALL |
Hinweise | |
Siehe auch | userFullName, userGuid |
Folgendes Beispiel aus der Aktivitätsdefinition help.userName ermittelt den Namen des Benutzers, der den Partner des Mandanten erfasst hat:
function create() { var r_userName := ""; var company := loadOrganization(getCustomizingValue("com.cisag.app.General"):company); r_userName := userName(company:updateInfo.createUser); result.USER_NAME := r_userName; }