Scripting-Grundlagen
Im folgenden Abschnitt finden Sie Informationen zu Scripting-Grundlagen für Serviceware Processes.
Über Skripte kann auf alle Attribute eines Objekts innerhalb des Dialogs zugegriffen werden. Bei Vorgangsobjekten kann zusätzlich auf Attribute des zugewiesenen Anfragers, der Organisationseinheit und des Produkts zugegriffen werden.
Um auf Vorgänge, Objekte, (deren) Attribute, Assoziationen usw. zugreifen zu können, müssen Sie Folgendes beachten:
- In den Serverskripten müssen Variablen deklariert werden (Dim).
Weitere Grundlagen
- Ein Abbruch des laufenden Speichervorgangs ist möglich, beispielsweise wenn kontextsensitiv fehlende oder ungültige Eingaben festgestellt wurden.
- In Dialogen werden GUI-Skripte über den Bereich Eigenschaften (Property-Grid) im Dialog Designer eingebunden, WEB-Skripte über das Menü im Dialog Designer.
- Serverskripte werden auf dem Eigenschaftendialog der jeweiligen Objektdefinition oder Assoziation auf der Registerkarte EBL eingebunden.
- Delegations- und Fallskripte werden auf dem Eigenschaftendialog der jeweiligen Vorgangsobjektdefinition auf der Registerkarte Skript eingebunden.
- Im ClassicDesk kann die Ausführung von Server-(EBL-) Skripten durch die Auswahl von Test Modus unter dem Menüpunkt Skripting unterdrückt werden.
- Es ist nicht möglich, von einem Skript aus ein anderes aufzurufen.
In EBL-Skripten für Objektdefinitionen
Methode | Beschreibung |
---|---|
hlcontext | |
hlcontext.GetRelatedObject | Ermittelt das übergeordnete Objekt. Bei einer Neuanlage kann so z. B. ermittelt werden, unter welchem Objekt das neue Objekt angelegt wird. |
hlcontext.GetCurrentObject | Ermittelt das aktuelle Objekt. |
hlcontext.GetScope | Ermittelt, ob ein Vorgangsobjekt „normal“ angelegt wurde [liefert 0] oder ob es sich um eine Delegation [liefert 1] oder einen Fall [liefert 2] handelt. |
hlcontext.AbortCommand <ErrorMessage> | Bricht den laufenden Speichervorgang mit Fehlermeldung ab. |
hlcontext.trace 1, <Description> | Erzeugt einen Eintrag im Eventlog, in dem Text und Variablen übergeben werden können. |
hlcontext.GetLocaleID | Liefert die Locale/LCID der aktuellen Sitzung. |
hlcontext.GetLangIDFromLCID (<LCID>) | Liefert die helpLine-Sprach-ID, um auf die Spracheinstellung des ClassicDesk zu reagieren. |
hlcontext.GetAgentID () | Ermittelt die ID des angemeldeten Agenten. |
hlcontext.GetPersonOfAgent (<AgentID>) | Ermittelt den Namen des angemeldeten Agenten über dessen ID. |
hlcontext.CreateObject (<ObjectType>) | Erzeugt ein neues Objekt vom angegebenen Typ (Definitionsname oder -ID) |
hlcontext.LoadObject (<ID>,<ObjectType>) | Lädt ein Objekt über dessen Objekttyp und ID. |
hlcontext.SaveObject (<obj>) | Speichert ein Objekt. |
hlcontext.DiscardChanges (<obj>) | Verwirft alle Änderungen an den Objektdaten. |
hlcontext.RemoveObject (<obj>) | Löscht ein Objekt. |
hlcontext.CreateAssociation (<ObjectA>,<ObjectB>,<AssocDef>) | Erzeugt eine neue Assoziation zwischen dem übergeordneten ObjektA und dem untergeordneten ObjektB. <AssocDef> ist die Definitions-ID der Assoziation. |
hlcontext.RemoveAssociation (<associd>,<assocdef>) | Löscht die Assoziation zwischen dem übergeordneten ObjektA und dem untergeordneten ObjektB. <assocdef> ist die Definitions-ID oder der Definitionsname der Assoziation. |
hlcontext.OpenSearch (<QueryString>) | Sucht nach Objekten. Beispiel für <QueryString>: „SEARCH Employee WHERE HLOBJECTINFO.ID > 0“ findet alle Mitarbeiter. Syntax wie in der Expertensuche. |
hlObj.GetTreeValuePath(AttributePath, LanguageId, ValueId) | Mit dieser Funktion lässt sich der „Langname“, bzw. der komplette Schlagwortpfad in EBL sprachabhängig für ein Schlagwort abfragen. |
hlObj.GetTreeValueLevel(AttributePath, ValueId) | Mit dieser Funktion lässt sich die Ebene eines Schlagworts in EBL abfragen. |
In EBL-Skripten für Assoziationen zusätzlich
Methode | Beschreibung |
---|---|
hlobjectA | Ermittelt das übergeordnete Objekt. |
hlobjectB | Ermittelt das untergeordnete Objekt. |
In Delegations- und Fallskripten
Methode | Beschreibung |
---|---|
hlcase | Alle Attribute des delegierenden bzw. fallbildenden Vorgangs |
hlcasefolder | Alle Attribute des übergeordneten Falls |
hldelegated | Alle Attribute des untergeordneten/delegierten Vorgangs |
Wichtig: Falls über das EBL-Skript keine neue
Service-Einheit erzeugt wird, können die Attribut-Belegungen der aktuellen
Service-Einheit überschrieben werden.
In Vorlagen und SLAs
Methode | Beschreibung |
---|---|
hlobj | Alle Vorgangsattribute |
Connectivity
Methode | Beschreibung |
---|---|
hlinquirer | Alle Anfragerattribute |
hlproduct | Alle Produktattribute |
hlsupporters | Alle Bearbeiterattribute |
hlcase | Alle Vorgangsattribute |
hlcasefolder | Alle Vorgangsattribute des übergeordneten Falls |
Control-unabhängige Befehle
Methode | Beschreibung | Beispiel |
---|---|---|
GetValue("<ODE>.<Attribut>",a,b,c,d) | Liest ein Attribut aus. | hlobj.GetValue("PersonGeneral.PersonName",0,0,0,0) |
SetValue "<ODE>.<Attribut>",a,b,c,d | Schreibt einen Wert in ein Attribut. | hlobj.SetValue
"CaseAttribute.Priority",0,0,0,“PriorityHigh“ |
Wichtig:
GetValue benötigt die Klammer,
SetValue nicht!Obligatorisch zu übergebende Parameter:
|
||
GetItems(&H10000,-1,-1,AssocDefID) | Liefert die über eine bestimmte Assoziation übergeordneten Objekte als Array. | hlobj.GetItems(&H10000,-1,-1,103413)
|
GetItems(&H00000,-1,-1,AssocDefID) | Liefert die über eine bestimmte Assoziation untergeordneten Objekte als Array. | hlobj.GetItems(&H00000,-1,-1,100703)
|
GetItemCount (<flag>,<AssocDef>) | Ermittelt die Anzahl assoziierter Objekte. Flag wie oben. | hlobj.GetItemCount (&H10000,103413)
|
AddItem <flag>,<Obj>,<AssocDef> | Ordnet das angegebene Objekt dem Objekt unter, für das die Methode aufgerufen wird. | Orgunit.AddItem 0, Person, 103410
|
RemoveItem <flag>,<Obj>,<AssocDef> | Löscht die Assoziation zwischen dem angegebenen untergeordneten Objekt und dem Objekt, für das die Methode aufgerufen wurde. | Person.RemoveItem 0, Asset, 100703
|
GetType | Liefert den Objekttyp (Definitionsname). | var = hlobj.GetType |
GenerateID() | Generiert eine neue Content-ID (für Mehrfachattribute) | |
GetLocale | Setzt die LocaleID (LCID) für die aktuelle Session. | lcid = hlContext.GetLocaleID |
LangIDFromLCID | Ermittelt aus der LCID die Sprach-ID. | LangID =
hlContext.LangIDFromLCID(lcid) |
GetAttachmentKeys <Attribut>, <SUID> | Ermittelt die Inhalts-IDs von Anlagen. | AttachIDs =
hlCase.GetAttachmentKeys("HLOBJECTINFO.ATTACHMENT",0)
|
GetAttachment <Attribut>,<AttachID>, <SUID> | Ermittelt das Anlagenobjekt. | Set hlAttachment=hlCase.GetAttachment
("HLOBJECTINFO.ATTACHMENT", AttachID, 0)
|