Ad esempio, lo schema potrebbe limitare i record o i tipi di record modificabili, i campi modificabili, la persona che può eseguire operazioni di aggiornamento multirecord o impedire ulteriori modifiche quando il conteggio degli errori raggiunge il limite. Sono inoltre compresi i limiti basati sul tipo di record, il record progetto associato, l'utente corrente o l'appartenenza al gruppo.
Le variabili di sessione ratl_MultiModifyBatchStatus eratl_MultiModifyBatchMode vengono impostate quando l'aggiornamento multirecord esegue un'operazione su un record che causa l'esecuzione di un hook. Esempi di tali tipi di operazioni sono tutte le fasi dell'azione, azioni alias di script del record, modifiche del campo, hook di elenco selezioni, qualsiasi hook che può essere eseguito per le operazioni di modifica su qualsiasi record, e anche un hook non incluso nell'aggiornamento multirecord.
Il seguente esempio mostra come verificare che il record corrente sia quello su cui l'aggiornamento multirecord sta operando. Questo esempio è destinato ad essere utilizzato in hook di controllo accessi dell'azione. Dopo che l'hook di controllo dell'azione ha verificato che l'aggiornamento sia in corso, l'hook verifica il il conteggio degli errori. Se sono presenti 10 o più errori, viene utilizzata l'istruzione die () Perl per rilevare l'errore. L'aggiornamento multirecord continuerà ad elaborare tutti i record della serie di risultati dell'aggiornamento multirecord e questo hook di esempio continuerà a contrassegnare ciascun record successivo con un errore.
$result = 1;
# If doing multirecord update, check if it has too many errors.
#
my $mru_id = $session->GetNameValue("ratl_MultiModifyBatchMode");
if ($mru_id ne "") {
my $me = $entity->GetDisplayName();
if ($mru_id eq $me) {
# Yes, currently doing Multi-Record Update on the current record.
my $status = $session->GetNameValue("ratl_MultiModifyBatchStatus");
my ($count, $ordinal, $failures, $ignore) = split('\n', $status, 4);
if ($failures > 10) {
die("This multirecord update has encountered too many errors ($failures). No more updates are allowed.")
}
}
}