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:

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ü Ansicht > Skripte 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.
    Anmerkung: Dies ist nur möglich mit der Sicherheitsrichtlinie Globale Dialoge.
  • 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:

  • a = Sprach-ID (7=Deutsch, 9=Englisch, 0=interner Name)

  • b = Content-ID (bei Multiple-Value-Attributen)

  • c = Index der Service-Einheit
  • d = Datentyp (0 = Definitionsname, 1 = Anzeigename) bzw. Wert, der gesetzt werden soll (Definitionsname!)
GetItems(&H10000,-1,-1,AssocDefID) Liefert die über eine bestimmte Assoziation übergeordneten Objekte als Array. hlobj.GetItems(&H10000,-1,-1,103413)
  • Liefert die einem Produkt übergeordneten Organisationseinheiten.
GetItems(&H00000,-1,-1,AssocDefID) Liefert die über eine bestimmte Assoziation untergeordneten Objekte als Array. hlobj.GetItems(&H00000,-1,-1,100703)
  • Liefert die einem Mitarbeiter zugeordneten Produkte.
GetItemCount (<flag>,<AssocDef>) Ermittelt die Anzahl assoziierter Objekte. Flag wie oben. hlobj.GetItemCount (&H10000,103413)
  • Liefert die Anzahl der einem Produkt übergeordneten Organisationseinheiten.
AddItem <flag>,<Obj>,<AssocDef> Ordnet das angegebene Objekt dem Objekt unter, für das die Methode aufgerufen wird. Orgunit.AddItem 0, Person, 103410
  • Ordnet das Personenobjekt <Person> der Organisationseinheit <Orgunit> zu.
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
  • Löscht die Assoziation zwischen dem Personenobjekt <Person> und dem zugeordneten Inventar <Asset>.
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)
  • Ermittelt die Inhalts-IDs der Anlagen eines Vorgangs.
GetAttachment <Attribut>,<AttachID>, <SUID> Ermittelt das Anlagenobjekt. Set hlAttachment=hlCase.GetAttachment ("HLOBJECTINFO.ATTACHMENT", AttachID, 0)
  • Ermittelt das Anlagenobjekt eines Vorgangs mit ID <AttachID>. Es kann dann mit Methoden wie GetSize(), GetName() weiter bearbeitet werden.