Chapter 7 Pilotage de PowerAMC à l'aide de scripts


Accès à un documents du référentiel

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.

Exemple

' 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().

Exemple

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.

Exemple

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.