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

Vous pouvez accéder aux documents du référentiel situés à la racine du référentiel en utilisant la collection ChildObjects (contenant à la fois des documents et des dossiers) ainsi que dans n'importe lequel de ses sous-dossiers.

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 tout type de modèle PowerAMC.

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