What I found and what I know about Microsoft Dynamics NAV
Today I made some statistics about NAV 5.00SP1 tables. I know that the stats have no purpose, but you can see on them how complex the system is. It can help to someone, who just want to know, how much is something used in standard etc. There are the tables:
Tab 1) Field relations by type:
A you can see, there is 6517 relations between fields (TableRel, SUM, Lookup etc.) or tables (Exist, Count). Of course, most of them are table relations and SUM flowfields.
Tab 2) Field data types:
From this table you see that most used data type is Code – of course, because most of relations are made through some code and the code fields are used everywhere... :-) Second is Decimal – yes, we are working with ERP which counts money, inventory...
Tab 3) Field data types including length:
Filed type and length
Most used is Code with length 10 – all basic lists are referred by this data type. But newer the longer fields are used (Code 20), which have enough space for possible longer codes. I personally when I create new table, I use the Code 20 to precede possible problems with additional extension of the field in future. Very interesting are field length at the end of the table like Text118, Code1, Text63... ;-)
Tab 4) Overall stats:
Fields per table (Avg)
Average count of relations per table
Percentage of fields referring other fields
Max fields in table
176 (Tab 39 - Purchase Line)
175 (Tab 27 - Item)
Max table relations per table (All)
93 (Tab 18 - Customer)
Max table relations per table (Table Rel)
66 (Tab 81 - Gen. Journal Line)
Max table relations per table (FlowFields)
63 (Tab 18 - Customer)
Most referred table
266 (Tab 349 - Dimension Value)
258 (Tab 308 - No. Series)
235 (Tab 15 - G/L Account)
I think that the last table doesn't need any explanation. In average, if you change some field's length, there is more than 1:2 chances that you need to change length of another field which refer to the first field.
I hope, that you made better picture of the complexity of whole Microsoft Dynamics NAV system. May be that you now understand, why the people around this system needs long time to gather enough experiences to understand the system. It is why the NAV is so great product, because regardless this complexity, it is easy to change and develop additional parts. Do not forget that these stats are just for the basic version of the system. If you add all addons which customer needs for his work, these stats can go much higher...
I want to congratulate to all consultants and developers, which are able to understand the system, which knows, how it works, and which are able to correctly do their every-day work with this huge amount of information. May be that this stats will help customers to understands, why sometimes there are some bugs in the system, why some things needs more time to think them out than making them.
We will see how these stats will change with new versions.
Interesting stats ;-)
I get a very bad feeling when I see Code3 / Text3 field definitions because NAV will crash if you try to access a Code/Text field which length is less than 5 with RecordRef / FieldRef.
All Code3 are used in fields "On Hold". Code1 is used in table 5719 field 3 - "Nonstock Item Setup"."No. Format Separator".
Text3 is in 2000000045 - "Windows Language"."Abbreviated Name". It seems that there is no problem with these fields...
Very interesting. How did you create these stats?
It is easy:
Excel + Pivot Tables over Field table + AllObj table + my objects for Table relations (see mibuso download section for The Big Picture Of Nav) + calc
Nicely done. Thx.