The table extension in the Dynamics 365 Business Central object allows you to add additional fields or to change some properties on a table provided by the Dynamics 365 Business Central service. So you can add data to the same table and treat it as a single table. You can customize an application by using extensions. A table extension enables the addition of functionality to existing model elements and source code.
Table Extensions are a new technique that extends standard source code or metadata without affecting the standard application. This is a great feature introduced by Microsoft with the newer versions of Dynamics 365 data integration. Microsoft releases platform and feature updates at regular intervals for the cloud services, and having an extension-based solution makes it easy to apply for the latest releases.
- Greatly reduce the cost and efforts of an upgrade.
- Improve the performance of builds, test automation, and deployments.
- Allow you to separately build models or projects regardless of the application.
- Make it easy to apply new releases/updates/hotfixes without affecting customizations.
Capabilities provide by Extensions
- Creating new model elements.
- Extending existing model elements.
- Extending source code using class extensions.
- Customizing business logic. Ways to customize business logic include:
- Creating event handlers to respond to framework events like data events.
- Creating event handlers to respond to the event or organization delegates.
- Creating new plug-ins.
In Microsoft Dynamics AX 2012, you could override the virtual methods of a table’s base class to control the behavior that occurred during table operations, such as when creating, reading, updating, or deleting, and to implement event handlers that are called from the base implementations of the table methods.
- Increased flexibility, lower cost: Table extensions allow to write code that is compiled into a separate file, and approaches offer considerably more flexibility because companies and their software partners can write code in the Microsoft Dynamics 365 code.The extensions still depend on the Microsoft code but aren’t blended with it. So that the result is much faster compilations, as isolated code that’s easier to manage and read. An organization or company typically customizes D365 to meet specific needs, such as adding custom fields to tables.
- Transition period: To ease the transition, Microsoft has made several changes such as making some commonly customized areas of the system more extensible in the underlying Dynamics 365 application. They have introduced features in the programming language that allow developers and systems implementers to write new types of code.If in Dynamics AX or Dynamics 365 implementation with a great deal of customized code, start working with software partner to determine whether it can migrate that code to table extensions, or whether it would be more efficient and cost-effective to develop a new design that’s better suited to providing the desired functionality through table extensions.
In some instances, re-engineering logic from scratch is more straightforward using the table extension model than trying to shift overlaid code to an extension.