Informationen

  • 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.

Customizen und Anwenden von Hol-Exists

  • In der Datentabelle, in die ein Wert aus einer anderen Tabelle geholt werden soll (Ziel-DT), ein Dataitem anlegen (Ziel-DI).
    • Dem Dataitem die gleichen DI-Parameter (DB-Länge, DB-Typ,... außer es ist virtuell) zuweisen wie das entsprechende Dataitem, dessen Wert geholt werden soll (Hol-DI), in der anderen Datentabelle (Hol-DT) hat.
  • Ein Hol-Exit im Modul Exits bauen und auf dem Ziel-DI im Feld EXIT hinterlegen.
    • Im Exit sollen folgende Parameter definiert sein:
      • Hol-DI: Dataitem, deren Wert in das Dataitem einer anderen Tabelle geholt werden soll.
      • Hol-DT : Datentabelle, in der sich ein Hol-Dataitem befindet.
      • Quell-DI: Dataitem (in der Ziel-Datentabelle), über welches die Hol-Datentabelle referenziert (angesprochen) wird.
      • Quell-DT: Datentabelle, in der sich das Quell-DI befindet. Somit sind Ziel-DT und Quell-DT immer gleich.
      • Klasse = 1 (steht für Hol-Exit)
      • Option = 0 (steht für Hol-Exit)

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 die Projektbezeichnung innerhalb des Vorgangs anzuzeigen, benötigt man
    • Ein folgendes Hol-Exit customizen:
      • Hol-DT = 461 (Datentabelle, die referenziert wird)
      • Hol-DI = 000690 Projektbezeichnung (DI in der DT461, dessen Wert ausgelesen werden soll)
      • Quell-DI = 001097 Projekt (entspricht dem Primärschlüssel der DT461, in der gesucht werden soll)
      • Quell-DT =463 (diese ist auch gleichzeitig die Zieltabelle, in der im nachfolgenden ein Ziel-DI angelegt wird)
      • Klasse = 1
      • Option = 0
    • Ein neues DI in der DT463 anlegen, das die gleichen DI-Parameter hat wie das DI000690 Projektbezeichnung in der DT461.
    • Das Exit wird diesem DI zugeordnet.

Hinweis

  • Sollen I-Texte per Exit geholt werden, darf das virtuelle DI keine Klasse haben, und der PPMS-Typ muss AL oder ALG sein.

Automatisches Anlegen von Ziel-Dataitems mit Exits

Ziel-Dataitems und die dazugehörigen Exits automatisch anlegen

Hol-Exits mit zusammengesetzten Idents

Informationen

  • Besteht der Ident der Zieltabelle aus mehr als einem DI, vervollständigt die Software automatisch die ID, mit der sie sucht.
  • Dafür müssen die IDs hintereinander in der gleichen Reihenfolge wie in der Quelltabelle stehen. Dabei ist die DB-Pos entscheidend.
    • Tipp: Stehen die IDs der DIs nicht hintereinander, kann ein virtuelles DI angelegt werden, in dem die IDs hintereinander stehen.

Beispiel

  • Die Vorgangsbezeichnung soll aus DT463 Vorgang nach DT464 Vorgangsnotiz geholt werden.
  • Zu diesem Zweck wird ein neues Exit konstruiert
    • Klasse = 1
    • Option = 0
    • DT = 463 (Vorgang)
    • Quell-DI = 001178 (Projekt aus der N:1 Relation zu DT463)
    • Hol-DI = 000807 (Vorgangsbezeichnung in DT463)
  • 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 wird nicht nur DI001178, sondern auch DI001179 ausgelesen.

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 Ident-Bausteine der Quelldatentabelle (DIs) vorhanden sein.
    • müssen die Ident-Bausteine die gleiche Reihenfolge haben, wie der 1:1-Ident der Quelldatentabelle. Hierfür müssen Wertebereiche erstellt werden.

Implizite Hol-Exits

Information

  • Für den Fall, dass Daten aus übergeordneten Datentabellen angezeigt werden sollen, muss kein Exit gecustomized werden, es kann einfach das Dataitem selbst in den Datenbereich mit aufgenommen werden. Dies wird impliziter Hol-Exit genannt.

Hinweis

  • Nach diesem Feld kann nicht gruppiert werden.

Achtung

  • In Modulen mit großen Datenmengen sollten implizite Hol-Exits aus Performancegründen nicht verwendet werden. Weitere Informationen zu Performance-verbessernden Maßnahmen sehen Sie hier.