Exits/Protokoll-Exits

Welche Exit-Möglichkeiten gibt es?

Was sind Exits?

Exits sind Programme der TABEX-eigenen Programmiersprache SSL. Sie können vom Kunden in TABEX4 eingebunden werden, um an gewünschter Stelle eigene Prüfungen, Nachbearbeitungen, usw. durchzuführen.

SSL bietet auch die Möglichkeit, externe Programme (PL/I, Cobol, C usw.) aufzurufen.

Exit-Möglichkeiten

  • Instanzinitialisierung (nach dem Laden der Instanzkonfigurationstabelle)
  • Setzen eines Wertes eines Systemparameters
  • nach Selektion eines Menüpunkts
  • Erzeugen eines TABEX View Statements für die dynamische Viewanzeige
  • Berechtigungsprüfung
  • Spezifizieren eines SSL-Programms als Handler für ein kundenspezifisches Icon
  • nach Selektion einer TABEX Tabelle aus dem TABEX Datenbankindex
  • Vorgabe für neues Tabellenversionsdatum
  • nach Commit eines Updates einer TABEX Tabelle
  • nach Online-Transfer von der Modifikationsdatenbank in die Produktionsdatenbank
  • nach Batch-Transfer von der Modifikationsdatenbank in die Produktionsdatenbank (TBVW02-TRANSFER)
  • Definieren von Sichten für das Laden von Daten aus relationalen Datenbanken (mit technischen Feldern bei Zeilenversionsführung)
  • nach dem Laden von Daten aus relationalen Datenbanken
  • vor dem Update von Daten in relationale Datenbanken
  • Übertragen von Jobparameterwerten
  • Protokoll-Exits, wenn in der Web-Applikation die Protokollierung eingeschaltet ist, bzw. für die Commands der Utilities TBVW01 und TBVW02. Protokoll-Exits können bei sämtlichen Tabellenänderungsmenüpunkten aufgerufen werden. (Die Namen der kundenspezifischen MOD-IDs müssen mit 'MY' beginnen.)
  • Ermitteln der TabellenID für den nächsten Step einer Tabellensequenz

Programmierhilfen

Für die Exit-Programmierung werden Table Manager Interfacefunktionen zur Verfügung gestellt, die in der Implementierung der Exits verwendet werden können:

  • Abfragen der aktiven Instanz
  • Abfragen der aktiven Datenbank
  • Löschen des aktiven TABEX Tabellenindex, sodass das System diesen Index wieder erneut aufbauen muss
  • Lesen des Tabellenstatus
  • Schreiben von Kundendaten (10 Bytes) in den Tabellenstatus
  • Methoden zur Ausgabe von Textzeilen und Messages
  • Starten von Jobs
  • Lesen von Systemparameterwerten
  • Abfragen der Modul-Parameter
  • Aufbauen einer Verbindung zu einer relationalen Datenbank
  • Laden einer RDB-Tabelle als TABEX DB in den Speicher
  • Abfragen der MOD-ID
  • Abfragen von Berechtigungen
  • Abfragen von Freigabeverfahren
  • Erstellen von Kunden-Protokolleinträgen
  • Abfragen von Tabellen-Sperreinträgen
  • Ausführen einer automatischen Datenbank-Allokation

Wenn Sie Fragen zur Exit-Programmierung haben, wenden Sie sich bitte an unseren Support. Gerne unterstützen wir Sie im Rahmen eines Consultings bei der Implementierung Ihrer Exits.

Siehe auch:

BOIDOC-209a_Config

Ich möchte einen Exit nach der Tabellenselektion, aber vor der Tabellenpflege aufrufen. Wie erreiche ich das?

Soll der Exit zwischen Selektion der Tabelle und Durchführung der aufgerufenen Funktion, wie z.B. der Pflege der Tabelle, aufgerufen werden, dann ist der Exit über Steuertabelle $TAB4PTC24 zu definieren. Details zu den Steuertabelleneinträgen und ein Beispiel finden Sie in BOIDOC-209a_Config.

 

