Powerd911 – Numéro #1 au Canada

Comment contrôler la génération de la propriété « Notes=>Annotation » lors de la 1er génération d’un MCD vers un MPD?

Votre DBA désire conserver dans le modèle physique de données (MPD) que les annotations propre à cette étape de modélisation?

Au niveau de PowerAMC ?lors de la première génération d’un «MCD» vers un «MPD» on ne trouve pas de contrôle spécifique afin d’éviter la transcription des informations de la propriété «Notes=>Annotation» du «MCD» vers le «MPD».

Le script suivant permet de supprimer le contenu en provenance du modèle conceptuel se trouvant dans la propriété «Notes=>Annotation» des objets du modèle physique. Ainsi le DBA trouvera dans le modèle physique que les annotations spécifiquement rédigés dans le cadre du «MPD». De plus lors des générations suivantes la propriété «Note=>Annotation» des objets ne sera pas mise à jour (écrasé) si ce dernier coche «Conserver les modifications».

Compatible avec PowerDesigner/PowerAMC 16.5

option explicit

'*****************************************************************************
'* Nom du fichier : SUPPRIME_ANNOTATION.vbs
'* Définition : Supprime le contenu des annotations des objets du modèle physique.
'* Modèle: Modèle de données physique (MPD)
'* Objets: Table, Vue, Reference, ViewReference, PhysicalDomain, AbstractDataType, JoinIndex, Colonnes
'* Auteur: Benoît Le Nabec,
'* URL : http://www.Powerd911.guru
'* Créé: 2015-01-01
'* Version: 1.0
'*****************************************************************************
Dim sel 'as ObjectSelection
Dim obj 'as NamedObject (abstract)

If (ActiveModel Is Nothing) Then
MsgBox "Il n'y a aucun modèle actif"
ElseIf Not ActiveModel.IsKindOf(PdPDM.cls_Model) Then
MsgBox "Le modèle actif n'est pas un modèle physique"
Else
set sel = activemodel.createselection
sel.AddObjects activemodel,cls_Table,0,1
sel.AddObjects activemodel,cls_View,0,1
sel.AddObjects activemodel,cls_Reference,0,1
sel.AddObjects activemodel,cls_ViewReference,0,1
sel.AddObjects activemodel,cls_PhysicalDomain,0,1
sel.AddObjects activemodel,cls_AbstractDataType,0,1
sel.AddObjects activemodel,cls_JoinIndex,0,1

For each obj in sel.Objects
obj.annotation = ""
Next

Dim t
Dim c

For Each t In activemodel.Tables
For Each c In t.Columns
c.annotation = ""
Next
Next

End if

Laisser un commentaire