Esempi di hook di valore predefinito di campo

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.

Nota: poiché gli hook vengono eseguiti con privilegi di amministratore, questi esempi sono validi anche se il funzionamento dei campi è di sola lettura.

Il seguente esempio mostra come come inizializzare un campo data alla data e all'ora correnti:

VBScript

Sub submit_date_DefaultValue(fieldname)

    ' fieldname As String
    ' entityDef = defect
    call SetFieldValue(fieldname, now)

End Sub 

Perl

# 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:

VBScript

Sub submitter_DefaultValue(fieldname)

    ' fieldname As String
    ' entityDef = swbug

    SetFieldValue fieldname, GetSession().GetUserLoginName()

End Sub 

Perl

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);

} 

Feedback