4D v16.3

Get locked records info

Home

 
4D v16.3
Get locked records info

Get locked records info 


 

Get locked records info ( Tabellenname ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Tabellenname  Tabelle in Tabelle, deren gesperrte Datensätze angezeigt werden sollen
Funktionsergebnis  Objekt in 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:

EigenschaftTypBeschreibung
KontextIDUUID (String)UUID des Datenbankkontextes für die Sperrung
KontextAttributObjektObjekt mit derselben Information wie der Befehl LOCKED BY, angewandt auf den Datensatz (siehe unten)
DatensatzNummerLange GanzzahlDatensatznummer des gesperrten Datensatzes

Das Objekt KontextAttribut hat folgende Eigenschaften:

EigenschaftTypBeschreibung
task_idZahl[#tab/Refererenznummer des Prozesses
user_nameStringBenutzername aus dem 4D Kennwortsystem
user4d_idZahlBenutzernummer (*)
host_nameStringName des Host Rechners
task_nameStringProzessname
client_versionZahlVersion der Client Applikation
Nur wenn der Befehl auf 4D Server ausgeführt wird und die Datensatzsperrung von einem remote 4D kommt:
is_remote_contextBooleanGibt an, ob die Sperrung von einem remote 4D ausgeht (ist immer wahr, andernfalls gibt es keine)
client_uidUUID (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
        }
    ]
}



Siehe auch 

Locked

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Datensatz sperren
Nummer: 1316

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v14 R3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)