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
|
|
[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(...,....)]
|
