LockRecord

설명

레코드에 잠금을 설정합니다.

레코드에 잠금을 설정하면 최대 대기 시간을 초 단위로 지정할 수 있습니다. 이 값은 잠금 시도에 실패하기 전에 기존 잠금이 해제될 때까지 대기하는 시간입니다. wait_seconds 매개변수로 지정된 값이 경과하기 전에 잠금을 설정하지 못하면 잠금 시도에 실패합니다.

다음 이유 중 하나로 인해 잠금을 설정하지 못하면 메소드가 예외를 발생시킵니다.
  • 기능 레벨이 FL7 미만입니다.
  • 해당 레코드 유형을 시스템이 소유하고 있습니다.
  • 다른 사람이 레코드를 잠갔습니다.
  • 다른 세션에서 레코드를 잠갔습니다.
  • 레코드가 잠겨있는 동안 업데이트되었습니다.
각 레코드 유형에 대해 레코드를 잠그려면 다음을 수행하십시오.
  • 유형이 BASE이고 이름이 LockRecord인 새 조치를 추가하십시오.
  • Action_Initialization 후크를 조치에 추가하고 이 후크로 LockRecord 메소드를 호출하십시오. 예를 들어, 다음과 같습니다.
    $entity->LockRecord(0);
주: 이 메소드는 버전 7.1부터 사용 가능합니다.

구문

VBScript

entity.LockRecord wait_seconds 

Perl

$entity->LockRecord(wait_seconds); 
ID
설명
entity
사용자 데이터 레코드를 나타내는 Entity 오브젝트. 후크 내에서 구문에 이 부분을 생략할 경우, Entity 오브젝트가 현재 데이터 레코드에 해당한다고 가정합니다(VBScript에만 해당).
wait_seconds
잠금 시도에 실패하기 전에 기존 잠금이 해제될 때까지 대기하는 시간(초 단위)을 지정하는 Long을 리턴합니다.
Return value
없음

예제

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

피드백