4D v19entity.lock() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
entity.lock()
|
Eigenschaft | Typ | Beschreibung | |
success | Boolean | wahr bei erfolgreicher Sperraktion (oder wenn die Entity im aktuellen Prozess bereits gesperrt ist), sonst falsch. | |
Nur verfügbar bei Verwenden der Option dk reload if stamp changed: | |||
wasReloaded | Boolean | wahr bei erfolgreichem Laden der Entity, sonst falsch. | |
Nur verfügbar bei Auftreten eines Fehlers: | |||
status(*) | Zahl | Fehlercode, siehe unten | |
statusText(*) | Text | Fehlerbeschreibung, siehe unten | |
Nur verfügbar bei Auftreten eines Fehlers beim pessimistischen Sperrverfahren: | |||
lockKindText | text | "Gesperrt durch Datensatz" | |
lockInfo | Objekt | Angabe zum Ursprung der Sperre | |
task_id | Zahl | Prozess-id | |
user_name | Text | Benutzername der Sitzung auf dem Rechner | |
user4d_id | Zahl | Benutzerkennung im Verzeichnnis der 4D Datenbank | |
host_name | Text | Rechnername | |
task_name | Text | Prozessname | |
client_version | Text | ||
Nur verfügbar bei Auftreten eines ernsthaften Fehlers (Primärschlüssel existiert bereits, Festplatte voll, ...): | |||
errors | Collection von Objekten | ||
message | Text | Fehlermeldung | |
component signature | text | interne Signatur der Komponente (z.B. "dmbg" steht für die Komponente der Datenbank) | |
errCode | Zahl | Fehlercode |
(*) In den Eigenschaften status und statusText des Objekts Result können bei einem Fehler folgende Werte zurückgegeben werden:
Konstante | Wert | Kommentar |
dk status entity does not exist anymore | 5 | Die Entity existiert nicht mehr in den Daten. Dieser Fehler kann in folgenden Fällen auftreten:
Zugewiesener Statustext: "Entity does not exist anymore" |
dk status locked | 3 | Die Entity wird durch pessimistisches Sperrverfahren gesperrt. Zugewiesener Statustext: "Already locked" |
dk status serious error | 4 | Ein ernsthafter Fehler ist ein low-level Fehler in der Anwendung, wie z.B. duplizierter Schlüssel, Hardware Fehler, etc. Zugewiesener Statustext: "Other error" |
dk status stamp has changed | 2 | Der interne Stempelwert der Entity passt nicht zum Wert der in den Daten gespeicherten Entity (optimistisches Sperrverfahren).
|
Beispiel mit Fehler:
C_OBJECT($employee;$status)
$employee:=ds.Employee.get(716)
$status:=$employee.lock()
Case of
:($status.success)
ALERT("Sie haben "+$employee.firstName+" "+$employee.lastName gesperrt)
:($status.status=dk status stamp has changed)
ALERT($status.statusText)
End case
Beispiel mit der Option dk reload if stamp changed:
C_OBJECT($employee;$status)
$employee:=ds.Employee.get(717)
$status:=$employee.lock(dk reload if stamp changed)
Case of
:($status.success)
ALERT("Sie haben "+$employee.firstName+" "+$employee.lastName gesperrt)
:($status.status=dk status entity does not exist anymore)
ALERT($status.statusText)
End case
Produkt: 4D
Thema: ORDA - Entity
4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)