4D v16.3Get locked records info |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Get locked records info
|
Get locked records info ( Tabellenname ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Tabellenname | Tabelle |
![]() |
Tabelle, deren gesperrte Datensätze angezeigt werden sollen | |||||
Funktionsergebnis | Objekt |
![]() |
Beschreibung der gesperrten Datensätze(sofern vorhanden) | |||||
Der Befehl Get locked records info gibt ein Objekt zurück mit verschiedenen Informationen über die aktuell gesperrten Datensätze in Tabellenname.
Das zurückgegebene Objekt enthält die Eigenschaft "records" als Array mit Objekten:
{
"records": [
description object,
(…)
]
}
Jedes Array Element "description object" beschreibt einen gesperrten Datensatz in der angegebenen Tabelle und hat folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
KontextID | UUID (String) | UUID des Datenbankkontextes für die Sperrung |
KontextAttribut | Objekt | Objekt mit derselben Information wie der Befehl LOCKED BY, angewandt auf den Datensatz (siehe unten) |
DatensatzNummer | Lange Ganzzahl | Datensatznummer des gesperrten Datensatzes |
Das Objekt KontextAttribut hat folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
task_id | Zahl[#tab/Refererenznummer des Prozesses | |
user_name | String | Benutzername aus dem 4D Kennwortsystem |
user4d_id | Zahl | Benutzernummer (*) |
host_name | String | Name des Host Rechners |
task_name | String | Prozessname |
client_version | Zahl | Version der Client Applikation |
Nur wenn der Befehl auf 4D Server ausgeführt wird und die Datensatzsperrung von einem remote 4D kommt: | ||
is_remote_context | Boolean | Gibt an, ob die Sperrung von einem remote 4D ausgeht (ist immer wahr, andernfalls gibt es keine) |
client_uid | UUID (String) | UUID des remote 4D, von dem die Sperrung ausgeht |
(*) Sie erhalten den 4D Benutzernamen über den Wert user4d_id mit folgendem Code:
GET USER LIST($arrNames;$arrIDs)
$User4DName:=Find in array($arrIDs;user4d_id)
Hinweis: Der Befehl funktioniert nur mit 4D und 4D Server. Wird er über remote 4D oder eine Komponente aufgerufen, gibt er immer ein ungültiges Objekt zurück, außer die Option "Auf Server ausführen" ist aktiviert. Dann enthält das zurückgegebene Objekt jeweils Informationen über den Server bzw. die Host Datenbank.
Sie führen folgenden Code aus:
$vOlocked :=Get locked records info([Table])
Sind zwei Datensätze in der Tabelle [Table] gesperrt, wird in $vOlocked folgendes Objekt zurückgegeben:
{
"records": [
{
"contextID": "A9BB84C0E57349E089FA44E04C0F2F25",
"contextAttributes": {
"task_id": 8, (*)
"user_name": "roland", (*)
"user4d_id": 1,
"host_name": "iMac de roland",
"task_name": "P_RandomLock", (*)
"client_version": -1342106592
},
"recordNumber": 1
},
{
"contextID": "8916338D1B8A4D86B857D92F593CCAC3",
"contextAttributes": {
"task_id": 9,
"user_name": "roland",
"user4d_id": 1,
"host_name": "iMac de roland",
"task_name": "P_RandomLock",
"client_version": -1342106592
},
"recordNumber": 2
}
]
}
Wird der Code auf einem 4D Server ausgeführt und die Sperrung von einem remote Client Rechnern ausgelöst, wird in $vOlocked folgendes Objekt zurückgegeben:
{
"records": [
{
"contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
"contextAttributes": {
"task_id": 2,
"user_name": "achim",
"user4d_id": 1,
"host_name": "achim-pcwin",
"task_name": "P_RandomLock",
"is_remote_context": true,
"client_uid": "0696E66F6CD731468E6XXX581A87554A",
"client_version": -268364752
},
"recordNumber": 1
}
]
}
Produkt: 4D
Thema: Datensatz sperren
Nummer:
1316
Erstellt: 4D v14 R3
4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)