A truly extensible warehouse
One size never fits all - selecting a warehouse solution that can be modeled to your needs and grow with you for years to come is critical.
Before diving into exactly how extensible the Microsoft Dynamics 365 SCM Warehouse solution is, lets get a few things out of the way. There are many ways to change the behavior of a warehouse management system - they can typically be categorized as:
Why it matters
The Microsoft Dynamics 365 warehouse solution supports a huge range of warehouse processes out of the box - yet, the holistic solution is designed to fit your business every day for years to come. Our customers typically have one or more specialized processes, that are implemented using some of the many extension points readily available.
We believe no business should select a solution limiting their flexibility, future potential or ability to act in an ever changing business landscape. We also believe business empowered to act with agility to changes will prosper. With these pillars we build the Microsoft Dynamics 365 Warehouse solution, enabling scenarios like:
This is only possible in a solution where extensibility is designed in.
The data in this article is from version 10.0.31. In other words, release number 31 since April 2019, where a reset of version numbers signaled a new era for the cloud based solution - we've released about 8 times per year since. Each version is guaranteed to be backwards compatible, enabling every customer to get the full value of their system investments, and getting the latest innovations immediately. To provide business flexibility, we allow customers to skip upgrades to fit their operation schedule. Here in November 2022, every single warehouse customer is on a release from 2022, and 90% are on a release less than 4 months old.
All customers on latest release, always!
While this is crucial for business investments and an impressive accomplishment, the real eye-opener is that this is achieved on a system built on arguably the most extensible platform on the planet - enabling you to have the solution you want, without worrying about being left behind on an old unsupported version. Learn more in The extensibility story.
Extensibility points in Warehouse - let's count!
In the rest of this article, I'll explain by numbers how ridiculously extensible Microsoft Dynamics 365 Warehouse is, to the point where counting extension points stop making sense. Just like you don't buy Lego bricks because of the number of knobs they have. You buy them because of what you can build with them. Still you know the knobs are where the magic lies.
Data model extension points
The data model consists of tables containing fields and field groups, each fields modeled using an extended data type.
Each extended data type has 4 properties extenders can control, including label, help text and string sizes.
Each field has 4 properties extenders can control, including label and help text.
Each field group enable extenders to add their own fields, allowing the fields to surface in the user interface without further ado.
领英推荐
Each table allows extenders to add their own fields, and offers 50 events extenders can subscribe to such as onInserting, onDeleted, onValidateWrite.
User interface extension points
The user interface consists of forms with data sources and controls.
Each form allows extenders to add their own data sources and controls, as well as subscribing to events such as onInitializing and onClosing.
Each data source has 23 events the extender can subscribe to, including onInserting, onDeleted, onValidateWrite.
Each field on the datasources has 3 events extenders can subscribe to such as onModified.
Each control has 8 events extenders can subscribe to such as onFocus and onModified.
Business logic
In X++ every public or protected method is an extension point. Extenders can subscribe to pre and post events, or use the superior wrapping technique offered by chain-of-command.
Further each class can be extended with additional members, including methods and stateful fields.
Summing it all up
After a bit of counting all the publicly available artifacts in the warehouse solution (those prefixed with "WHS"), the follow statistics emerge:
And is if that is not enough, we do encourage anyone to log extensibility requests, if something is missing. We will fulfill it in the first coming release.
Go create the warehouse you deserve.
THIS POST IS PROVIDED AS-IS; AND CONFERS NO RIGHTS.
Again an interesting blog article to read it! Like the article regarding the extension story. However, you are mentioning that the product and tracking dimensions are extensible so we can add own inventory dimensions if possible. Indeed, it's possible and we are using custom inventory (tracking) dimensions. Only it's a bit of hard to see that the custom inventory dimensions can't be used in some micro services like Planning Optimizer. Hopefully Microsoft will execute some actions to make it possible!
Product Manager Dynamics 365 Finance & Supply Chain Management at Alfa Laval | Ex Microsoft
2 年Good post, the possibility to always stay on latest version is a safe way is ground-breaking, even today when we have been on this platform for years already! We don't have a reason to complain on the extensibility offered, only thing in the warehouse area where I would love to see some more investment is on the Process Guide framework, to make it easier for us to build out the mobile processes.