Blog

Plans for 2020 and going forward

It has been a quiet couple of months as the community has probably noticed by the lower number of blog posts and forum answers. Working on our MSDyn365FO upgrade at JJ Food Service has been a demanding task, but progress is steady. Now it is time to do the plans for 2020.

Soon I can get back to publishing blog articles on a regular basis. Not just that, but the big announcement is: DAXRunBase is going online with Video Logs!

Plans for 2020 - vlog

Make sure you bookmark and subscribe for the Dynamics Zero-To-Hero channel.

(more…)

Dynamics 365 Dubai Summit 2020

With only 1 week left until the Microsoft Dynamics 365 Dubai Summit 2020, I would like to remind you that there are still a couple of sets available for this amazing, free event.

Dubai Summit 2020

Dubai Summit 2020 website link

This is one of the largest conference in the region dedicated to Dynamics 365 with 5 tracks available in: Finance and Operations, Customer Engagement, Retail, Unified Operations and Power Platform.

It falls in line with the Dynamics 365 Saturdays event series, which has a goal of sharing the latest and greatest about our ERP platform and connected technologies freely. You can find more details at https://www.365portal.org/.

The Dubai Summit conference is a 365 Saturday on steroids and will be span across 3 days, 700 participants, with 29th of February being dedicated for various in-depth sessions held by fellow professionals and enthusiasts from Microsoft, Customers and Partners. Sunday will be a Power Platform bootcamp, and Monday will be a CDS core exam cram.

I will be presenting 2 sessions about the journey of moving the AX 2012 R3 implementation of JJ Food Services into the cloud. It will cover business and technical aspects and challenges of getting a large-scale enterprise system up and running within Azure.

Hope to see you all soon at the Dynamics 365 Dubai Summit on 29th of February!

Trace database cleanup in an efficient way

The Trace parser is an excellent tool for troubleshooting business functionality within Microsoft Dynamics AX 2012 and Dynamics 365 for Finance and Operations. Your Trace database can quickly grow large and it does affect the tools’ performance adversely.

Removing the old trace collections one-by-one is time consuming. You could utilize a stored procedure for cleaning up your AX trace database efficiently in SQL:

-- Replace AXTrace with your database name
USE [AXTrace]
GO
 
-- Truncate transaction log to reduce size
DBCC SHRINKFILE (N'AXTrace_log' , 0, TRUNCATEONLY)
GO
 
-- Iterate through the list of traces in the database
DECLARE cur CURSOR FOR 
       SELECT [TraceId] FROM [dbo].[Traces]
 
DECLARE @Id AS int
 
OPEN cur;
FETCH NEXT FROM cur into @Id;
 
-- Remove all traces in the database with the DeleteTrace stored procedure
WHILE (@@FETCH_STATUS = 0)
BEGIN
       EXEC [dbo].[DeleteTrace] @TraceId = @Id
       FETCH NEXT FROM cur into @Id;
END
 
CLOSE cur;
DEALLOCATE cur;
 
-- Truncate transaction log to reduce size
DBCC SHRINKFILE (N'AXTrace_log' , 0, TRUNCATEONLY)
GO
By |2020-03-23T13:21:53+01:00March 31st, 2019|Categories: AX 2012, Dynamics 365 for Finance and Operations|Tags: , , , , |0 Comments

Checklist can change AX configuration keys

The other day we ran into a serious issue during our regular Production system maintenance. The Data dictionary synchronization step has started creating indexes with a DEL_ prefix on large tables such as InventTrans. We have quickly identified that AX configuration keys got changed by opening a checklist.

It turned out that some of the users had the System_Checklist security privilege assigned, and they have clicked it by accident. Standard code can add or update License configuration keys when you run the checklist.

In our case only a couple of new entries were activated, such as SysObsoleteObjects60. It has added a lot of DEL_ objects which could be easily rolled back. At another company it has done irreversible damage for inventory dimensions. You could imagine how bad the situation could get if important config keys are turned off. Synchronization would start dropping columns and entire tables.

SysConfig checklist

The quick fix was to use the Export functionality on the License configuration form from our Quality Assurance AX (daily copy of Production). Then we could import the correct configurations to Prod and revert changes by doing a Data dictionary synchronization.

Please ensure that your users only have access to security privileges they really need, to avoid unintentional damage. Remove the System_Checklist and similar features from everyone, except the administrators.

Synchronize Models between workspaces in MSDyn365FO

For our upgrade project we have decided to create 4 packages/models to start with, which is enough to separate larger areas. Once the models have been created on my VM, I had to make it available for everyone. The goal was to synchronize models between workspaces of other developers.

Package / ModelDescription
JAD CoreCore application framework changes, essentially what is in Platform and Foundation
JAD OperationBusiness application customizations, later on we might create additional models for larger functionality
JAD IntegrationFor exchanging
JAD ReportingFor reporting, data warehousing, CDS and entities

The devil lies in the details and for some reason the model was not showing up after synch. It turns out that the model description sits in an XML file within the Descriptor folder. You need to manually include it in source control, as explained in the documentation as well. Once it is checked in, all you need to do to synchronize models between workspaces is to get latest changes, then click on Dynamics 365 > Model Management > Refresh models.

Synchronize models between workspaces