Interested in booking a FREE remote consultation on SAP #PowerDesigner so you can “Work Smarter with PowerDesigner”?

SAP PowerDesigner is a great modelling tool with features that differentiate it from the rest of the market. Here are a few topics you might want to talk about:

  • Understanding PowerDesigner’s Capabilities
  • Planning how you’re going to use PowerDesigner
  • Establishing your Modelling Environment
  • Extending PowerDesigner
  • Training Users

Click here to make a #Calendly appointment:

Work Smarter with #PowerDesigner – improve data modelling productivity with this new model extension

SAP PowerDesigner is a great data modelling tool with features that differentiate it from the rest of the market, increasing the productivity of data modellers.

The CDM LDM Productivity model extension from Metadata Matters improves the productivity of data modellers still further, helping them to visualise, manage and validate their models, concentrating on making modelling decisions, and spending less time on routine tasks.

Attach the CDM LDM Productivity model extension to any Conceptual or Logical Data Model and start using the new features right away. Better still, deploy the extension via the PowerDesigner Repository and have it attach itself to every new Conceptual or Logical Data Model automatically—updates to the extension will automatically be made available to every model that it’s attached to.

The CDM LDM Productivity model extension extends model validation and adds extra options to contextual menus. For example, here are the new options in the contextual menu for an Entity:

Metadata Matters will work with you to customise the extension to meet your own unique requirements – the cost of the extension includes a day of customisation effort.

Here’s a summary of the capabilities provided:

Completeness of DiagramsHow much time do you spend examining a diagram only to discover that something vital is missing? Eliminate the doubt –
– for a given Entity, select from lists of linked objects to add to your diagram
– add all child Entities for an Inheritance
Entity ParentageWhich Entity (or Entities – there may be more than one) is the ‘Ultimate Parent’ of a sub-type in a deep Inheritance hierarchy? The answer may surprise you, and we know that modellers do not like surprises.
Entity Hierarchy DiagramsCreate and refresh a diagram that guarantees to show you the full structure of all the Inheritance hierarchies that an Entity participates in. Here’s a simple example:
Here’s a much bigger example, for an Entity that participates in two hierarchies:
Entity Proximity DiagramsCreate and refresh a diagram that guarantees to show you everything linked to an Entity.
Modelling StandardsSave thinking and working time by automatically moving ‘Primary Identifier’ Attributes to the top of the list and moving the Primary Identifier of an Entity to the top of the list of Identifiers. Ensure that Entity Attributes or Data Items with the <undefined> data type are linked to the default domain.
Applying Naming StandardsConstruct meaningful and useful names for Relationships, Identifiers and Inheritances.
Model ValidationExtend the built-in model validation with new custom model checks, helping you to:
* apply your modelling and naming standards
* check for double-spaces in object names
* check Relationship role names
* be aware of multiple parent Entities or alternate Identifiers
Hiding and Showing Migrated AttributesIf you chose to work with the Logical Data Model but you would like your diagrams to look more like diagrams in the Conceptual Data Model you can – by hiding selected classes of Attributes. Changed your mind? You can always show them again.
Diagram Auto-layoutSpecify the required type of layout and orientation for every diagram and apply it when you want to.
Hiding and Showing Diagram ContentShow or Hide Link Symbols. Remove graphical synonyms or shortcut symbols from a diagram.
Using DiagramsStraighten a link symbol by removing all the corners. A simplified way of changing page size and orientation.
Model StructureIf you’re using Packages in your models, you’ll be aware of the potential pitfalls and how much work there can be if you change your mind about the Package structure. The extension provides two useful features:
* Safely remove a Package from the hierarchy without losing content
* Check if a Relationship and the child Entity have the same owner
Managing Text PropertiesReplace an object Comment with the Description or vice versa.
Scripting SupportOutput the Display Preferences to the Output window.

For more information, click here to go to the Contact page.

Work smarter with #PowerDesigner – generate text from your model contents

One of the features that really differentiates SAP PowerDesigner from the competition is the “Generation Template Language” (GTL) which uses a series of templates to create textual content from the content of your models. I’ve used it in the past to generate JSON or CSV output from a model, and to create simple model documentation (which could be included in a standard PowerDesigner report).

Here are a couple of examples for you

Entity Documentation generated by GTL
JSON generated from an Entity in a Logical Data Model

In every other data modelling tool I’ve worked with, I would have to use whatever scripting language is supported (usually some form of Basic), and write a script to generate the output. This can be horrendous to figure out.

Frankly, using GTL in PowerDesigner is really straightforward. The image below shows everything needed to create the “Entity Statistics” shown in the first example.

10 lines of GTL is all it takes

The GTL is colour-coded

  • the black text is text to be output (some it is formatting instructions, like starting a new line or inserting a tab)
  • the purple/lilac text is processing logic – in this case it outputs certain information only if the model notation is “Barker”
  • the green text is a comment
  • the blue text is where the real work happens – it outputs information from the model; in this example it tells you how many things there are in a collection, such as the collection of relationships linked to an Entity

The logic is critical

Knowledge of the underlying metamodel is critical for creating effective GTL – this can be affected by factors such as the model notation in use, especially if the model is in Barker notation.

Please get in touch if you would like to talk about generating content from your PowerDesigner model.

Work smarter with #PowerDesigner – How to display a ‘Relationships’ tab for entities

Data modelling tools vary in the kinds of dependencies that you can create between objects. For example, they all recognise that entities in a Conceptual or Logical Data Model (CDM or LDM) can participate in Relationships – when you view or edit the properties of an entity most (perhaps all) tools will show you a list of relationships as part of the dialogue. They might also show you other dependencies, such as a list of diagrams the entity appears on, a list of related tables in Physical Data Models, or some Data Lineage or other mappings. With most tools, that’s the limit. PowerDesigner goes beyond these basic modelling and development connections, allowing you to create several other different types of dependencies:

Shortcuts, Replications, Traceability Links, Related Diagrams, Extended Collections (extensions to the out-of-the-box capabilities)

One side-effect of this power and flexibility is the impact on the entity properties dialogue – most of these dependencies are all shown on the same tab. In the example below, the Contribution entity participates in four relationships, listed on a sub-tab; I can see that the entity also appears on at least one Diagram (indicated by the presence of the Diagrams sub-tab). There could be more sub-tabs, if the entity has other types of dependencies.

You might prefer to see relationships listed in a tab of their own. Well, with a little work, you can add that tab for yourself; you just need a simple model extension.

You create or use Model Extensions to change the way that PowerDesigner works, usually by adding additional metadata, or additional features such as imports, exports, and new object properties. In this example, we’re not adding a new feature, merely exposing some metadata that already exists – the Relationships collection.

Here’s what you need to do:

  • On the Model menu, select Extensions
  • Create a new entry in the list – just type the name – then click on OK
  • The new extension will appear in the Browser
extension in Browser
  • Double-click the extension to open it, then right-click Profile, and add the Entity metaclass to the extension
  • Add a new Form to the metaclass, call it Relationships
add form
  • Add the Relationships collection to the Form, then close the extension editor
  • Here’s the new tab

I’ve used this technique in other places as well, such as adding a Sub-Requirements tab to Requirements in a Requirements Model.

If you want #PowerDesigner to provide support for MongoDB as well as JSON

The SAP PowerDesigner Product Group is considering a request (CR 742011) to provide direct support for MongoDB in PowerDesigner.

If this is something you’re really looking forward to to, follow this link to the Knowledge Base article – – now click the star in the top-left corner to mark it as a Favourite to be automatically notified when the enhancement is implemented. Marking it as a favourite also acts as a kind of unofficial opinion poll.