예를 들어, 스키마는 수정할 수 있는 레코드 또는 레코드 유형, 수정할 수 있는 필드, 다중 레코드 업데이트 조작을 수행할 수 있는 사용자 또는 오류 수가 한계에 도달했을 때 추가적인 변경사항을 막을 수 있는 사용자를 제한할 수 있습니다. 기타 가능성은 레코드 유형, 연관된 프로젝트 레코드, 현재 사용자 또는 그룹 멤버십을 기반으로 하는 제한사항을 포함합니다.
다중 레코드 업데이트가 레코드에서 후크를 실행하는 조작을 수행하는 경우 ratl_MultiModifyBatchStatus 세션 변수 및 ratl_MultiModifyBatchMode 세션 변수가 설정됩니다. 해당 조작의 예제는 모든 조치 단계(Phase), 레코드 스크립트 별명 조치, 필드 변경사항, 선택사항 목록 후크, 레코드의 편집 조작에 대해 실행할 수 있는 후크, 다중 레코드 업데이트에 포함되지 않은 후크입니다.
다음 예제는 현재 레코드가 다중 레코드 업데이트가 조작 중인 레코드임을 확인하는 방법을 표시합니다. 이 예제는 조치 액세스 제어 후크에서 사용되는 것입니다. 조치 제어 후크가 다중 레코드 업데이트가 진행 중인지 여부를 확인한 후에 후크는 실패 수를 확인합니다. 10번 이상의 실패가 있는 경우 Perl die () 명령문을 사용하여 오류를 발생시킵니다. 다중 레코드 업데이트는 다중 레코드 업데이트 결과 세트의 모든 레코드를 계속 처리하며 이 예제 후크는 각 후속 레코드를 계속 실패로 표시합니다.
$result = 1;
# 다중 레코드 업데이트를 수행하는 경우 너무 많은 오류가 있는지 여부를 확인합니다.
#
my $mru_id = $session->GetNameValue("ratl_MultiModifyBatchMode");
if ($mru_id ne "") {
my $me = $entity->GetDisplayName();
if ($mru_id eq $me) {
# 예, 현재 레코드에서 다중 레코드 업데이트를 수행합니다.
my $status = $session->GetNameValue("ratl_MultiModifyBatchStatus");
my ($count, $ordinal, $failures, $ignore) = split('\n', $status, 4);
if ($failures > 10) {
die("이 다중 레코드 업데이트에서 너무 많은 오류($failures)가 발생했습니다. 추가 업데이트가 허용되지 않습니다.")
}
}
}