Skip to Content

Updating Large Physical Data Model from Database

I'm running Sap PowerDesigner 16.5 SP05 PL06 (64 bit) on computer running Windows 10 with an Intel i7 cpu and 16GB of RAM.

The PD model I'm trying to update has 633 tables and 519 views for a total of 12235 columns. The database is deployed on Sql Server 2012

Even when I select only a few views (say 10) to be updated from the Database, after I have selected the changes to be applied on these 10 views, PdShell16.exe crashes, ANyone can give me advise with this issue ? Regards

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • 6 days ago

    I was able to reverse engineer the entire data base (500+ tables and 500+views) into a new model, no issue with PD. My problem is this one: This model has more then 25 schemas. To be redable, I organized it one PD diagram (tables and views) per schema. This preparation work is manual, and you want to maintain it, othersiwse, you have to rebuild all these diagrams. On a weekly basis, I would like to incorparte the DB changes into the model, then publish it. This is when I have the problem: when I select from the PowerDesigner Menu >Database > Update model from Data Base.... PD crashes.

    Add comment
    10|10000 characters needed characters exceeded

    • Ok, so you reversed completely new model. Now try to update this new model from DataBase. Does it work or does it crash in the same way the first one does? You have to find out first, whether it is a one-model problem or PD problem. Does it behave the same when you try it from different computer (i.e. different PD installation)? Does it behave the same way if you try to update model from DB by reversing different DB? If you are going to report it as PD bug, you will have to identify, which component of your chain causes the crash and to know, if you are reliably able to reproduce the issue. On different computer, on any model, etc. Otherwise it is simply problem of 1 specific model or 1 specific PD installation. And without repro, you are not getting your bugfix anyway.

      Quick workaround for this might be writing a script, which will take your newly reverse-engineered model and create all your 25 diagrams according to schemas and then display appropriate objects (according to their Owner property) on these diagrams. Quite simple thing which will allow you to avoid problematic function immediately and you will still be able to deliver the result.


      Basically you will only need

      ActiveModel.CreateObject(PdPDM.cls_PhysicalDiagram)

      to create your diagrams and functions:

      yourDiagram.AttachObject(yourTableOrView) 

      to display your objects on desired diagram and

      yourDiagram.CompleteLinks

      to display references on all diagrams. That`s it.

      Regards,
      Ondrej

  • Dec 05 at 03:55 PM

    Have you tried to reverse it into new model? Does it work or does it crash too? If it doesn`t crash, it looks like there is a problem in your current model. It might be a bug, which causes PD to crash, but it can be a problem in your specific model. Does it crash when you do reverse engineering of different DB? Does it crash only when reversing specific objects (and reversing of different objects/different schemas is ok? ) ?

    Add comment
    10|10000 characters needed characters exceeded

  • 4 days ago

    Thank You for your last comment. I'm not a script expert, but here's what I understand from your last message.

    Basically, you are saying to create a new model each time (reverse engineering) instead of trying to update an existing one.

    Looping through all schemas, create a diagram for eah one, then fill it with appropriate objects (tables, view, relationships) based on their Owner property.

    I will have to upgrate my scripting skills, but I like the idea.

    Thank You

    Add comment
    10|10000 characters needed characters exceeded