8.5.1 Aufbau eines Interpretersystembuffers (IS-Buffer)
|
SCString
|
scsName
|
logischer Name über den der Buffer identifiziert wird
|
|
LONG
|
lTable
|
wenn > 0, Buffer wie für Datenbankdatei lDatei dimensioniert.
|
|
LONG
|
lISN
|
ISN für INFRA-Datenbank
|
|
ULONG
|
ulFlag
|
ACAKTBF_Locked, ACAKTBF_New, ...
|
|
LONG
|
lLockMode
|
Lockmodus (Ohne/Single/Multi)
|
|
SCString
|
scsWorkBuf
|
hier werden Veränderungen realisiert
|
|
SCString
|
scsSaveBuf
|
temporäre Sicherung des WorkBuffers
|
|
LONG
|
lBufIndex
|
BufIndex eines assoziierten Applikationsbuffers
|
|
LONG
|
lLen
|
Länge des assoziierten Applikationsbuffers falls lTable <= 0
|
Evtl. wird der IS-Buffer um Elemente erweitert, die die geänderten Felder (Nummern) speichern, um dynamische update/insert -statements mit Hilfe des neuen DD’s zu generieren. Dazu benötigt man noch eine Schnittstelle zum Verändern der Felder. Bei Verwendung dieser Schnittstelle ist dann gewährleistet, dass die Feldveränderungen auch protokolliert werden. Aus dem Protokoll lässt sich dann ein SQL Statement generieren. Die Schnittstelle ist in Form der BufSetFieldFrom..() Funktionen implementiert. Werden nur diese Funktionen verwendet um den WorkBuffer eines ISBs zu verändern, so ist die Protokollierung der Feldveränderungen prinzipiell möglich.
