LockRecord

설명

레코드에 대한 잠금을 작성합니다.

레코드 잠금 획득에는 최대 대기 시간(초)을 지정할 수 있는 기능이 포함됩니다. 이 값은 잠금 시도에 실패하기 전에 기존 잠금이 해제될 때까지 대기하는 시간입니다. wait_seconds 매개변수에 지정된 값이 경과하기 전에 잠금을 획득할 수 없는 경우 잠금 시도에 실패합니다.

다음 이유 중 하나로 인해 잠금을 획득할 수 없는 경우 메소드가 예외를 발생시킵니다.
  • 기능 레벨이 FL7 미만입니다.
  • 레코드 유형이 시스템 소유입니다.
  • 다른 사용자가 레코드를 잠갔습니다.
  • 다른 세션에서 레코드를 잠갔습니다.
  • 레코드가 잠겨 있는 동안 업데이트되었습니다.
레코드 잠금을 사용하려면 각 레코드 유형에 대해 다음을 수행하십시오.
  • LockRecord라는 BASE 유형의 새 조치를 추가하십시오.
  • 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);
}

피드백