Existiert in einer Datentabelle ein Verweis auf eine andere Datentabelle (Fremd-ID) können Attribute dieser Relation durch ein Hol-Exit in diese Datentabelle geholt werden (In SQL wird hierfür ein Join verwendet).
Durch ein Hol-Exit können Werte aus der Datentabelle gelesen und in Datenbereichen dargestellt werden, die nicht oder nur sehr umständlich und laufzeitintensiv über die Modulkonstruktion gefunden werden können.
Beispiel
Die Vorgangstabelle (DT463) enthält die Fremd-ID Projekt (DI001097), hier gehört jeder Vorgang zu genau einem Projekt. Über diese Fremd-ID können nun Attribute des jeweiligen Projekts aus der Tabelle Projekt (DT461) geholt werden, um sie z.B. im Modul innerhalb des Vorgangs-Datensatzes anzuzeigen.
Um beispielsweise die Projektbezeichnung innerhalb des Vorgangs anzuzeigen, benötigt man folgendes Hol-Exit-Customizing:
Würde die Software nur mit der Quell-DI (z.B. Projekt 1001) in DT463 suchen, würde es mehrere Vorgangs-Datensätze finden und die Suche wäre nicht eindeutig. Daher erweitert das System die ID, mit der es sucht, automatisch um den Vorgang, damit der richtige Datensatz gefunden wird. In diesem Beispiel liest die PLANTA Software nicht nur DI001178 sondern auch DI001179.
Mehrstufige Hol-Exits
Information
Das folgende Beispiel dient nur zur Veranschaulichung, da eine solche Konstruktion hier nicht nötig ist (Vorgangsbezeichnung kann direkt geholt werden). In individuellen Datenbanken wird diese Funktionalität gelegentlich benötigt.
Beispiel
Die Vorgangsbezeichnung aus der DT463 Vorgang soll in zwei Schritten in die DT472 Belastung geholt werden.
Vorgehensweise
Zuerst muss die Vorgangsbezeichnung per Hol-Exit in ein virtuelles DI der Datentabelle DT466 geholt werden.
Dann muss der Wert dieses DIs aus DT466 per Exit in die Datentabelle DT472 geholt werden.
Hinweis
Diese Funktionalität steht nur bei Modulkonstruktionen zur Verfügung, die die vorhandenen Relationen zwischen den Datentabellen abbilden.
Relationsübergreifende Hol-Exits
Information
Es können auch relationsübergreifende Hol-Exits gecustomized werden.
Beispiel
In der Datentabelle A soll per Exit ein DI aus Datentabelle C geholt werden. Dies ist mit einem relationsübergreifenden Exit möglich, da der N:1 Ident von Datentabelle A zu Datentabelle B zum Teil dem 1:1 Ident von Datentabelle C entspricht und durch Anwenderlogik zu jedem Datensatz in Datentabelle A nur ein Datensatz in Datentabelle C existiert.
Vorgehensweise
Das neue Exit in Datentabelle A muss mit folgenden Parametern definiert werden:
Datentabelle C (Datentabelle aus der gelesen werden soll)
Quell-DI = xyz ( DI, das Werte wie ein DI im Teil des 1:1 Idents von Datentabelle C enthält und die gleichen Parameter haben muss)
Hol-DI = abc (DI das aus Datentabelle C geholt werden soll)
Raster = x (Relation, welche für die Suche in <DT> verwendet werden soll. Z.B. es wird die Relation zu Datentabelle B benutzt, um in Datentabelle C zu suchen)
Hol-Exit über 1:1-Idents aus mehreren Dataitems
Ziel
Holen eines Wertes aus einer Datentabelle (Quelle),
die im 1:1-Ident aus mehreren Dataitems besteht
in der die Quell-DIs der Zieldatentabelle im Dictionary nicht die gleiche Reihenfolge haben wie die 1:1-Idents der Quelldatentabelle
Vorgehensweise
In der Zieldatentabelle:
müssen alle Identbausteine der Quelldatentabelle (DIs) vorhanden sein.
müssen die Identbausteine die gleiche Reihenfolge haben, wie der 1:1-Ident der Quelldatentabelle. Hierfür müssen Wertebereiche erstellt werden.
Implizite Hol-Exits
Information
Um Daten aus übergeordneten Datentabellen anzuzeigen, muss kein Exit gecustomized werden, es kann einfach das Dataitem selbst in den Datenbereich mit aufgenommen werden.