Création d'une définition étendue de modèle à l'aide de scripts

Comme n'importe quel objet de PowerAMC, les définitions étendues de modèle peuvent être lues, créées et modifiées à l'aide du scripting.

Pour plus d'informations sur les définitions étendues de modèle, voir Définitions étendues de modèle.

Le script suivant illustre comment vous pouvez accéder à une définition étendue de modèle, la parcourir, créer un attribut étendu au sein de la définition et, pour finir, modifier les valeurs de cet attribut étendu. Une fonction est créée pour permettre de développer les noeuds de catégories qui figurent dans l'arborescence de la boîte de dialogue Propriétés de la définition étendue de modèle.

Exemple

Dim M
Set M = ActiveModel
'Retrieve first extended model definition in the active model
Dim X
Set X = M.ExtendedModelDefinitions.Item(0)
'Drill down the categories tree view using the searchObject function (see below for details)
Dim C
Set C = SearchObject (X.Categories, "Settings")
Set C = SearchObject (C.Categories, "Extended Attributes")
Set C = SearchObject (C.Categories, "Objects")
Set C = SearchObject (C.Categories, "Entity")
'Create extended attribute in the Entity category
Dim A
Set A = C.Categories.CreateNew (cls_ExtendedAttributeTargetItem)
'Define properties of the extended attribute
A.DataType = 10 'integer
A.Value = 10
A.Name = "Z"
A.Code = "Z"
'Retrieve first entity in the active model
Dim E
Set E = M.entities.Item(0)
'Retrieve the values of the created extended attribute in a message box
msgbox E.GetExtendedAttribute("X.Z")
'Changes the values of the extended attribute
E.SetExtendedAttribute "X.Z", 5
'Retrieve the modified values of the extended attribute in a message box
msgbox E.GetExtendedAttribute("X.Z")
********************
'Detail SearchObject function that allows you to browse a collection from its name and the searched object
'* SUB   SearchObject
Function SearchObject (Coll, Name)
'For example Coll = Categories and Name = Settings
   Dim Found, Object
   For Each Object in Coll
      If Object.Name = Name Then
         Set Found = Object
      End If
   Next
   Set SearchObject = Found
End Function


Created October 8, 2009. Send feedback on this help topic to Sybase Technical Publications: pubs@sybase.com