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.

../_images/lookup-externe-quellen.png

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 einem LIKE gefiltert 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.