AdsGetUserLocks()
AdsGetUserLocks() - Eigene Satzsperren einer ADS-Tabelle ermitteln
Die Funktion ermittelt alle eigenen Satzsperren eines speziellen ADS-Tabellen-Objekts.
Insbesondere in Transaktionen können mit dieser Funktion alle in der Transaktion veränderten Sätze ermittelt werden.
Parameter | Beschreibung |
---|---|
oTable:O | Tabellen-Objekt, für welches die Satzsperren ermittlen werden sollen |
Rückgabewert
Array im Format: { Gesperrte Satz-Nr. 1, ..., Gesperrte Satz-Nr. n }
Beispiel
CODE
| oDM, oDab000, oDab010 |
function ShowLockedRecors()
| aTables, aLocks, oTable, i, k |
aTables := AdsGetConnectTables(oDM.AdsConnection),
for i := 1 to 5 do
oDab000.CbEdit(),
oDab000.CbPost(),
oDab000.CbNext(),
next,
for i := 1 to 5 do
oDab010.CbEdit(),
oDab010.CbPost(),
oDab010.CbNext(),
next,
for i := 1 to ALen(aTables) do
oTable := aTables[i],
WriteLn(oTable.AliasName),
aLocks := AdsGetUserLocks(oTable),
for k := 1 to ALen(aLocks) do
oTable.CbGoTo(aLocks[k]),
if oTable.WorkArea = waDAB000 then
WriteLn(' ' + Str(oTable:KDNR)),
else
WriteLn(' ' + oTable:ARTNR),
endif,
next,
next,
end,
oDM := CreateObject('TBeDBGet'),
oDab000 := DBGetTable(oDM, waDAB000),
oDab010 := DBGetTable(oDM, waDAB010),
DBStartTrans(oDM.AdsConnection),
startseq,
WriteLn('Transaktion aktiv'),
ShowLockedRecors(),
DBCommit(oDM.AdsConnection),
onerror,
DBRollBack(oDM.AdsConnection),
Raise(),
stopseq,
WriteLn('Transaktion nicht aktiv'),
ShowLockedRecors()