Use CSV Data
You can deploy auxiliary data from CSV-files in todo4teams and evaluate these in your scripts. CSV-files contain tabular data, which may be compared to Excel spreadsheets. You can store any Excel spreadsheet in the CSV-format.
The following procedures help to realize lookup-functions in todo4teams. Imagine, for example, that you have created a table that maps in a two-column view hundreds of product names to the names of the ten Todo groups to which the respective service requests should be routed.
The content of this CSV file is stored in the "Server-Settings" in which you should specify a key "ProduktZuGruppeCSV" and copy the file contents into the "Value" field.
Das folgende Beispiel erzeugt aus dieser Server-Einstellung einen sogenannten CSV-Cache und liest anschließend den Namen der Todo-Gruppe zu einem Produktnamen aus dem CSV-Inhalt.
if(helper.getCsvDataCache("myCache")==null)
{
// CSV-Cache mit dem Namen myCache erzeugen:
helper.createCsvDataCacheFromString("myCache", helper.getServerPropertyByName("ProduktZuGruppeCSV"));
}
// CSV-Cache ermitteln:
var cache = helper.getCsvDataCache("myCache");
// Suche nach dem Wort produktname in der ersten Spalte der Tabelle
// und Rückgabe des Wertes aus der Spalte mit dem Titel „Gruppe“:
var gruppe = cache.getLookupContainsValue(produktname,"Gruppe");
println("Gruppe : "+gruppe);
Die Funktionen im einzelnen:
Erzeugt einen CSV-Cache aus den CSV-Daten in der Zeichenkette csvData und speichert ihn unter dem Namen cacheName.
public void createCsvDataCacheFromString(String cacheName, String csvData)
Erzeugt einen CSV-Cache durch Laden der CSV-Daten aus einer URL (z.B. http://fileserver/daten/produkte.csv oder file://home/daten/produkte.csv) und speichert ihn unter dem Namen cacheName.
public void createCsvDataCacheFromUrl(String cacheName, String url,int expiryInterval)
Ermittelt einen CSV-Cache. Mit dem Namen cacheName. Falls noch kein Cache mit diesem Namen erzeugt wurde , wird null zurückgeliefert.
public CsvDataCache getCsvDataCache(String cacheName)
Methoden des CsvDataCache-Objektes:
Sucht eine Zeile der CSV-Datei in diesem Cache, die in der ersten Spalte den Wert lookup enthält und liefert den Zeilen wert aus der Spalte zurück, die in der ersten Zeile den Wert (Spaltennamen) column hat.
CsvDataCache.getLookupContainsValue(String lookup, String column)
Wenn man den obigen Code nun mit folgender Excel-Datei ablaufen läßt, wird „Service-Software“ als Ergebnis geliefert.
CSV-Datei:
Produktname | Gruppe |
---|---|
AX-500 | Service-Hardware |
CF-Plus | Service-Software |
FG-150 | Kundendienst |
Wie getLookupContainsValue(), allerdings wird hier lookup exakt mit dem Spalteninhalt verglichen.
CsvDataCache.getLookupValue(String lookup, String column)