![Page 1: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/1.jpg)
Smart customizationsMicrosoft DynamicsTM AX 4.0
Michael Fruergaard PontoppidanPartner Productivity – Microsoft Dynamics AXTM Microsoft Corporation
SCREENCAST
![Page 2: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/2.jpg)
Agenda
• Overlayering
• How to avoid overlayering
• Unit testing
• Code upgrade
![Page 3: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/3.jpg)
OverlayeringApplications elements vary in size• Forms and reports are big
• Tables, menus, queries are medium
• Fields, field groups, methods, etc. are small
![Page 4: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/4.jpg)
OverlayeringEmpty layers• An empty layer is transparent
• Elements from lower layer(s) are used
![Page 5: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/5.jpg)
OverlayeringCustomizing• Customizing existing elements will
Copy of the existing element to your layer Hide existing elements
![Page 6: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/6.jpg)
OverlayeringUpgrade conflicts
• During version upgrade conflicts occur when You have customized an element, AND Microsoft has changed the element
= cost = waste
Upgrading costs 30%
of original cost
![Page 7: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/7.jpg)
OverlayeringLessons learned• Avoid overlayering when possible
• Prefer overlayering of small elements
• Prefer overlayering elements less likely to change
• Creating new elements is not ’overlayering’
![Page 8: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/8.jpg)
Overlayering
![Page 9: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/9.jpg)
Agenda
• Overlayering
• How to avoid overlayering
• Unit testing
• Code upgrade
![Page 10: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/10.jpg)
Avoiding overlayering
• IntelliMorph Use field groups Use extended data types
• X++ Use class substitution
![Page 11: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/11.jpg)
• Extended Data Types
• Fields
• Fields groups
• Locale
• Authorization
• Configuration
• Personalization
• Preferences
• Regional settings
IntelliMorph
• The User Interface in AX is build at runtime
• Forms
• Reports
• Web forms
• Web Reports
• Menus
![Page 12: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/12.jpg)
<<Class>>
OriginalNew()Dialog()Run()static Main()static Construct
Class substitution
• Goal Make customizations to a class with as little overlayering as
possible
• Idea Ensure all instances of a class are replaced by a class of
your choice
<<Class>>
SubstituteNew()Run()static Construct()
• Steps1. Create a new class, inheriting from the class to
substitute
2. Change the original class’s Construct method
<<Class>>
OriginalNew()Dialog()Run()static Main()static Construct(usr)
![Page 13: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/13.jpg)
Avoiding overlayering
![Page 14: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/14.jpg)
Agenda
• Overlayering
• How to avoid overlayering
• Unit testing
• Code upgrade
![Page 15: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/15.jpg)
Unit testIn a nutshell• Purpose: Detect regressions
• Test code exercising feature code
• Written by the developer
• Repeatable
![Page 16: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/16.jpg)
Unit testMorphX integrated• Fully scalable architecture
• Recording of code coverage
• Fully automated Outputs to: XML, DB, TXT, etc.
• Supports repeatability
• Supports Test Driven Development
![Page 17: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/17.jpg)
Unit testing
![Page 18: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/18.jpg)
Agenda
• Overlayering
• How to avoid overlayering
• Unit testing
• Code upgrade
![Page 19: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/19.jpg)
Detecting Upgrade Conflicts
Has Microsoft modified the
element ?
Are our changes
identical ?
Have you modified the element ?
Delete (obsolete)
Add to projectIgnore
No No
NoYes
Yes
Yes
![Page 20: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/20.jpg)
OverlayeringUpgrade conflicts
• During version upgrade conflicts occur when You have customized an element, AND Microsoft has changed the element
![Page 21: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/21.jpg)
Upgrading smart customizations
![Page 22: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation](https://reader036.vdocuments.us/reader036/viewer/2022062519/5697bfc61a28abf838ca75fd/html5/thumbnails/22.jpg)
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.