One night, I was trying to mass update default dimensions for certain accounts via the Legal entity overrides a while back and ran into something that took me forever to figure out and gave me a headache from banging my head into the wall. No matter how I changed the order, the dimension structure looked exactly the way it did when I started!

What was I doing?

I was using DIXF and exporting the Financial dimension value legal entity overrides entity. After making the changes I needed, I imported the file back in using the same entity. Pretty cut and dry stuff. To do this, I needed to make sure I had the dimensions in the order that I wanted and had all the dimensions included I needed. To do so, I went to the General ledgerChart of accountsDimensionsFinancial dimension configuration for integrating applications and adjusted the values in the Default dimension format. After these changes, I exported the file again, and to my dismay, realized that my changes didn’t take. The dimensions in the FixedDimensionDisplayValue were in the same order that they were when I started. This led me down a path trying to figure out what the heck happened. I deleted and recreated all the dimension formats, tried moving dimensions around, removing some of them, adding in the main account – anything I could think of. As it was late in the night, my next step was debugging what was going on.

How did I fix it?

Finally, I got to the bottom of it. For performance reasons, the expansion of the default dimension format into a list of ordered dimensions is completed once and then cached in the AOS. No matter the changes I made, the cache wasn’t being flushed and they weren’t being looked at. How to fix it? Restart the AOS. Should have thought of that earlier…

Update

As pointed out by some folks on Twitter, a cleaner and quicker way to resolve this issue is to flush the data cache using the class runner. To do this, in your browser, type in https://[your_D365_URL]/?cmp=DAT&mi=SysClassRunner&cls=SysFlushData. This ought to do it and save you the trouble of a restart.