Cuando el usuario crea un registro, el software de Rational ClearQuest crea el registro e inicializa los campos en los valores predeterminados adecuados. Si un campo determinado tiene un enganche de valor predeterminado asociado, el enganche se ejecuta para establecer el valor del campo. Si no hay ningún enganche asociado al campo, se asigna un valor predeterminado que es adecuado para el tipo del campo. Por ejemplo, los campos de entero se establecen en 0, los campos de serie se establecen en una serie vacía y los campos de lista se establecen en una lista vacía. Los campos de fecha no se inicializan con un valor predeterminado; proporcione siempre un enganche de valor predeterminado para los campos de fecha.
En el ejemplo siguiente se muestra cómo inicializar un campo de fecha para la fecha y hora actuales:
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());
}
En el ejemplo siguiente se inicializa el campo "submitter" para el nombre de inicio de sesión de la persona que envía el registro:
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);
}