Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
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.
Hinweis: Der Befehl funktioniert nur mit 4D und 4D Server. Wird er über remote 4D aufgerufen, gibt er ein ungültiges Objekt zurück, außer die Option "Auf Server ausführen" ist für die aufrufende Methode aktiviert. Dann enthält das zurückgegebene Objekt Informationen über den Server. Wird er über eine Komponente aufgerufen, wird er immer auf die Host Datenbank angewendet.
Das zurückgegebene Objekt enthält eine "Records"-Eigenschaft, die eine Collection von Objekten ist:
{
"records": [
description object,
(…)
]
}
Jedes Collection-Element "description object" identifiziert einen gesperrten Datensatz in der angegebenen Tabelle. Es enthält je nach Ursprung der Sperre (4D Prozess oder REST API) unterschiedliche 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_alias | String | Mit SET USER ALIAS definierter User-Alias, ansonsten Benutzername im 4D Datenbankverzeichnis |
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)
Eigenschaft | Typ | Beschreibung |
host | String | URL, mit der die Entity gesperrt wurde, z.B. "127.0.0.1:8044" |
IPAddr | String | IP-Adresse, die in der URL verwendet wird, mit der die Entity gesperrt wurde, z. B. "127.0.0.1". |
recordNumber | Ganzzahl | Datensatznummer des gesperrten Datensatzes |
userAgent | String | User Agent des Lockers, z.B. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" |
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
Geändert: 4D v19 R4
4D Programmiersprache ( 4D v20 R7)