AOT Table Properties in Dynamics 365 Finance and Operations (D365F&O)

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.

  1. Abstract

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."

  1. AOSAuthorizationThis property defines the type of operation that a user is allowed to perform on a table, depending on their permissions. When this property is set to "None," it means that no authorization check is carried out.
  2. CacheLookup

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:

  1. None: No caching is applied.
  2. NotinTTS: Data is fetched once for each transaction.
  3. Found: Data is cached once it's found and not looked up again.
  4. EntireTable: The entire table is loaded into memory.

The cache is only refreshed when records are updated or flushed.

  1. ClusterIndex

This property is used only for SQL optimization.

  1. ConfigurationKey

Configuration keys allow a system administrator to enable and disable certain parts of an application.

  1. CreatedBy

Indicates whether the system maintains the CreatedBy field for the records in a table. This field contains information about who created a particular record.

  1. CreatedDateTime

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.

  1. CreatedTransactionId

Indicates whether the system maintains the CreatedTransactionId field for the records in a table. This field contains information about which transaction created the record.

  1. CreateRecIdIndex

Indicates whether an index on the Record ID field is created.

  1. DeveloperDocumentation

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.

  1. EntityRelationshipType

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.

  1. Extends

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.

  1. FormRef

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.

  1. ID

Specifies the table ID generated by the system.

  1. IsLookup

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:

  • "Yes" - Signifies that attributes from the table should be combined into the parent dimension (known as a star schema).
  • "No" - Signifies that a distinct dimension should be generated for the table (known as a snowflake schema).

  1. Label

Specifies the label for a table.

  1. Model

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.

  1. ModifiedBy

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.

  1. ModifiedDateTime

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.

  1. ModifiedTime

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.

  1. Name

Specifies the table name.

  1. OccEnabled

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.

  1. PrimaryIndex

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:

  1. It helps optimize database operations.
  2. It specifies which unique index should be used as the key for caching 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.

  1. ReplacementKey

Specifies the fields to display as the identifier for data in some form controls.

  1. ReportRef

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.

  1. SaveDataPerCompany

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).

  1. TableType

It refers that it is a regular database table or a temporary table.

TitleField1TitleField2

Enables you to do the following:

  • Add table field data to a form caption.
  • Display additional fields in a lookup form.

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.

  • Display field information in a tooltip.

  1. ValidTimeStateFieldType

Specifies the type of date-time field for the system to use when it tracks data within time spans.

  1. Visible

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.


Nagendra c

Immediate joiner Microsoft Dynamics 365 Finance & Operation Technical Developer

6mo

Very useful information

Like
Reply

Valuable information

Like
Reply
Usama Mehmood

Senior Technical Consultant ERP / Microsoft Dynamics 365 Finance & Operations | Integration & Customization specialist | Enabler of Business | Digital Transformation

1y

It's really very helpful material, Syed Amir Ali Bhai your presence is very valuable for us 🔸

To view or add a comment, sign in

More articles by Syed Amir Ali

Insights from the community

Others also viewed

Explore topics