Ces quelques lignes de code en Visual Basic Script permettent d’ajouter le nom de l’objet (Nom de la table, colonne, vue) au commentaire associé à l’objet dans le cadre de l’utilisation d’un modèle physique.
Compatible avec PowerDesigner/PowerAMC 16.5
'****************************************************************************** '* Nom du fichier : MAJ_COMMENTAIRE.vbs '* Définition : Ajouter le nom de l'objet à son commentaire '* Modèle: Modèle de données physique (PDM) '* Objets: Table, Colonne, Vue '* Auteur: Benoît Le Nabec, '* URL : http://www.Powerd911.guru '* Créé: 2015-01-01 '* Version: 1.0 '****************************************************************************** Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim count Dim mdl count=0 Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "Il n'y a pas de modèle actif" ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "Le modèle courant n'est pas un modèle physique" Else Analyse_Dossiers mdl End If MsgBox ("Nombre total de commentaires modifiés" & count) '***************************************************************************** 'Titre : Obtenir_le_bon_Commentaire 'Description : Permet d'ajouter le nom de l'objet au commentaire '***************************************************************************** Function Obtenir_le_bon_Commentaire(name,comment) 'S'il n'y a pas de commentaire if trim(comment)="" Then 'Inscrit le nom de l'objet + ":" Obtenir_le_bon_Commentaire = name + "?" count=count+1 'Si le commentaire est égal au nom de l'objet sans les ":" - aucune modification ElseIf comment = name Then 'Inscrit le nom de l'objet Obtenir_le_bon_Commentaire = name 'Si on ne trouve pas dans le commentaire le nom de l'objet avec ": " ou + ":" ElseIf InStr(comment, name + "?") <1 And InStr(comment, name + ":")<1 Then 'Inscrit le nom de l'objet + ": " + Commentaire Obtenir_le_bon_Commentaire = name + "?" + comment count=count+1 'Si le nom de l'objet est déjà présent dans le commentaire - aucune modification Else Obtenir_le_bon_Commentaire = comment end if End Function Private sub Analyse_Dossiers(folder) Dim Tab 'Pour chacune des tables for each Tab in folder.tables 'Si la table n'est pas de type raccourci if not tab.isShortcut then tab.comment = Obtenir_le_bon_Commentaire(tab.name,tab.comment) Dim col 'Pour chacune des colonnes for each col in tab.columns col.comment = Obtenir_le_bon_Commentaire(col.name,col.comment) next end if next Dim view 'Pour chacune des vues for each view in folder.Views if not view.isShortcut then view.comment = Obtenir_le_bon_Commentaire(view.name,view.comment) end if next Dim f 'Pour chacun des packages For Each f In folder.Packages if not f.IsShortcut then Analyse_Dossiers f end if Next end sub