Vous pouvez créer des attributs étendus dont les valeurs dépendent des
valeurs d'autres attributs. Ils peuvent être en lecture seule ou en lecteur et
écriture.
Les scripts suivants fournissent un moyen de lire et d'écrire la valeur
de l'attribut standard
Name dans un attributs
étendu calculé :
Script Get |
Script Set |
Function %Get%(obj)
%Get% = obj.GetAttribute("Name")
End Function
|
Sub %Set%(obj, value)
obj.SetAttribute "Name", value
End Sub
|
Les scripts suivants lisent la valeur de l'attribut étendu calculé
FileGroup depuis l'option physique
filegroup, et l'écrivent dans l'attribut physique :
Script Get |
Script Set |
Function %Get%(obj)
%Get% = obj.GetPhysicalOptionValue("on/<filegroup>")
End Function
|
Sub %Set%(obj, value)
obj.SetPhysicalOptionValue "on/<filegroup>", value
End Sub
|
Les scripts suivants lisent la valeur du nom de la base de données
associée au MPD dans l'attribut étendu en lecture seule Database défini sur la
métaclasse table :
Script Get |
Script Set |
Function %Get%(obj)
%Get% = obj.GetAttribute("Parent.Database.Name")
End Function
|
[aucun] |
Le script suivant évalue la valeur de l'attribut
Number d'une table afin de définir l'attribut étendu booléen
BigTable :
Script Get |
Script Set |
Function %Get%(obj)
%Get% = obj.GetAttribute("Number") > 99999
End Function
Vous
pouvez utiliser la syntaxe suivante afin de définir la valeur
booléenne de façon plus explicite
:Function %Get%(obj)
Dim value
If obj.GetAttribute("Number") > 99999 then
value = true
Else
value = false
End if
%Get% = value
End Function
|
[aucun] |
Le script suivant évalue la valeur de l'attribut
Number d'une table afin de définir un attribut étendu de type texte
TableSize :
Script Get |
Script Set |
Function %Get%(obj)
Dim value
If obj.GetAttribute("Number") < 10000 then
value = "Small"
ElseIf ((obj.GetAttribute("Number") > 9999) and (obj.GetAttribute("Number") < 100000)) then
value = "Medium"
ElseIf ((obj.GetAttribute("Number") > 99999) and (obj.GetAttribute("Number") < 1000000)) then
value = "Large"
Else
value = "Very Large"
End if
%Get% = value
End Function
|
[aucun] |