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