4D v16.3

Get locked records info

Accueil

 
4D v16.3
Get locked records info

Get locked records info 


 

Get locked records info ( laTable ) -> Résultat 
Paramètre Type   Description
laTable  Table in Table de laquelle vous souhaitez connaître les enregistrements verrouillés
Résultat  Objet in Description des enregistrements verrouillés (le cas échéant)

La commande Get locked records info retourne un objet décrivant le ou les enregistrement(s) actuellement verrouillé(s) dans laTable.

L'objet retourné contient une propriété "records" qui est un tableau d'objets :

{
    "records": [
        objet description,
        (…)
    ]
}

Chaque élément de tableau "objet description" identifie un enregistrement verrouillé dans la table spécifiée et contient les propriétés suivantes :

PropriétéTypeDescription
contextIDUUID (Chaîne)UUID du contexte de la base à l'origine du verrouillage
contextAttributesObjetObjet contenant des informations semblables à la commande LOCKED BY mais appliquées à l'enregistrement, à la différence près que Get locked records info retourne uniquement le nom de l'utilisateur défini dans le système (et pas celui de l'utilisateur 4D) ainsi que des informations supplémentaires (voir ci-dessous).
recordNumberEntier longNuméro de l'enregistrement verrouillé

L'objet contextAttributes est constitué des propriétés suivantes :

PropriétéTypeDescription
task_idNumériqueNuméro de référence du process
user_nameChaîneNom de l'utilisateur défini dans le système d'exploitation
user4d_idNumériqueNuméro de l'utilisateur 4D(*)
host_nameChaîneNom de la machine hôte
task_nameChaîneNom du process
client_versionNumériqueversion de l'application cliente
Uniquement lorsque la commande est exécutée sur 4D Server et si le verrouillage de l'enregistrement provient d'un 4D distant :
is_remote_contextBooléenIndique si l'origine du verrouillage est un 4D distant (toujours true car non présent dans les autres cas)
client_uidUUID (Chaîne)Identifiant UUID du 4D distant à l'origine du verrouillage

(*) Vous pouvez obtenir le nom d'utilisateur 4D à partir de la valeur de user4d_id en utilisant le code suivant :

 GET USER LIST($tabNoms;$tabIDs)
 $nom4DUser:=Find in array($tabIDs;user4d_id)

Note : La commande fonctionne uniquement avec 4D et 4D Server. Elle retourne toujours un objet invalide lorsqu'elle est appelée depuis un 4D distant. Elle peut toutefois être appelée depuis un 4D distant si la méthode d'appel dispose de l'option "Exécuter sur serveur" ; elle retourne dans ce cas les informations relatives au serveur. Lorsqu'elle est appelée depuis un composant, elle s'applique à la base hôte.

Exemple  

Vous exécutez le code suivant :

 $vOlocked :=Get locked records info([Table])

Si deux enregistrements sont verrouillés dans la table [Table], l'objet suivant est retourné dans $vOlocked :

{
    "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
        }
    ]
}

Si le code est exécuté sur 4D Server et que le verrouillage est causé par un poste client distant, l'objet suivant est retourné dans $vOlocked :

{
    "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
        }
    ]
}



Voir aussi  

Locked

 
PROPRIÉTÉS 

Produit : 4D
Thème : Enregistrements (verrouillage)
Numéro : 1316

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v14 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)