In this chapter, we will cover the tasks required to write the data dictionary elements commonly used within Supply Chain Management (SCM) development.
Data structures in SCM are not just tables and views—they also include the ability to define a data dictionary. This is now called the data model in SCM. The data model hasn't changed much in structure since AX 2012, but is much more refined, with many more features to aid development and minimize the footprint when extending standard tables and types.
Most development in SCM is based on patterns, even if we are not aware of it. This classically means code patterns, but SCM unifies the code, data model, and user interface design. So we have patterns to follow when creating the data model. For example, the vendor and customer lists are very similar and are called main tables. Purchase orders and sales orders are also very similar, which are worksheet tables; in this case, order headers and lines.
Tables in SCM have a property that defines the type of table, and each type is associated with a particular style of form for the user interface. We could, therefore, consider these types as patterns. If we think of them as patterns, it is far easier to apply the recipes to our own development.
The following list is of the common table types, listed with the usual form design and the typical usage:
Table group | Form design pattern | Usage |
Miscellaneous | None | This is essentially "undefined" and shouldn't be used, other than for temporary tables. |
Parameter | Table of contents | This is used for single-record parameter forms. |
Group |
Simple list Simple list and details-ListGrid |
This is used for the backing table for drop-down lists. The Simple list design pattern is suitable for when only a few fields are required; otherwise, the Simple list and Details patterns should be used so the fields are presented in a useful way to the user. |
Main | Details Master | This is used for main tables, such as customers, suppliers, and items. |
Transaction header Transaction Line |
Simple List and Details with standard tabs |
This is used for datasets, such as the invoice journal form, which contain posted transactional data with a header and lines. |
Transaction |
Simple List and Details w/ standard tabs | This is used for tables, such as the inventory transaction form, which contain posted transactional data but at a single level. |
Worksheet header Worksheet line |
Details transaction | This is used for data entry datasets, such as the purchase order, where the dataset is made up of header and line tables. The pattern has two views, a list view of header records, and a detail view where the focus is the lines. |
Worksheet |
Details Master |
This is a single-level data entry dataset, which is rarely used in SCM. |
In this chapter, we will create types and tables for the common types of table, but we will complete the patterns when we cover the user interface in Chapter 3, Creating the User Interface.
In this chapter, we will cover the following recipes:
- Creating enumerated types
- Creating extended data types
- Creating setup tables
- Creating a parameter table
- Creating main data tables
- Creating order header tables
- Creating order line tables