Beschreibung der Prozeduren für Importe in die Processes-Datenbank
Wie Sie die neuen Prozeduren zum Erstellen von Benutzern und Assoziationen in der Processes-Datenbank einsetzen, erfahren Sie im folgenden Abschnitt.
Action_Context - Aktionskontext erstellen
Der Aktionskontext muss in jedem Importskript mit der Prozedur hlapi_createapicontext erstellt werden. Dazu müssen Sie den folgenden Code in Ihr Importskript an die erste Stelle direkt unter die Kopfzeile kopieren.
Auf diese Weise fügen Sie einen Wert in die Variable @ActionContext ein, der von allen anderen nachfolgende beschriebenen Prozeduren verwendet wird.
Verwenden Sie die Prozedur wie folgt:
-- Generate API Context DECLARE @ActionContext BIGINT DECLARE @APIContextID NVARCHAR(100) = 'ActiveDirectory_BPF_Import' EXEC hlapi_createapicontext @APIContextID, @ActionContext OUTPUT -- Generate necessary variables for API DECLARE @DefTypePerson INT = 3 , @DefTypeOrgUnit INT = 4 , @DefTypeProduct INT = 5
Den Inhalt der Variable @APIContextID können sie entsprechend dem Namen des Imports anpassen.
Objekte Assoziieren
Die Prozedur hlapi_userimport_associateobject wird dazu verwendet, eine Assoziation zwischen zwei Objekten herzustellen.
Verwenden Sie die Prozedur wie folgt:
EXEC hlapi_userimport_associateobject @apicontextid, @AssociationDefID , @ObjectTypeA, @ObjectIDA, @ObjectDefIDA , @ObjectTypeB, @ObjectIDB, @ObjectDefIDB , @removeolda, @removeoldb @removeoldignoredfid
Verwenden Sie die folgenden Parameter:
- @apicontextid
- Benötigt den Rückgabewert aus der Prozedur hlapi_createapicontext.
- @AssociationDefID
- DefId der Assoziation, die erstellt werden soll.
- @ObjectTypeA
- Gibt den Typ des Objekts an, das in Rolle A der zu erstellenden Assoziation verwendet werden soll.
- @ObjectIDA
- Gibt die ID der Objektinstanz an, die in der neuen Assoziation in Rolle A verwendet werden soll.
- @ObjectdefIDA
- Gibt die DefinitionsID des Objekts an, das in der neuen Assoziation in Rolle A verwendet werden soll.
- @ObjectTypeB
- Gibt den Typ des Objekts an, das in Rolle A der zu erstellenden Assoziation verwendet werden soll.
- @ObjectIDB
- Gibt die ID der Objektinstanz an, die in der neuen Assoziation in Rolle B verwendet werden soll.
- @ObjectdefIDB
- Gibt die DefinitionsID des Objekts an, das in der neuen Assoziation in Rolle B verwendet werden soll.
- @removeolda
- Steuert ob beim Erstellen der Assoziation eine bereits bestehende
Assoziation zu einem anderen untergeordneten Objekt der gleichen
Definition gelöscht werden soll. Folgende Werte sind zulässig:
- 0: Es wird keine andere Assoziation zwischen dem Objekt B und anderen Objekten A gelöscht
- 1: Es werden andere Assoziationen zwischen dem Objekt #b und anderen Objekten A gelöscht, wenn sie von der gleichen Assoziationsdefinition sind.
- @removeoldb
- Steuert ob beim Erstellen der Assoziation eine bereits bestehende
Assoziation zu einem anderen untergeordneten Objekt der gleichen
Definition gelöscht werden soll. Folgende Werte sind zulässig:
- 0: Es wird keine andere Assoziation zwischen dem Objekt A und anderen Objekten B gelöscht
- 1: Es werden andere Assoziationen zwischen dem Objekt A und anderen Objekten B gelöscht, wenn sie von der gleichen Assoziationsdefinition sind.
- @removeoldignoredefid
- Steuert ob beim Löschen mit den beiden vorherigen Parametern die DefID
des anderen Objekts ignoriert wird. Folgende Werte sind zulässig:
- 0: Es werden nur Assoziationen gelöscht, bei denen die DefIDs der Objekte in A oder B exakt den übergebenen Werten aus den Parametern @objectdefida bzw. @objectdefidb entsprechen.
- 1: Wenn @removeolda = 1 ist werden alle Assoziationen des gleichen Typs zwischen dem Objekt B und anderen Objekten A gelöscht. Die DefID der Objekte in A wird ignoriert
- oder
- Wenn @removeoldb = 1 ist werden alle Assoziationen des gleichen Typs zwischen dem Objekt A und anderen Objekten B gelöscht. Die DefID der Objekte in B wird ignoriert
- Beispiel:
Ein Kontakt (B) wird mit der Assoziation „Contact2Organization“ mit einer Abteilung (A) Assoziiert. Durch das Verwenden von @removeolda = 1 und @removeoldignoredefid = 0 werden ausschließlich andere Assoziationen vom Typ „Contact2Organization“ zwischen diesem Kontakt und anderen Abteilungen entfernt. Durch das Verwenden von @removeolda = 1 und @removeoldignoredefid = 1 werden Assoziationen vom Typ „Contact2Organization“ zwischen diesem Kontakt und anderen Abteilungen sowie Firmen entfernt.
Löschen einer Assoziation zwischen zwei Objekten
Die Prozedur hlapi_userimport_deassociateobject wird zum Löschen einer Assoziation zwischen zwei bestimmten Objekten verwendet.
EXEC hlapi_userimport_deassociateobject @ActionContext , @AssociationDefID , @ObjectIDA, @ObjectDefIDA , @ObjectIDB, @ObjectDefIDB
- @ActionContext:
- Gibt den Wert aus der Prozedur Aktionskontext zurück.
- @AssociationDefID
- DefinitionsID der Assoziation die gelöscht werden soll.
- @ObjectIDA
- ObjectID des Objekts in Rolle A.
- @ObjectDefIDA
- ObjectDefID des Objekts in Rolle A.
- @ObjectIDB
- ObjectID des Objekts in Rolle B.
- @ObjectDefIDB
- ObjectDefID des Objekts in Rolle B.
Benutzerobjekt erzeugen und mit einem Kontakt verbinden
Verwenden Sie die Prozedur wie folgt:
-- create user out of contact information in Processes EXEC hlapi_userimport_elevatepersontouser @ActionContext , @PersonID , @PersonDefID , @UserID OUTPUT
- @ActionContext:
- Benötigt den Rückgabewert aus der Prozedur hlapi_createapicontext.
- @PersonID
- PersonenID der Person, die mit einem Benutzer verlinkt wird.
- @PersonDefID
- DefinitionsID des Personenobjekts.
- @UserID:
- Rückgabeparameter
SSO-Konto für einen Benutzer anlegen
Die Prozedur hlapi_userimport_iodcaccointforuser erzeugt ein SSO-Konto für einen definierten Benutzer in Serviceware Processes.
Diese Prozedur wird zum Import von Benutzern für den Portal-Zugriff verwendet.
Verwenden Sie die Prozedur wie folgt.
-- create login for user EXEC hlapi_userimport_oidcaccountforuser @ActionContext , @UserID , @UserAccountNT
Verwenden Sie das Skript mit den folgenden Parametern:
- @ActionContext
- Gibt den Wert aus der Prozedur Action_Context zurück.
- @UserID
- Rückgabewert aus Prozedur hlapi_userimport_iodcaccountforuser.
- @UserAccountNT
- Kontoname als String.
Benutzer Portal-Zugriff geben
Die Prozedur hlapi_userimport_assignusertoportalgroups fügt einen Benutzer zu einer benannten Portal-Gruppe hinzu. Die Prozedur wird zum Import von Benutzern für den Portal-Zugriff verwendet.
-- associate all groups needed for portal EXEC hlapi_userimport_assignusertoportalgroups @ActionContext , @UserID , @PortalName
Verwenden Sie das Skript mit den folgenden Parametern:
- @ActionContext
-
Benötigt den Rückgabewert aus der Prozedur hlapi_createapicontext.
- @UserID
- Rückgabewert aus Prozedur hlapi_userimport_iodcaccountforuser.
- @PortalName
- Portalname als String.
Fehlermeldungen
Im Fall von Fehlern können die folgenden Meldungen ausgegeben werden:
Nummer | Beschreibung |
15600 | Einer der Parameter ist Null. |
400001 | Die Person ist bereits mit einem Benutzer assoziiert. |
400003 | Die Erweiterungsgruppe existiert nicht. |
400113 | Der Benutzer existiert für die Person bereits. |
400710 | Ein Benutzer mit der angegebenen ID existiert nicht. |
401000 | Ein Benutzer mit der spezifizierten ID existiert nicht. |
402110 | Der Parameter @accountname ist leer oder länger als 255 Zeichen. |
402120 | Der Serviceware Authenticator-Benutzer ist bereits mit einem anderen Processes-Benutzer verbunden. |