Cuando el usuario crea un registro, el software de Rational ClearQuest crea el registro e inicializa los campos en los valores por omisión adecuados. Si un campo determinado tiene un enganche de valor por omisión asociado, el enganche se ejecuta para establecer el valor del campo. Si no hay ningún enganche asociado al campo, se asigna un valor por omisión 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 por omisión; proporcione siempre un enganche de valor por omisión 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
# Definir una función para la indicación de la hora actual
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);
}
# Definir una rutina para llamar a la función de indicación de la hora
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);
}