Skip to main content

Macros

Sie können Macros anlegen, die innerhalb von Regeln ausgeführt werden und Werte zurückliefern. Solche Ruleset-Macros ermöglichen es bspw., in Abhängigkeit der in einem Formularfeld eingegebenen Daten weitere Daten vom einem Objekt oder einer externen Datenquelle zu beziehen und diese ins Formular zu setzen. Konkrete Anwendungsfälle können sein:

  • Nach Auswahl eines Betroffenen Assets ermittelt das Macro den zugehörigen Standort und liefert diesen zurück. Die Regel kann diese Information weiter verarbeiten und den Standort in ein nicht bearbeitbares Dynamisches Feld schreiben.

  • Im Formular wird ein Betroffener Service ausgewählt. Der darin enthaltene Geplante Aufwand wird direkt in das versteckte Dynamische Feld PlannedEffort geschrieben.

  • Das Übernehmen des Ticketverantwortlichen auf Basis des am Ticketkontakt hinterlegten Key-Account-Agenten.

    Es wird ein Kontakt im Feld ChangeUser ausgewählt. Das Attribut "Contact.DynamicField_ManagerContact" wird automatisch in das Feld ChangeUserManager eingetragen.

    Diese Funktion steht auch und insbesondere an Formularfeldern des Typs "Data Source" zur Verfügung.

  • Bei Anbindung von externen Datenquellen über das Add-on KIX Connect werden nach Auswahl eines Datensatzes aus der externen Datenquelle die verschiedenen Teile des Callbacks direkt in die betroffenen Felder der geöffneten Maske eingefügt.

Ruleset-Macros werden zentral im Menü Workflow > Rule Sets > Macros angelegt und verwaltet. Sie können somit von jeder beliebigen Regel und beliebig oft ausgeführt werden. In Verbindung mit der Macro Action "Set Result" kann das Macro-Ergebnis (Werte) zurück an die aufrufende Regel geliefert werden.

Mit Ruleset-Macros können somit auch prozessorientierte Anwendungsfälle des Gesprächsleitfadens aus KIX17 in KIX18 abgebildet werden.

Ein Ruleset-Macro anlegen

  1. Navigieren Sie zu Workflow > Rule Sets > Macros

    Im Contentbereich wird eine Tabelle geöffnet, die alle im System angelegten Ruleset-Macros auflistet.

  2. Klicken Sie Klicken Sie im Header der Tabelle auf Neues Macro, wenn Sie ein neues Ruleset-Macro anlegen möchten.

    Es wird ein Formular-Dialog geöffnet, in dem Sie ein neues Ruleset-Macro schrittweise anlegen können.

  3. Geben Sie in den Macro Informationen Name und Typ des neuen Macros an und notieren Sie ggf. einen Kommentar.

    Erst danach können Sie zum nächsten Schritt gehen.

  4. Klicken Sie auf die kleinen blauen Pfeilschaltflächen oder auf die dazwischen befindlichen blauen Punkte, um zum nächsten Schritt zu gelangen.

  5. Konfigurieren Sie im Schritt Macro die im Ruleset-Macro auszuführenden Aktionen.

    Für die Konfiguration der Macros stehen die gleichen Macros Actions zur Verfügung wie für die Konfiguration von Jobs oder Aktionen.

    Hinweis: Ergebnisse, die im aufrufenden Ruleset verwendet werden sollen, müssen mit der MacroAction "Set Result" zurückgegeben werden.

  6. Optional: Konfigurieren Sie eine zusätzliche Aktion mit der Macro Action "Set Result", um das Macro-Ergebnis an die aufrufende Regel zurückzuliefern.

    Die Ergebnisse sind nach Ausführung des Macros als Variablen im Ruleset vorhanden.

    Der Zugriff auf das Macro-Ergebnis erfolgt mittels Alias und Name der Result Variable aus der Macro Action "Set Result" (${<Alias>.<Result>} ) (z. B. ${Macro1.OrderList})

    WFR-Macros_macro-konfiguration.png

    Abb.: Beispielkonfiguration eines Ruleset-Macros

  7. Speichern Sie abschließend Ihrer Eingaben mit Speichern.

Danach kann das Macro von einer beliebigen Regel aufgerufen und verarbeitet werden.

Ausführen von des Ruleset-Macros in einer Regel

Ruleset-Macros werden mit dem Befehl ExecuteMacro ausgeführt. Durch Angabe des Macro-Namens spezifizieren Sie, welches Macro ausgeführt werden soll. Dem Macro können Parameter übergeben werden, welche dann im Macro als Variablen zur Verfügung stehen.

Syntax: ExecuteMacro "<MacroName>" as <Identifier> with <JOSNObject>

  • MacroName: Name des Ruleset-Macros, welches ausgeführt werden soll

  • Identifier: Bezeichner der Ergebnisvariable. In dieser wird das von der Macro zurückgelieferte Ergebnis gespeichert.

  • JOSNObject: JSON-String, der die Parameter für das Macro enthält. Die Parameter stehen innerhalb des Macros als Variablen für die Verarbeitung zur Verfügung (z. B. { "ObjectID" : 2 }).

Beispiel: Regel, in der das Macro "HoleTicket" ausgeführt wird.

Rule "SetPrio" on Ticket if TR.StateID == 1
   ExecuteMacro "HoleTicket" as TicketResult with {"ObjectID":2, "SearchTicketID":1}
   Set PriorityID ${TicketResult.MyTicket.ticket_priority_id}
End

Die dazugehörige Konfiguration des Macros:

WFR-Macros_macro-konfiguration.png

Erläuterung:

  • SearchTicketID wird als Parameter im JSONObject an das Macro übergeben.

  • SearchTicketID wird als Variable im Macro verwendet, um die Datenquelle zu parametrisieren.

  • Set Result definiert die  Ergebnisvariable MyTicket, welche als Inhalt den Datensatz aus der Datenquelle hat.

  • MyTicket ist dann Bestandteil des Macro-Ergebnisses, auf welches mittels des Alias zugegriffen werden kann.

Beispiel: Verwendung von JQ, um auf Werte eines Dynamischen Feldes zuzugreifen

ExecuteMacro "HoleArtikelDaten" as ArtikelResult with { 
   "ObjectID": 2, 
   "Artikelnummer": ${TR.DynamicFields|JSON|jq(.[] :: select(.Name == "Artikelnummer") :: .Value)}
}

Weiterführende Informationen: Variablen-Filter "jq"

Nach Ausführung des Macros stehen die Ergebnisse im RuleSet zur Verfügung und können dort weiterverarbeitet werden. Der Zugriff erfolgt mittels Alias und Name der ResultVariable aus der MacroAction "SetResult" .

  • Syntax: ${<Alias>.<Result>}

    Beispiel: ${Macro1.OrderList}