LockRecord

Descrizione

Crea un blocco sul record.

L'acquisizione di un blocco record include la possibilità di specificare un tempo di attesa massimo espresso in secondi. Questo valore è il tempo di attesa per il rilascio di un blocco prima che il tentativo di blocco non riesca. Tale tentativo ha esito negativo se il blocco non può essere acquisito prima della scadenza del valore specificato dal parametro wait_seconds.

Il metodo invia un'eccezione se il blocco non può essere acquisito per uno dei seguenti motivi:
  • Il livello della funzione è inferiore a FL7.
  • Il tipo di record è gestito dal sistema.
  • Il record è bloccato da un altro utente.
  • Il record è bloccato da un'altra sessione.
  • Il record è stato aggiornato durante il blocco.
Per abilitare il blocco del record, per ogni record immettere:
  • Aggiungere una nuova azione denominata LockRecord di tipo BASE.
  • Aggiungere un hook Action_Initialization all'azione; inoltre tale hook deve richiamare il metodo LockRecord. Ad esempio,
    $entity->LockRecord(0);
Nota: questo metodo è stato reso disponibile nella versione 7.1.

Sintassi

VBScript

entity.LockRecord wait_seconds 

Perl

$entity->LockRecord(wait_seconds); 
Identificativo
Descrizione
entity
Un oggetto Entity che rappresenta un record di dati dell'utente. All'interno di un hook, se si omette questa parte della sintassi, viene utilizzato l'oggetto Entity corrispondente al record di dati corrente (solo VBScript).
wait_seconds
Un valore Long che specifica il numero di secondi di attesa per il rilascio di un blocco prima che il tentativo di blocco non riesca.
Valore di ritorno
Nessuno.

Esempi

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);
}

Feedback