cancel
Showing results for 
Search instead for 
Did you mean: 

PowerDesigner Reverse Engineer from Teradata Truncates Object Names

former_member1144245
Participant
0 Kudos

Hello,

I would like to use PowerDesigner to reverse engineer tables from Teradata v15. I have customized the Teradata .xdb to allow for object length of 128, but the truncation continues to occur.

Learned recently that when Teradata extended the object limit from 30 to 128, they created a whole new set of dictionary tables which have a "V" suffix. So DBC.ColumnsV and DBC.TablesV replaced the DBC.Columns and DBC.Tables respectively. Unfortunately, both still exist. We have a theory that PowerDesigner is reading from the legacy views and because of this, only reflecting the first 30 characters of tables and columns.

Can someone verify this? Is there any way to modify which dictionary tables PowerDesigner is reading from?

Any assistance would be much appreciated!

~ Monique

Accepted Solutions (1)

Accepted Solutions (1)

c_baker
Employee
Employee
0 Kudos

The CODE truncation can occur in 2 places - 1) in the .xdb file as you have already been told, 2) in the naming conventions.

1) You can set the table name maximum length in the .xdb file under 'Script\Objects\Table\Maxlen - my TD14 .xdb is set to 30 - change this to 128.

2) In your 'Model Options/Naming Conventions/Table/Code' tab, change the Maximum Length from 30 characters to 128 as well.

HTH

Chris

former_member1144245
Participant
0 Kudos

Thank you Chris. The .xdb and the model options are both set to 128. As reverse engineering creates a new model, I don't believe the model options have any impact.

How does PowerDesigner know which tables to read from in the target database? How do we know it is reading from the new ones (effective in Teradata v12) and not the legacy objects? This could be the issue given that the obvious settings have no impact on truncation.

~ Monique

Former Member
0 Kudos

Hi Monique,

queries for reverse engineering are stored in sql-prefixed items. For example, check this path in your xdb file.This one is used for populating the dialog box for choosing which tables will be reverse-engineered:

TERADATAVxx::Script\Objects\Table\SqlListQuery

Other items starting with "Sql" prefix get more detailed information about tables from DB. The same for Views, Roles, Users, etc.

Ondrej

former_member1144245
Participant
0 Kudos

Thank you Ondrej! Sure enough, PowerDesigner is reading from the legacy tables as suspected. You have given me a way forward and I am very grateful for your assistance. I will modify the queries as soon as I get a chance and try again. I suspect this will fix the problem. Will report back. 

former_member1144245
Participant
0 Kudos

I was able to modify the .xdb and it now correctly reverse engineer from Teradata v15 without truncating table and column names. Thanks again to Ondrej for pointing me in the right direction.

GeorgeMcGeachie
Active Contributor
0 Kudos

I'm glad you were able to fix this, Monique.

I hope someone from SAP picks this up as an enhancement request.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

does anybody know, when the Teradata V15 will be officially supported?

Ondrej

former_member200945
Contributor
0 Kudos

The latest Powerdesigner release, 16.5.5 PL04 only supports Teradata 14.

I don't think its xdb file can work with Teradata 15.

former_member1144245
Participant
0 Kudos

The change I mentioned was made back in Teradata v12.0, so it's hard to understand why this issue would still exist.

I am using PowerDesigner v15.2, but I did manage to customize the Teradata .xdb so that we could use it to create a complete physical data model for v15 of Teradata, including the generation the DDL.

former_member200945
Contributor
0 Kudos

I just install 16.6 SP01 and it does support Teradata 15