AOT Table Properties in Dynamics 365 Finance and Operations (D365F&O)
Hello there. In this blog, I will delve into the properties of D365F&O AOT Tables in depth. When we create a new table, the first step is to update its properties, which is a straightforward task. Among all the available properties, we will focus our discussion on only the most important ones.
This property determines whether the table supports Inheritance. By default, it is set to "No." If you set it to "Yes," the table cannot be directly used as a target in X++ SQL statements like "update_recordset" and "select."
Please note that this property is not available when the "SupportInheritance" property is set to "No."
This property is closely related to the table type, and warnings will be issued if an inappropriate caching level is chosen. Here are the available cache levels:
The cache is only refreshed when records are updated or flushed.
This property is used only for SQL optimization.
Configuration keys allow a system administrator to enable and disable certain parts of an application.
Indicates whether the system maintains the CreatedBy field for the records in a table. This field contains information about who created a particular record.
Indicates whether the system maintains the CreationDate and CreationTime fields for the records in a table. This field contains the date when a record was created.
Indicates whether the system maintains the CreatedTransactionId field for the records in a table. This field contains information about which transaction created the record.
Indicates whether an index on the Record ID field is created.
Describes the purpose of a table and explains how it is used. A description is typically no more than five sentences long and is written as a single paragraph.
Classifies a table according to common entity relationship (ER) data model notation. A table is classified as an entity or a relationship. An entity represents an object. A relationship represents an association between two objects.
Derives the table from another table that is chosen as the property value. The value is null when the SupportInheritance property is set to Yes.
This property specifies the display menu item that becomes active when a table is referenced. A display menu item is typically linked to a form. When you utilize a primary index field in a report, this form is accessible as a hyperlink within the report. The primary index is defined using the "PrimaryIndex" property. If you leave this field empty, the system will try to display a form with a name that matches the table's name.
Specifies the table ID generated by the system.
For report models, this property determines whether the information from the table is included in other tables that reference it when generating a report model. In the context of OLAP cubes, it decides whether to create a combined dimension or a separate dimension. You can choose from the following options:
Specifies the label for a table.
Recommended by LinkedIn
Specifies which model the table is in. A model is a logical grouping of elements in a layer. An element can exist in exactly one model in a layer. Examples of elements are a table or class. The same element can exist in a customized version in a model in a higher layer.
Indicates whether the system maintains the ModifiedBy field for the records in a table. This field records the person who performed the last modification to a record.
Indicates whether the system maintains the ModifiedDateTime field for the records in a table. This field records the date of the last modification of a record.
Indicates whether the system maintains the ModifiedTime field for the records in a table. This field records the time when a record was last modified.
Specifies the table name.
This property determines whether the optimistic concurrency mode is activated for a table. When this mode is enabled, data is not locked against future modifications when it's retrieved from the database. Instead, data is locked only when an actual update is carried out.
This property indicates the primary index for the table. It's important to note that only a unique index can be chosen as the primary index. This property serves two main purposes:
If you don't specify a primary index, the system will automatically use the unique index with the lowest ID as the caching key.
Specifies the fields to display as the identifier for data in some form controls.
This property defines the output menu item that becomes active when a table is referenced. An output menu item is typically linked to a report. When you utilize a primary index field within a report, this report is accessible as a hyperlink within the report. The primary index is specified using the "PrimaryIndex" property.
Indicates whether the data for the current company is saved. If you set the property to No, data is saved without a company identifier (DataAreaId).
It refers that it is a regular database table or a temporary table.
TitleField1, TitleField2
Enables you to do the following:
For more information, check MS documentation on it, How to: Add a Control with a Lookup Form. The TitleField1 property is also used when activating the lookup list in a field on a form. The fields you specify for TitleField1 and TitleField2 properties can be merged with the key value.
Specifies the type of date-time field for the system to use when it tracks data within time spans.
Specifies the access rights when the table is used as a data source in a form or a report. If the table is used as a data source in a form, then the access rights in the form cannot exceed the access rights defined for the table.
Happy Learning,
Syed Amir Ali.
Immediate joiner Microsoft Dynamics 365 Finance & Operation Technical Developer
6moVery useful information
Valuable information
Senior Technical Consultant ERP / Microsoft Dynamics 365 Finance & Operations | Integration & Customization specialist | Enabler of Business | Digital Transformation
1yIt's really very helpful material, Syed Amir Ali Bhai your presence is very valuable for us 🔸