Chapter 7 Pilotage de PowerAMC à l'aide de scripts
Vous pouvez accéder aux documents du référentiel situés dans son explorateur à l'aide de la collection ChildObjects (contenant à la fois des documents et des dossiers). Elle vous permet également d'accéder à des documents situés dans des dossiers du référentiel, le cas échéant.
Pour parcourir le référentiel à la recherche d'un document :
Utilisez le code suivant | Description |
---|---|
ChildObjects As ObjectCol | Collection sur la classe StoredObject qui gère l'accès aux documents du référentiel |
Pour mettre à jour une version de document :
Utilisez le code suivant | Description |
---|---|
Refresh() | Méthode sur la propriété RepositoryConnection qui permet de visualiser les nouveaux documents, mettre à jour les versions des documents existants ou de dissimuler les documents supprimés. |
Pour rechercher un document :
Utilisez le code suivant | Description |
---|---|
FindInRepository() As BaseObject | Méthode sur la classe BaseModel qui permet de vérifier si un modèle a déjà été consolidé. |
Les documents du référentiels sont les suivants :
Document du référentiel | Description |
---|---|
RepositoryModel | Contient tous les types de modèle PowerAMC (MCD, MPD, MOO, MPM, MSX, MTM, MFI ou MLB). |
RepositoryReport | Contient des rapports multimodèle consolidés. |
RepositoryDocument | Contient des fichiers autre que PowerAMC (texte, Word, ou Excel). |
OtherRepositoryDocument | Contient des fichiers autre que PowerAMC définis à l'aide de l'interface de référentiel Java qui permet de définir des métamodèles. |
Vous pouvez accéder à un document RepositoryModel et à ses sous-objets à l'aide de la collection suivante : ChildObjects As ObjectCol.
' Retrieve the deepest folder under the connection Dim CurrentObject, LastFolder set LastFolder = Nothing for each CurrentObject in C.ChildObjects if CurrentObject.IsKindOf(cls_RepositoryFolder) then set LastFolder = CurrentObject end if next
La collection ChildObjects n'est pas automatiquement mise à jour lorsque le référentiel est modifié au cours d'une exécution de script. Pour rafraîchir toutes les collections, vous pouvez utiliser la méthode suivante : Refresh().
C.Refresh
Vous pouvez déterminer si la consolidation d'un modèle a déjà été effectuée en utilisant la méthode suivante : FindInRepository() As BaseObject.
Set repmodel = model.FindInRepository() If repmodel Is Nothing Then ' Model was not consolidated yet... model.ConsolidateNew Else ' Model was already consolidated... repmodel.Freeze model.Consolidate End If
Copyright (C) 2008. Sybase Inc. All rights reserved. |
![]() |