Logo.CortexAG

Anmelden +

Verweisauflösung per Linker

Wie im Abschnitt für die manuelle Linker-Ausführung beschrieben, ist es innerhalb der Datenbank möglich, dass über sog. "Verweisfelder" Relationen zwischen Datensätzen hergestellt werden, um Beziehungen untereinander abzubilden. Die Ausführung mit Hilfe des Plugins ermöglicht dieses zu jeder Zeit. Über eine Konfigurationsdatei kann die Java-Applikation ImPlex auch über Systemdienste aufgerufen werden, um die Verweise regelmäßig und automatisch herzustellen.

Bei der Konfigurationsdatei für den Linker handelt es sich wie bei den Import-Konfigurationen um eine xml-Datei. Diese besteht aus den zwei grundlegenden Abschnitten "Global" für die Login-Parameter und "Linker" für die eigentliche Konfiguration.

<?xml version="1.0" encoding="UTF-8"?>
<CtxImport>
  <Global>
    <LoginIP>_IP-Adresse_</LoginIP>
    <LoginPort>_DB-Port_</LoginPort>
    <LoginUser>_Benutzerkonto_</LoginUser>
    <LoginPW>_Passwort_</LoginPW>
    <ImportModus>u</ImportModus>
  </Global>

  <Linker>
    <Link>...=...</Link>
  </Linker>
</CtxImport>

Im Abschnitt "Linker" wird die Zuweisung des entsprechenden Feldes vorgenommen. Hier wird definiert, über welches Feld in einem Datensatz (links vom Gleichheitszeichen) auf ein Ziel verwiesen werden soll. Zu beachten ist hierbei, dass ein Zielfeld angegeben wird, ein gültiger Link aber auf einen kompletten Datensatz zeigt. Wenn das Zielfeld also in mehreren Datensatztypen verwendet wird, sind entsprechende Felder oder zusätzliche Parameter zu setzen (siehe untenstehende Beispiele).

 

Beispiel mit Login und einfacher Zielfeld-Zuweisung:

<?xml version="1.0" encoding="UTF-8"?>
<CtxImport>
  <Global>
    <LoginIP>127.0.0.1</LoginIP>
    <LoginPort>29000</LoginPort>
    <LoginUser>importusr</LoginUser>
    <LoginPW>importpwd</LoginPW>
    <ImportModus>u</ImportModus>
  </Global>
  <Linker>
    <Link>lPerFir=FirNam</Link>
  </Linker>
</CtxImport>

In dem hier gezeigten Beispiel wird der Inhalt vom Feld mit dem Synonym "lPerFir" in dem Feld "FirNam" gesucht. Wird genau ein Datensatz gefunden, erfolgt die Verweis-Auflösung.

 

optionale Quellfelder

Wurde während des Datenimportes ein anderes Feld gefüllt und das eigentliche Verweisfeld leer gelassen, kann das gefüllte Feld als optionales Quellfeld herangezogen werden. Der Inhalt aus diesem Feld wird also gesucht und der endgültige Link in das Verweisfeld geschrieben. Der Inhalt in dem optionalen Quellfeld bleibt dabei erhalten.

<Linker>
  <Link optQuelle="myFirN">lPerFir=FirNam</Link>
</Linker>

 

optionale Quell- und Ziel-Datensatztypen

Werden dieselben Felder in unterschiedlichen Datensatztypen verwendet, sind eindeutige Links für den Linker möglicherweise nicht eindeutig festzustellen. Um dieses sicherzustellen, eigenet sich die Angabe von Quell- und Ziel-Datensatztypen. Diese werden als Attribut angegeben:

<Linker>
  <Link quellTyp="Pers" zielTyp="Firm">lPerFir=FirNam</Link>
</Linker>

Die Kombination mit optionalen Quellfeldern ist hierbei selbstverständlich möglich:

<Linker>
  <Link quellTyp="Pers" zielTyp="Firm" optQuelle="myFirN">lPerFir=FirNam</Link>
</Linker>

 

mehrere Angaben für die Zielsuche

Um einen eindeutigen Zieldatensatz zu finden, können mehrere Felder angegeben werden. Der Linker sucht dann den Inhalt des noch nicht aufgelösten Verweisfeldes (oder des optionalen Quellfeldes) innerhalb der Datenbank und löst den Verweis auf, wenn die Kombination der Felder einen eindeutigen Datensatz zurückliefert.

Beispielsweise könnten das Quellfeld mehrere Inhalte (durch Komma getrennt) aufweisen:

Argus Verlag, 30916, Hannover

Innerhalb der Datenbank muss der Linker nunmehr die Inhalte für den Firmennamen, die Postleitzahl und den Ort in den entsprechenden Feldern suchen, um eindeutig einen Datensatz zu finden. Um es weiterhin noch genauer einzuschränken, werden Quell- und Ziel-Typ angegeben.

<Linker>
  <Link quellTyp="Pers" zielTyp="Firm" optQuelle="myFirN">lPerFir=FirNam,FirPLZ,FirOrt</Link>
</Linker>

Beachten Sie hierbei, dass diese Art der Konfiguration natürlich zu einer längeren Suche führt, da mehrere Felder überprüft werden müssen. In umfangreichen Datenbeständen wäre es daher unter Umständen erheblich schneller, in einem optionalen Quellfeld einen eindeutigen Wert zu erfassen, der innerhalb eines Feldes als eindeutige Referenz im Zieldatensatz gespeichert wurde.

 

Ergänzende Filterparameter

Ergänzend zu den oben gezeigten Konfigurationen besteht die Möglichkeit, weitere Filterparameter anzugeben. Diese werden einfach hinter die Suchfelder aufgeführt:

<Linker>
  <Link quellTyp="Pers" zielTyp="Firm" optQuelle="myFirN">lPerFir=FirNam,FirPLZ,FirOrt,FirActv=yes</Link>
</Linker>

In dem hier gezeigten Beispiel würde der Link daher nur gesetzt (aufgelöst) werden, wenn folgende Kriterien zutreffen:

  • das Linkfeld wird im Datensatztyp "Pers" genutzt
  • der Verweis soll auf den Datensatztyp "Firm" verweisen
  • es existiert ein optionales Quellfeld "myFirN"
  • das optionale Quellfeld besitzt die Inhalt für Firnemname, Postleitzahl und Ort in genau der Reihenfolge, durch Komma getrennt
  • die Zieldatensätze besitzen in dem Feld mit dem Synonym "FirActv" den Eintrag "yes"

Nur wenn diese Kriterien vollständig zutreffen, wird der Verweis gesetzt.

 

 Hinweise zur Online-Hilfe
 

© 2017 Cortex AG
(letzte Aktualisierung: 12.04.2017)

 Haftungsausschluss 

Impressum    AGB