LockRecord

Descripción

Crea un bloqueo en el registro.

Obtener un bloqueo de registros incluye la posibilidad de especificar un tiempo de espera en segundos. Este valor es el tiempo que hay que esperar a que se libere un bloqueo antes de que el intento de bloqueo falle. El intento de bloqueo falla si el bloqueo no se puede obtener antes de que el valor especificado por el parámetro wait_seconds haya transcurrido.

El método emite lanza una excepción si el bloqueo no se puede obtener por alguno de los motivos siguientes:
  • El nivel de característica es inferior a FL7.
  • El tipo de registro es propiedad del sistema.
  • Otro usuario ha bloqueado el registro.
  • Otra sesión ha bloqueado el registro.
  • El registro se actualizó durante el bloqueo.
Para habilitar el bloqueo de registro, para cada tipo de registro efectúe lo siguiente:
  • Añada una acción nueva denominada LockRecord de tipo BASE.
  • Añada un enganche Action_Initialization a la acción y haga que el enganche llame al método LockRecord. Por ejemplo,
    $entity->LockRecord(0);
Nota: Este método estuvo disponible en la versión 7.1.

Sintaxis

VBScript

entity.LockRecord wait_seconds 

Perl

$entity->LockRecord(wait_seconds); 
Identificador
Descripción
entity
Un objeto Entity que representa un registro de datos de usuario. En un enganche, si se omite esta parte de la sintaxis, se presupone el objeto Entity correspondiente al registro de datos actual (sólo VBScript).
wait_seconds
Un valor Long que especifica el número de segundos que hay que esperar a que se libere un bloqueo existente antes de que el intento de bloqueo falle.
Valor de retorno
Ninguno.

Ejemplos

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 as string scalar
    # $actiontype as long scalar
    # action is LockRecord
    # record type name is Defect
    # Do any setup for the action here.
      $entity->LockRecord(0);
}

Comentarios