Codeblock Onlinehilfe

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


| 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()