Externe Quellen / Lookup-Services
Bemerkung
Diese Funktion steht für docs365 documents Cloud nicht zur Verfügung.
Angenommen, Sie haben bereits ein Archiv, dessen Daten in docs365 documents verwendet werden sollen. Sie können Datenfelder bestücken, indem Sie Vorschläge aus einer externen Quelle übernehmen. Die Dialogbox, über die Sie die Verknüpfung herstellen, finden Sie unter „Archive“, Registerkarte „Datenfelder“ und dort über das Zahnradsymbol.
Konfiguration von Lookup-Services
Diese Einstellung sorgt dafür, dass im Archivieren-Dialog die Vorschlagsliste für dieses Feld aus einer externen Datenbank geladen wird. Damit externe Datenquellen zur Auswahl stehen, müssen diese zunächst über die (evtl. neu anzulegende) Datei lookup.ini im config-Verzeichnis konfiguriert werden.
Eine einfache lookup.ini sieht folgendermaßen aus:
[DEFAULT]
DSN = MSSQL
[Postleitzahl]
sql = SELECT TOP 50 plz::VARCHAR FROM orte WHERE plz::VARCHAR LIKE {filter} ORDER BY plz ASC;
[Kunde]
DSN = C:\DSN\MySQL.dsn
UID = myuser
PWD = mypassword
sql = SELECT beleg_nummer FROM rechnungen WHERE beleg_nummer LIKE {filter} ORDER BY beleg_nummer ASC;
In dieser lookup.ini sind zwei externe Datenquellen konfiguriert, die anschließend in der Administrationsoberfläche ausgewählt werden können: Postleitzahl und Kunde. Jede Sektion in der INI-Datei bestimmt eine externe Datenquelle.
Der Konfigurationsparameter DSN ist Pflicht in jeder Sektion, jedoch können über die Sektion [DEFAULT] Vorgabewerte konfiguriert werden, die in allen Sektionen gelten, solange sie nicht überschrieben werden. Im Beispiel oben erbt die Sektion [Postleitzahl] also DSN = MSSQL, die Sektion [Kunde] überschreibt diesen Parameter allerdings mit einem neuen Wert.
Folgende Parameter werden für die ODBC-Konfiguration unterstützt:
- DSN
Pflichtparameter. Mögliche Werte sind der Name einer im System konfigurierten DSN oder der absolute Pfad zu einer Datei-DSN. Da PHOENIX Archiv eine 64-Bit-Anwendung ist, werden nur 64-Bit-ODBC-Datenquellen unterstützt.
- UID
Der Datenbank-Benutzer.
- PWD
Das Passwort des Datenbank-Benutzers.
- SERVER
Der Hostname des Datenbankservers.
- DATABASE
Der Name der Datenbank.
Die Parameter UID, PWD, SERVER, und DATABASE sind optional, sofern sie schon direkt
in der DSN konfiguriert worden sind.
Die Option sql definiert die SQL-Anweisung, mit der die Vorschlagsliste geladen werden kann. Die SQL-Anweisung muss exakt eine Text-Spalte zurückgeben und kann einen Parameter akzeptieren:
- {filter}
Wenn ein Benutzer in der Vorschlagsliste z.B. „Re“ eingibt, soll die Vorschlagsliste auf alle Werte gefiltert werden, die mit „Re“ anfangen. In diesem Fall wird
{filter}in der SQL-Anweisung durch'Re%'ersetzt, sodass die Ergebnismenge mit einemLIKEgefiltert werden kann. Wenn kein Filter existiert, wird ein'%'übergeben.
Der {filter}-Parameter und Rückgabewert der SQL-Anweisung erwarten Textspalten (z.B.
VARCHAR). Wenn die zu durchsuchende Spalte beispielsweise ein int ist, sollte daher ein
entsprechender Cast durchgeführt werden.
Abhängige Felder
Vorschläge bei externen Datenquellen unterstützen zusätzlich die Möglichkeit, andere Felder abhängig vom ausgewählten Wert automatisch auszufüllen. Angenommen, es gibt ein Archiv mit den beiden Datenfeldern Postleitzahl und Ortsname. Für das Feld Postleitzahl wird eine Vorschlagsliste konfiguriert, die die Daten aus einer externen Datenbank lädt. Wenn der Benutzer nun eine Postleitzahl auswählt, soll der dazu gehörende Ortsname automatisch ausgefüllt werden. Dazu wird in der lookup.ini für die Sektion [Postleitzahl] eine Untersektion autofill erstellt:
[Postleitzahl]
sql = SELECT TOP 500 plz::VARCHAR FROM orte WHERE plz::VARCHAR LIKE {filter} ORDER BY plz;
[Postleitzahl / autofill]
ortsname = SELECT DISTINCT name FROM orte WHERE plz::VARCHAR = {value};
bundesland = SELECT bundesland FROM orte WHERE plz::VARCHAR = {value};
Die Untersektion autofill enthält Einträge im Format Feldname = SQL-Anweisung. Der Feldname ist der Kurzname der Spalte, die automatisch mit dem von der SQL-Anweisung zurückgegebenen Wert ausgefüllt wird. {value} wird durch den vom Benutzer auswählten Wert ersetzt. Wenn die abhängig ausgefüllten Felder bereits einen Wert enthalten, wird dieser überschrieben.
Vorgehen bei Fehlern
Wenn es beim Laden von Vorschlägen aus einer externen Datenquelle einen Fehler gibt (z. B. wenn die SQL-Syntax nicht richtig ist oder der externe Server nicht erreicht werden kann), wird Benutzern keine Fehlermeldung in der Oberfläche angezeigt, sondern eine leere Vorschlagsliste zurückgegeben. Stattdessen wird die Fehlermeldung in die Datei logs\service.log geschrieben. Wenn es also wider Erwarten eine leere Vorschlagsliste in der Oberfläche gibt, sollte zunächst diese Log-Datei auf eine Fehlermeldung überprüft werden.