Siehe auch:

BOIDOC-209a_Config

Wie kann ich in einem Exit eine selbstdefinierte Meldung ausgeben?

Wie kann ich eine überschriebene Tabelle aus der TABEX Datenbank auslesen?

Allgemeines

Wenn es sich bei der TABEX Datenbank um keine Random-Datenbank handelt und sie noch nicht reorganisiert wurde, können überschriebene Tabellenversionen mittels der Datenbank-Nummer noch gelesen werden.

Dabei ist als Tabellenname ‚&&nnnnnnnn‘ zu verwenden, wobei ‚nnnnnnnn‘ die Datenbanknummer ist.

Die Datenbanknummern zu den Tabellen einer TABEX Datenbank ist in Feld ‚TI_POSITION‘ der Datenbank-Indextabellen zu finden.

Datenbank-Indextabellen sind in BOIDOC-201_Basis beschrieben.

Funktion zur Ermittlung der Datenbank-Nummer

Im Table Manager Interface $TAB4PTINF gibt es die Funktion getDDNbr, welche zu einer erweiterten Tabellen-ID die Datenbank-Nummer zurückliefert.

Details zu der Funktion und ein Beispiel finden Sie in BOIDOC-209a_Config.

 

Siehe auch:

BOIDOC-201_Basis

BOIDOC-209a_Config

Wie kann ich im Protokoll-Exit feststellen, welche Instanz gerade aktiv ist?

Die aktuelle Instanz kann über das TABEX4 Interface abgefragt werden.

Das TABEX4 Interface muss mittels "%use $TAB4PTINF" in Ihr Exit-Programm eingebunden werden. Die aktive Instanz kann dann mittels "$TAB4_INTF.getInst()" abgefragt werden, z.B.:

[...]

%use $TAB4PTINF

dcl instance char(08)

instance = $TAB4_INF.getInst()

[...

Siehe auch:

BOIDOC-209a_Config

Gültig ab TABEX4 Version 4.1.2

Wie kann ich in einem Exit eine selbstdefinierte Meldung ausgeben?

Eigene Meldungen erstellen

Eigene Meldungen können mit Menüpunkt Administration / Anwendung / Explorer-Menü / Meldung bearbeiten in die Kunden-Meldungstabelle $TAB4PL030 eingetragen werden.

 

Beispiel:

Meldungseintrag in $TAB4PL030:

Nachr.Nr

Typ

Nachricht

PRO0001

E

Testmeldung für Tabelle &1 im Fehlerfall

Ausgabe von Meldungen per Interfacefunktion

Mit den Interfacefunktionen $tab4_intf.putTXT und $tab4_intf.putMSG können Meldungen und Texte ebenfalls ausgegeben werden.

Details finden Sie in BOIDOC-209a_Config.

Ausgabe von Meldungen per Exit-Parameter

Hat der Exit Parameter für Meldungsnummer und Meldungsparameter, so kann im Fehlerfall durch entsprechende Setzung dieser Parameter die Ausgabe einer Meldung veranlasst werden.

Beispiel für Protokoll-Exit PROT_OPEN:
Im Fehlerfall (apprc > ' ') wird die Meldung PRO001 ausgegeben, nachdem der Platzhalter &1 durch den Tabellennamen ‚TAB001‘ ersetzt wurde.

Setzung im Exit-Programm:

dcl tabname char(10) inppar 03 /* table name */

dcl apprc char(01) outpar 07 /* return code: apprc<>' '=> no logging */

dcl msg_id char(07) outpar 08 /* message ID */

dcl msg_prm char(450) outpar 09 /* message parameter */

apprc = 'E'

msg_id = 'PRO0001'

msg_prm = tabname

Siehe auch:

BOIDOC-209a_Config