BOI Software Entwicklung und Vertrieb GmbH

Tel: +43 (0) 732 / 736423 - 0

Spazgasse 4

Email: office@boi.at

4040 Linz, Austria

www.boi.at

Wie kann ich die eben überschriebene Tabelle aus der Datenbank auslesen?

Allgemeines

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

Ermittlung der Datenbank-Nummer

Im TABEX/4-SSL-Interface $TAB4PTINF gibt es ein Modul $TAB4_INTF mit dem Entry getDDNbr der zu einer erweiterten Tabellen-ID die Datenbank-Nummer zurückliefert.

Einbindung des TABEX/4-SSL-Interfaces

Mit dem %use-Command muss das TABEX/4-SSL-Interface in das eigene SSL-Programm eingebunden werden:

%use $TAB4PTINF


Aufruf des Modul-Entries

Mit $TAB4_INTF.getDDNbr(tabid,ddnbr,rc,nbrdisp) wird zur erweiterten Tabellen-ID tabid die Datenbank-Nummer ddnbr ermittelt.

nbrdisp kann angegeben werden, wenn nicht die Datenbank-Nummer zu tabid selbst, sondern die zu einem Eintrag mit gleichem Tabellennamen und Versionsdatum davor (negativer ddnbr-Wert) oder danach (positiver ddnbr-Wert) zurückgegeben werden soll. Mit nbrdisp = -1 kann z.B. die Datenbanknummer der mit tabid überschriebenen Version abgerufen werden. 

Bedeutung der Parameter

Der Modul-Entry $TAB4_INTF.getDDNbr ist folgendermaßen definiert:

tabid   char(40) / Inp ... Erweiterte Tabellen-ID (siehe
                                     unten)
ddnbr   char(10) / Out ... Datenbank-Nummer in der Form
                                     &&nnnnnnnn
rc      char(1)  / Out ... Return Code (siehe unten)
nbrdisp fixed    / Inp ... Versions-Displacement (siehe oben)

Die erweiterte Tabelle-ID tabid hat folgende Struktur:

dcl tabnam   char(10) def tabid unal /* table name    */
dcl tabver   char(08) def tabid unal /* table version */
dcl tabdd    char(08) def tabid unal /* database      */
dcl tabcdat  char(08) def tabid unal /* creation date */
dcl tabctim  char(06) def tabid unal /* creation time */

Die Datenbank-Nummer ddnbr wird in der Form &&nnnnnnnn (n ... eine Zahl zw. 0 und 9) zurückgegeben.

Der Return-Code rc kann folgende Ausprägungen haben:

  rc = ' ':  ddnbr enthält die Datenbank-Nummer gemäß tabid
                und nbrdisp in der Form &&nnnnnnnn
  rc = 'U':  tabid ist nicht eindeutig und ddnbr enthält die
                Datenbank-Nummer in der Form &&nnnnnnnn gemäß
                nbrdisp vom letzten Eintrag, der tabid
                entspricht 
  rc = 'N':  die tabid wurde in der Datenbank nicht gefunden
  rc = 'E':  System-Fehler

Beispiel

Die Tabelle VERTRAG mit dem Versionsdatum 00000000 wurde um 12:32:51 am 28.10.2011 in die Datenbank TABVSAM gespeichert.

Es soll die jetzt überschriebene Version dieser Tabelle gefunden werden.

Mit folgendem Code-Fragment wird die Datenbank-Nummer der jetzt überschriebene Version (nbrdisp = -1) der Tabelle VERTRAG-00000000(TABVSAM) ermittelt:

  %use $TAB4PTINF

  dcl tabid      char(40)
  dcl ddnbr      char(10)
  dcl rc         char(1)
  dcl nbrdisp    fixed

  dcl tabnam     char(10) def tabid unal
  dcl tabver     char(08) def tabid unal
  dcl tabdd      char(08) def tabid unal
  dcl tabcdat    char(08) def tabid unal
  dcl tabctim    char(06) def tabid unal

  tabnam  = 'VERTRAG'
  tabver  = '00000000'
  tabdd   = 'TABVSAM'
  tabcdat = '20111028'
  tabctim = '123251'
  nbrdisp = -1

  $TAB4_INTF.getDDNbr(tabid,ddnbr,rc,nbrdisp)
  select
  when rc = ' ' then
     /* tabid is unique and was found: ddnbr is not BLANK*/
  when rc = 'U' then
     /* tabid is not unique: ddnbr = last found tabid*/
  when rc = 'N' then
     /* tabid was not found: ddnbr = ' ' */
  otherwise
     /* system error: ddnbr = ' ' */
  end

Gültig ab

TABEX/4 Version 4.2.0

Migrationspakete

Die BOI GmbH bietet Migrationspakete für die Ablöse der Tabellen-managementsysteme SPITAB, TABSYS und VTAS an.

 

» Migrationspakete

Success Stories

AirPlus International setzt seit 20 Jahren auf TABEX.

 

Durch die Einführung der TABEX/4 JAVA APPLICATION ENGINE konnte die lückenlose Protokollierung der Business-Abläufe auch in Java-Anwendungen ohne großen Aufwand umgesetzt werden.

 

» diese Success Story lesen

» weitere Success Stories