Vous pouvez utiliser le script pour accéder à n'importe quel objet ou propriété d'objet et les modifier. Les objets n'incluent pas uniquement des objets de modélisation courants (tels que les tables, les classes, les processus et les colonnes), mais également les diagrammes et symboles, ainsi que les objets fonctionnels (tels qu'un rapport ou référentiel). Un objet appartient à une métaclasse du métamodèle de PowerAMC et hérite des propriétés, collections et méthode de cette métaclasse.
| Paramètre | Description |
|---|---|
| Nom / Code / Chemin | Spécifie le nom ou le code de l'objet à trouver, ou son chemin d'accès. Par exemple, pour trouver la colonne Adresse dans la table Client du package Ventes à partir du contexte du noeud de modèle, vous pouvez chercher par le nom Adresse ou par le chemin Ventes/Client/Adresse. |
| Type | Spécifie la métaclasse de l'objet à trouver sous
la forme cls_NomPublic.
Par exemple, pour trouver une colonne, sélectionnez cls_Column. Ces ID de métaclasse sont uniques dans leur bibliothèque de modèle, mais, dans des cas comme les packages, qui peuvent apparaître dans plusieurs types de modèles, vous devez préfixer l'ID à l'aide du nom du module (PdOOM.cls_Package). Lorsque vous créez un modèle, vous devez utiliser le préfixe de module (par exemple PdPDM.cls_Model). |
| ParamètresFacultatifs | Les paramètres suivants sont facultatifs :
|
Dim MonModele, C, P
'Ouverture du fichier de modèle
Set MonModele=OpenModel(EvaluateNamedPath("%_EXEMPLES%\" & "UML2 Sample.moo"))
'Obtention de la classe et du paramètre
Set C=MonModele.FindChildByName("OrderManager",cls_Class)
Set P=MonModele.FindChildByPath("SecurityManager/CheckPassword/login",PdOOM.cls_Parameter)
'Impression des valeurs initiales
Output "Valeurs initiales :"
PrintProperties C, P
'Modification des valeurs
C.Comment="Cette classe contrôle les commandes."
C.SetAttributeText "Visibility", "private"
P.Name="LoginName"
'Impression des valeurs modifiées
Output "Valeurs modifiées :"
PrintProperties C, P
'Procédure d'impression des valeurs
Sub PrintProperties(MyClass, MyParam)
output "Classe : " & MyClass.Name
output vbTab & "Commentaire : " & MyClass.Comment
output vbTab & "Visibilité : " & MyClass.GetAttributeText("Visibility")
output vbTab & "Persistance : " & MyClass.GetAttributeText("PersistentGenerationMode")
output "Paramètre : " & MyParam.Parent & "." & MyParam.Name
output vbTab & "Type de données : " & MyParam.DataType
output vbTab & "Type de paramètre : " & MyParam.GetAttributeText("ParameterType")
End Sub