3.1.4.2 Datenbankzugriffe
BufCreateBuffer(BufName,Datei,Länge,lLockMode)
Neuen Buffer im Aktionenobjekt anlegen wenn Datei > 0 dann wie Dateibuffer, ansonsten mit der übergebenen Länge. „lLockMode“ wird für das Lesen mit „BufSelectLookupRecord“ oder „BufSelectBuffer“ vorbereitet.
 
 [II.CreateBuffer(...)]
BufRemoveBuffer(BufName)
Entfernt einen ASB aus dem AktionenObjekt
 
 [II.RemoveBuffer(...)]
BufUseAssocBuffer(BufName,
lBufIndex,lLen, lTable,lUniqueKey)
Assoziierte Applikationsbuffer können mit dieser Funktion als Aktionensystembuffer (ASB) übernommen werden. Wenn der ASB BufName schon existiert wird der assoziierte Buffer in den bestehenden ASB übernommen
 
[II.UseAssocBuffer(...)]
BufSyncApplBuffer(BufName)
Kopiert den Arbeitsbereich eines ASB in den assoziierten Buffer des Anwendungsprogrammes
 
[II.SyncApplBuffer(...)]
BufSelectLookupRecord(SourceBufName,LookupBufName,
lLookupPfad,lLookupLfdNr,lRcDbs,  lRequired)   
Einlesen eines bisher noch nicht vorliegenden Datensatzes für Erweiterungen, die in den Standardaktionen nicht vorliegen
 
[II.SelectLookupRecord(...,&lRcDbs,...)]
SourceBufName:
Buffername des Ausgangssatzes (ASB) der Kopplung für das Lesen
LookupBufName:
Buffername des zu lesenden Satzes, muss mit „BufCreateBuffer“ angelegt werden. Die zu lesende Datei wurde dort definiert.
lLookupPfad:
Pfad für den Datenbankzugriff
lLookupLfdNr
Nummer der Kopplung zwischen der Datei laut „SourceBufName“ und der zu lesenden Datei laut „LookupBufName“
lRcDbs
Datenbankfehlernummer
lRequired:
0 = Satz muss nicht vorhanden sein, wenn nicht vorhanden -> lRc = 0
1 = Satz muss vorhanden sein
BufSaveBuffer(BufName)                            
WorkBuf in SaveBuf kopieren
 
[II.SaveBuffer(...)]
BufRestoreBuffer(BufName)                        
SaveBuf in WorkBuf kopieren
 
[II.RestoreBuffer(...)]
BufLockBuffer(BufName,lLockMode)    
lLockMode: Single = 1, Multi = 2.
 
[II.LockBuffer(...)]
BufUnlockBuffer(BufName)
 
[II.UnlockBuffer(...)]
BufIsLockedBuffer(BufName,lLocked)  
Abfrage ob ein Buffer innerhalb des IPS (nicht in der Anwendung) bereits mit Lock gelesen wurde
Ergebnis in lLocked Nein(0), Single(1), Multi(2).
 
[II.IsLockedBuffer(...)]
BufUpdate/BufInsert/BufDeleteBuffer(BufName)
ISB sofort mit DbsCall verarbeiten. Update hält Singlelock nicht mehr aufrecht. Hat der Puffer eine Assoziation zu einem Applikationspuffer, so wird letzterer bei allen drei Calls aktualisiert.
 
[II.Update/Insert/DeleteBuffer(...)]
BufSelectBuffer(BufName,lIndex,lRcDbs,lRequired)                       
ASB sofort mit DbsSelect holen, wenn lIndex == 0 oder > 10, wird lUnique verwendet. Wenn Datei leer oder Satz nicht gefunden à Returncode DbsSelect in lRcDbs
 
lRcDbs:
Datenbankfehlernummer
 
lRequired:
0 = Satz muss nicht vorhanden sein, wenn nicht vorhanden -> lRc = 0
1 = Satz muss vorhanden sein
 
[II.SelectBuffer(...,&lRcDbs,...)]
BufFetchNext(BufName, lLookupPfad,lRcDbs)                 
sequentielles Lesen
 
[II.FetchNextBuffer(...,&lRcDbs)]
Prüft ob ein ASB an Funktion übergeben wurde. Falls ja, wird der Inhalt in den String strValue übertragen.
 
[II.QueryBufferWork(BufName,strValue)]
?
 
[II.FindBufferWork(...,....)]