Objekte erstellen und bearbeiten

Mit den in diesem Abschnitt beschriebenen Methoden können Sie Objekte erzeugen, laden, speichern, löschen oder assoziieren.

CreateObject

CreateObject erzeugt einen neuen Objekttyp vom angegebenen Processes-Typ.
Syntax CreateObject (ObjectType)
Parameter
ObjectType
Symbolischer Name des gewünschten Processes-Objekttyps. Statt des Namens kann auch die Definitions-ID für den gewünschten Objekttyp angegeben werden.
Rückgabewert erzeugtes Objekt als Variant (IHLObject)

LoadObject

LoadObject lädt ein Objekt über dessen Objekttyp und ID.

Syntax LoadObject (ID ,ObjectType)
Parameter
ID
Numerischer Wert
ObjectType
Definitionsname oder Definitions-ID des gewünschten Processes-Objekttyps.
Rückgabewert geladenes Objekt als Variant (IHLObject)

SaveObject

SaveObject speichert das angegebene helpLine-Objekt. Sie wird sowohl für das Speichern eines neuen Objekts als auch für das Speichern der Änderungen an einem bestehenden Objekt verwendet.

Syntax SaveObject (Obj)
Parameter
Obj
Objekt, das in der Datenbank(en) gespeichert werden soll, als Variant (IHLObject)

Beispiel 1: Neues Objekt erzeugen und speichern

Neues Objekt vom Typ Employee erzeugen und speichern. Der Nachname des (neuen) Mitarbeiters wird auf Meier gesetzt.

dim NewEmpl
...
Set NewEmpl=hlcontext.createobject ("Employee")
NewEmpl.SetValue "PersonGeneral.PersonSurname", 0, 0, 0, "Meier"
hlcontext.saveobject NewEmpl
...

Beispiel 2: Bestehende Objekte ändern und Änderungen speichern

Alle Objekte vom Typ Employee mit dem Nachnamen (Attribut PersonSurname der ODE PersonalGeneral) Neuer Mitarbeiter suchen, den Nachnamen auf Meier ändern und speichern.

dim Empl
...
‘ Suche definieren
QryString = "SEARCH Employee WHERE PersonGeneral.PersonSurname =" _ 
                & """Neuer Mitarbeiter"""
Set Qry = hlcontext.OpenSearch (QryString)
QryResult = Qry.GetItems(0, -1, -1, 0)
‘ Für jedes gefundenes Objekt Nachname ändern
‘ und Änderung speichern
For Each Empl in QryResult
 Empl.SetValue "PersonGeneral.PersonSurname", 0, 0, 0, "Meier"
 hlcontext.SaveObject(Emp)
Next ...

DiscardChanges

DiscardChanges stellt den ursprünglichen Zustand des Objekts wieder her, das heißt, die an Objektdaten vorgenommenen Änderungen werden verworfen.
Syntax DiscardChanges (object)
Parameter
object
Processes-Objekt als Variant (IHLObject)

RemoveObject

RemoveObject löscht das angegebene Processes-Objekt und alle seine Assoziationen.

Syntax RemoveObject (Obj)
Parameter
Obj
Processes-Objekt, das gelöscht werden soll als Variant (IHLObject)

Beispiel: Personen suchen und löschen

Alle Objekte vom Typ Employee mit dem Nachnamen (Attribut PersonSurname der ODE PersonalGeneral) Meier löschen.
dim Empl
...
‘ Suche definieren
QryString = "SEARCH Employee WHERE PersonGeneral.PersonSurname =" _
                & """Meier"""
Set Qry = hlcontext.OpenSearch (QryString)
QryResult = Qry.GetItems(0, -1, -1, 0)
‘ Für jedes gefundenes Objekt Nachname ändern
‘ und Änderung speichern
For Each Empl in QryResult
 hlcontext.RemoveObject (Empl)
Next
...

CreateAssociation

CreateAssociation legt für die Processes-Objekte ObjectA und ObjectB eine Assoziation vom Typ assocdef an.
Syntax
CreateAssociation (enda, endb)
Parameter

ObjectA als Variant (IHLObject)

ObjectB als Variant (IHLObject)

Wichtig: Die Funktion liefert keine ID mehr zurück.

RemoveAssociation

RemoveAssociation löscht die angegebene Assoziation mit der von CreateAssociation zurückgegebenen Assoziations-ID.

Syntax RemoveAssociation (associd,assocdef)
Parameter
associd
ID der zu löschenden Assoziation als numerischer Wert
assocdef
Typ der zu löschenden Assoziation als numerischer Wert
Wichtig: Da die Funktion CreateAssociation keine ID mehr zurückliefert, wird an dieser Stelle empfohlen, RemoveItem statt RemoveAssociation zu verwenden.