LockRecord

Description

Crée un verrou sur l'enregistrement.

L'application d'un verrou d'enregistrement inclut la possibilité de spécifier un temps d'attente maximum en secondes. Cette valeur correspond à la durée pendant laquelle il est nécessaire d'attendre la levée d'un verrou existant avant l'échec de la tentative de verrouillage. Cet échec a lieu si le verrou ne peut pas être appliqué avant l'écoulement de la durée spécifiée par le paramètre wait_seconds.

Il existe une exception à cette méthode si le verrou ne peut pas être appliqué pour l'une des raisons suivantes :
  • Le niveau de fonction est inférieur à FL7.
  • Le type d'enregistrement est détenu par le système.
  • L'enregistrement a été verrouillé par un autre utilisateur.
  • L'enregistrement a été verrouillé par une autre session.
  • L'enregistrement a été mis à jour lors du verrouillage.
Pour activer le verrouillage d'enregistrement, pour chaque type d'enregistrement :
  • Ajoutez une nouvelle action nommée LockRecord de type BASE.
  • Ajoutez un point d'ancrage Action_Initialization à l'action, et demandez au point d'ancrage d'appeler la méthode LockRecord. Par exemple,
    $entity->LockRecord(0);
Remarque : Cette méthode est disponible dans la version 7.1.

Syntaxe

VBScript

entity.LockRecord attente_secondes 

Perl

$entity->LockRecord(attente_secondes); 
Identificateur
Description
entity
Objet Entity représentant un enregistrement de données utilisateur. Si vous omettez cette partie de la syntaxe au sein d'un point d'ancrage, l'objet Entity correspondant à l'enregistrement de données en cours est faux (VBScript uniquement).
attente_secondes
Objet Long qui spécifie le nombre de secondes pendant lequel il est nécessaire d'attendre la levée d'un verrou existant avant l'échec de la tentative de verrouillage.
Valeur de retour
Aucune.

Exemples

VBScript

Function Defect_LockRecord(param)
' Lock Record for RECORD_SCRIPT_ALIAS action
  ' param As Variant
  ' record type name is Defect
    REM add your hook code here
  ' don't wait
    LockRecord(0) 
End Function


Sub Defect_Initialization(actionname, actiontype)
' Lock Record for BASE action Action_Initialization hook
  ' actionname As String
  ' actiontype As Long
  ' action is LockRecord
  ' record type name is Defect
    REM do any setup for the action here
    LockRecord(0)
End Sub

Perl

sub Defect_LockRecord {
 # Lock Record Script for RECORD_SCRIPT_ALIAS action
 my($result);
 my($param) = @_;
 # record type name is Defect

 if (ref ($param) eq "CQEventObject") {
   # add your CQEventObject parameter handling code here
 } elsif (ref (\$param) eq "SCALAR") {
     # Add your scalar parameter handling code here
     # The Web clients support scalar parameter type only,
     # so the hook code added in the above section, needs to be duplicated here
    } else {
     # Add your handling code for other type parameters here, for example:
     # die("Unknown parameter type");
       }
 # don't wait
   $entity->LockRecord(0);   
  return $result;
 }


sub Defect_Initialization {
 # Lock Record script for BASE action Action_Initialization hook
    my($actionname, $actiontype) = @_;
    # $actionname : scalaire de chaîne
    # $actiontype : scalaire long
    # l'action est Verrouiller l'enregistrement
    # le nom du type d'enregistrement est Défaut
    # C'est ici que se configure l'action.
      $entity->LockRecord(0);
}

Feedback