Quando l'utente crea un record, il software Rational ClearQuest crea il record e inizializza i propri campi su valori predefiniti appropriati. Se un campo particolare dispone di un hook di valore predefinito associato, l'hook viene eseguito per impostare il valore campo. Se il campo non dispone di alcun hook associato, viene assegnato un valore predefinito appropriato al tipo di campo. Ad esempio, i campi numero intero sono impostati su 0, i campi stringa sono impostati su una stringa vuota e i campi elenco sono impostati su un elenco vuoto. I campi data non vengono inizializzati su un valore predefinito; fornire sempre un hook di valore predefinito per i campi data.
Il seguente esempio mostra come come inizializzare un campo data alla data e all'ora correnti:
Sub submit_date_DefaultValue(fieldname)
' fieldname As String
' entityDef = defect
call SetFieldValue(fieldname, now)
End Sub
# Define a function for the current timestamp
sub GetCurrentDate {
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $time) =
localtime();
return sprintf("%4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d", $year + 1900,
$mon + 1, $mday, $hour, $min, $sec);
}
# Define a routine to call the timestamp function
sub Submit_Date_DefaultValue {
my($fieldname) = @_;
# $fieldname as a string scalar and entityDef is Defect
$entity->SetFieldValue($fieldname, GetCurrentDate());
}
Il seguente esempio inizializza il campo "submitter" al nome di accesso della persona che inoltra il:
Sub submitter_DefaultValue(fieldname)
' fieldname As String
' entityDef = swbug
SetFieldValue fieldname, GetSession().GetUserLoginName()
End Sub
sub Submitter_DefaultValue {
my($fieldname) = @_;
# $fieldname as a string scalar
# entityDef is Defect
my $session;
my $username;
$session=$entity->GetSession();
$username = $session->GetUserLoginName();
$entity->SetFieldValue($fieldname, $username);
}