| 4D v13.4FIXER RECHERCHE ET VERROUILLAGE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 FIXER RECHERCHE ET VERROUILLAGE 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| FIXER RECHERCHE ET VERROUILLAGE ( verrou ) | ||||||||
| Paramètre | Type | Description | ||||||
| verrou | Booléen |   | Vrai = verrouiller les enregistrements trouvés par les recherches, Faux = ne pas les verrouiller | |||||
La commande FIXER RECHERCHE ET VERROUILLAGE vous permet de demander le verrouillage automatique des enregistrements trouvés par toutes les recherches qui suivent son appel dans la transaction courante. Ce mécanisme permet de s’assurer que les enregistrements ne puissent pas être modifiés par un process autre que le process courant entre une recherche et la manipulation des résultats.
Par défaut, les enregistrements trouvés par les recherches ne sont pas verrouillés. Passez Vrai dans le paramètre verrou pour activer le verrouillage.
Cette commande doit impérativement être utilisée à l’intérieur d’une transaction. Si elle est appelée hors du contexte d’une transaction, une erreur est générée. Ce principe permet un meilleur contrôle du verrouillage des enregistrements. Les enregistrements trouvés restent verrouillés tant que la transaction n’a pas été terminée (qu’elle ait été validée ou annulée). A l’issue de la transaction, tous les enregistrements sont déverrouillés.
Le verrouillage des enregistrements est effectif pour toutes les tables dans la transaction courante.
Lorsqu'une instruction FIXER RECHERCHE ET VERROUILLAGE(Vrai) a été exécutée, les commandes de recherche (par exemple CHERCHER) adoptent un fonctionnement spécifique si un enregistrement déjà verrouillé est trouvé :
Par conséquent, dans ce contexte il est nécessaire de tester l'ensemble LockedSet à l'issue d'une recherche infructueuse (sélection courante vide et/ou variable OK à 0) afin de déterminer la cause de l'échec.
Appelez FIXER RECHERCHE ET VERROUILLAGE(Faux) afin de désactiver le mécanisme après usage.
FIXER RECHERCHE ET VERROUILLAGE modifie uniquement le comportement des commandes de recherche, c'est-à-dire :
En revanche, FIXER RECHERCHE ET VERROUILLAGE n'affecte pas les autres commandes qui modifient la sélection courante telles que TOUT SELECTIONNER, LIEN RETOUR, etc.
Dans cet exemple, il n’est pas possible de supprimer un client qui aurait été passé de la catégorie “C” à la catégorie “A” par un autre process entre le CHERCHER et le SUPPRIMER SELECTION :
 DEBUT TRANSACTION
 FIXER RECHERCHE ET VERROUILLAGE(Vrai)
 CHERCHER([Clients];[Clients]Catégorie=C)
  `A cet instant, les enregistrements trouvés sont automatiquement verrouillés pour tous les autres process
 SUPPRIMER SELECTION([Clients])
 FIXER RECHERCHE ET VERROUILLAGE(Faux)
 VALIDER TRANSACTIONSi la commande est appelée hors du contexte d’une transaction, une erreur est générée.
	Produit :  4D
	Thème :  Recherches et tris
	Numéro :  
        661
        
        
        
	Nom intl. :  SET QUERY AND LOCK
        
        
 
        
     Liste alphabétique des commandes
    Liste alphabétique des commandes
	Créé :  4D v11 SQL