The goal of this design pattern is to outline a standard way of creating master data, such as customers, vendors or items, in NAV.
This pattern creates a standard master data entity, listing all necessary prerequisites, attributes and methods to generate a basic version of the data entity.
It is being used for creating a master data entity and can roughly be divided into 2 categories: Business and Product
Examples of Master Data tables are:
- Table 18: Customer
- Table 23: Vendor
- Table 270: Bank Account
- Table 5050: Contact
- Table 15 G/L Account
- Table 27: Item
- Table 156: Resource
- Table 5600: Fixed Asset
- Table 5718: Nonstock Item
- Table 5913: Loaner
Master Data has attributes such as Location, Countries & Item Vendors. These tables are closely related to Master Data tables and are called Supplemental and Subsidiary tables.
- Table 9: Country/Region
- Table 14: Location
- Table 99: Item Vendor
Master Data is among other used in journals, posting routines and historic data like ledger entries.
Naming & Conventions
Table & Card Page
Examples: Customer, Vendor & Item
Plural if Editable = TRUE.
Singular + “List” if Editable = FALSE.
The data entity has a single primary key field with the following properties:
|Date Type||Code 20|
Each master data entity has a field which gives a name tag to the data entity carrying the natural name of the entity. This field is called Name if the data entity refers to a living person or an organization, such as a customer or a vendor; it is called Description instead if the data entity does not refer to a person or organization, such as an item. The field has the following properties:
|Name||Name or Description|
|Date Type||Text 50|
An added benefit of using the Name or Description field naming is that this will be part of the dropdown when looking up based on the table relation.
The table properties of a master data table contain the following entries:
|LookupPageID||A ListType Page referring to the table which is not editable.|
|DrillDownPageID||The same page as defined in the LookupPageID|
|DataCaptionFields||The primary key plus the field which provides the primary name tag for the record. This will typically be the Name or Description field defined earlier.|
NAV Specific Example
We will create an Example table here with a Card and List Page as described above.
First we create the Table with No. as the primary key.
Than we create a non-editable Page called Example List
Than we create an Example Card Page with the following definition
Now we can set the properties of the 2 pages.
First the Example Card Page Properties
Than the Example List Page Properties
Last but not least we set the Table Properties
You can see this pattern used in the following tables & pages:
- Table 18: Customer, Page 21 Customer Card & Page 22 Customer List
- Table 23: Vendor, Page 26 Vendor Card & Page 27 Vendor List
- Table 270: Bank Account, Page 370 Bank Account Card & Page 371 Bank Account List
- Table 5050: Contact, Page 5050 Contact Card & Page 5052 Contact List
- Table 15 G/L Account, Page 17 G/L Account Card & Page 18 G/L Account List
- Table 27: Item, Page 30 Item Card & Page 31 Item List
- Table 156: Resource, Page 76 Resource Card & Page 77 Resource List
- Table 5600: Fixed Asset, Page 5600 Fixed Asset Card & Page 5601 Fixed Asset List
- Table 5718: Nonstock Item, Page 5725 Nonstock Item Card & Page 5726 Nonstock Item List
- Table 5913: Loaner, Page 5922 Loaner Card & Page 5923 Loaner List
This pattern should not be used when this is not Master Data.
Patterns that are typically used in connection with the Master Data Pattern could be the “No. Series”, “Address Integration” and/or the “Entity State” design patterns., Master Data are central to almost everything we do, so most patterns connect in one way or another to the Master Data Pattern.