In manchen Szenarien ist es beim Wert-Mapping notwendig nicht direkt Zeichen- oder Zahlenwerte in ein definiertes Kategoriefeld einzutragen sondern zuerst ein i-doit Objekt oder einen Dialogwert anhand des Schnittstellen-Quellwerts zu bestimmen und dann dessen ID Wert in das Feld zu schreiben.
So kommt zb. beim Telekom Adapter für jedes Unternehmen eine etwas andere Konfiguration bei dem Feld Kostenstelle und Kostenstellen-User heraus und diese Werte müssen auf ein i-doit Personenobjekt gematched werden.
Um dieses individuelle Vorgehen zu ermöglichen gibt es im SM-VIEW Connect Addon das Konzept der Value Pipeline.
Die Anwendung der Value Pipeline besteht aus 2 Teilen, 1. der Funktionsdefinition und 2. der Funktionsverknüpfung.
Funktionsdefintion
Im Navigationsbereich des Addons muss der Menüpunkt Value Pipeline/Funktionen unterhalb von Management aufgerufen werden.
Auf der rechten Seite können nach belieben neue Funktionen hinzugefügt werden die anhand eines Eingabewertes einen Ausgabewert berechnen.
Beispiel
get_person_by_kürzel
Codeblock |
---|
<?php if(is_array($value)) return $value; //find person return $svc_getObjects->findObjects(53, [[ 'comparison' => '=', 'property' => 'shd_kuerzel', 'category' => 'C__CATG__CUSTOM_FIELDS_SHD_MITARBEITER', 'value' => $value, ]]); |
Im o.g. Beispiel ist bei den Telekom Mobilfunkverträgen das interne Kürzel der Mitarbeitenden eingetragen welche den Vertrag besitzen. Bei der Zuweisung des Vertrags zu den Mitarbeitenden in i-doit muss dafür das korrekte Personen-Objekt identifiziert werden.
Hier im Beispiel ist es so eingestellt dass am Objekttyp “Person” eine Custom Kategorie C__CATG__CUSTOM_FIELDS_SHD_MITARBEITER
erstellt wurde die ein paar firmenspezifische Eigenschaften zu den Mitarbeitenden hält. Im Feld shd_kuerzel
befindet sich eben jener Identifier. Die 53
ist der Objekttyp die ID des Objekttyps “Person”.
Über den in das System eingebauten Service $svc_getObjects
können anhand von mehreren Kriterien ein oder mehrere Objekte aus der i-doit Datenbank gefunden werden.
--
In diese Funktionsdefinitionen werden automatisch bestimmte Variablen eingefügt.
$value
Der Wert der aktuell als Eingabewert zur verfügung steht. Das kann entweder der Quellwert aus der Schnittstelle sein oder ein Ausgabewert einer zuvor ausgeführten Value Pipeline Funktion.
$context
Enthält die komplette “Zeile” des aktuellen Schnittstellenoutputs.
Builtin Funktionen
Um ein paar oft gebrauchte Szenarien einfach zu unterstützen sind diese Funktionen bereits eingebaut:
date_time
Wandelt den Eingabewert (sofern möglich) in ein i-doit verwertbares Datum um
array0
Wenn der Eingabewert ein array ist dann gibt die Funktion das Element an Index 0 zurück