Automatically Prepare a Development VM for Microsoft Dynamics 365 for Finance and Operations
Nov05

Automatically Prepare a Development VM for Microsoft Dynamics 365 for Finance and Operations

When you deploy a VM, not only does it take some time, once you get your hands on it there are a slew of things that need to be configured, installed, and set up before you can truly be productive on the machine.  Considering this ‘wasted effort’ I created a PowerShell script to install useful third-party tools for development and testing on Microsoft Dynamics 365 for Finance and… Continue Reading Dag Calafell, III’s...

Read More
The Ultimate AX 2012 Table and Field ID Fix for Synchronization Errors
Oct30

The Ultimate AX 2012 Table and Field ID Fix for Synchronization Errors

It is very frustrating to have a table ID conflict which causes AX to drop a table with data that is needed.  As anyone with AX 2012 experience will tell you, these things can be a major pain, even with two developers writing code at the same time.  I think that over the years many people have shared SQL snippets, I have incorporated their ideas and added an additional step I have not… Continue Reading Dag Calafell, III’s...

Read More
SysOperation Framework – Six years later where are we at with implementing it?
Oct15

SysOperation Framework – Six years later where are we at with implementing it?

It has been six years since the SysOperation framework was made available for development in Dynamics AX 2012.  The SysOperation framework replaced the RunBase Framework.  It promised to run faster by limiting which code runs on each tier of the system and limiting the network communication which became common with RunBaseBatch.  If you are curious, a good example of the SysOperation… Continue Reading Dag Calafell, III’s...

Read More
Defragment indexes on D365 Finance & Operations Virtual Machine
Oct12

Defragment indexes on D365 Finance & Operations Virtual Machine

After downloading the Dynamics 365 for Finance and Operations 8.1 PU 20 VHD from LCS, I went about optimizing its performance.  So far I used it a bit without doing a full compile and it seems to run less than 15 GB of RAM, although I have allocated much more.  Some low hanging fruit is defragmenting the indexes in the databases. Check the index fragmentation (optional, interesting) 1…. Continue Reading Dag Calafell, III,...

Read More
Parse the Missing Values from Validate (DIXF)
Oct08

Parse the Missing Values from Validate (DIXF)

I like to validate the data as much as possible throughout the process of migrating data into AX.  Usually this means reviewing the input file, loading the file, and clicking “Validate all”  before actually running the data into the target table. During the “Validate All” you may receive a plethora of messages.  Sorting through thousands of messages can be a major drag.  I like… Continue Reading Dag Calafell, III’s Article...

Read More
Latency Testing for Dynamics 365 for Finance and Operations
Sep16

Latency Testing for Dynamics 365 for Finance and Operations

Recently I went on a journey testing the latency of the Azure dark fiber backbone between data centers.  This is crucial for a global Dynamics 365 Finance and Operations (“FinOps”) implementation.  In general bandwidth can be purchased but latency is hard to influence. There are some resources online which provide latency numbers which seem to hold somewhat accurate still, but I… Continue Reading Dag Calafell, III’s...

Read More
Debug AIF Document Service within AX
Sep11

Debug AIF Document Service within AX

Sometimes it is a pain to create a .NET application and attach a debugger to the AOS service just to diagnose a problem with an AIF service.  It is possible to do all debugging inside of AX.  This example is for a standard AIF document service, however, you can also do the same for a custom service in a way which is even easier. As a prerequisite, the inbound port must have document… Continue Reading Dag Calafell, III’s...

Read More

Validate AX DLL Versions on Multiple Machines

List the versions for all DLLs which will load in AX using the Get-AxDllVersions. Download the PowerShell script.  Run this script against all machines running the AX client (RDP/Citrix/end-user) and servers. This is useful to confirm that all DLLs deployed match in file version. Example 1: Export DLL Versions for Local Machine Example single value: ComputerName : Server1FileVersion :… Continue Reading Dag Calafell, III’s...

Read More
Unable to Enable Warehouse Management II License Key
Aug21

Unable to Enable Warehouse Management II License Key

In AX 2012 R3 CU12, after disabling Trade > Warehouse and Transportation Management the Warehouse Management II license cannot be enabled in License information. “You can not add this license code because the following required license codes have not been entered: Warehouse management I” The fix was:1. Kick out other users2. Keep AOS online and AX open3. Backup business data SQL… Continue Reading Dag Calafell, III’s...

Read More

Unreserve inventory – Dag Calafell, III, PMP

// Unreserves inventory static void unreserveInventTrans(Args _args) { InventTrans             inventTrans; InventDim               inventDim; InventDimParm           inventDimParm; ; setPrefix(funcName());   select firstOnly inventTrans where inventTrans.StatusIssue == StatusIssue::ReservPhysical join inventDim where inventDim.inventDimId ==… Continue Reading Dag Calafell, III’s Article on their...

Read More

Data Migration: Combining 105 Excel Files in 3 Minutes

I needed to import multiple Excel files into AX;  all of them had a very similar format with the same columns.  Python to the rescue.  Ever since Build 2018 I’ve been using Visual Studio Code and enjoyed every moment of it, as I build Python scripts to assist me with anything I can think of.  I highly suggest that tool, and the Cobalt2 theme, for increased productivity and debugging- Data Migration: Combining 105 Excel Files in 3...

Read More

The Product variants form can only be opened for a product master

When right-clicking > View Details on a Variant number you may receive the following message  “The Product variants form can only be opened for a product master.” Call Stack     Data DictionaryTablesEcoResProductMasterMethodsgetProductMasterFromCaller   34     ClassesEcoResProductVariantsCompanyHelpernewFromFormRun     … Continue Reading Dag Calafell, III’s Article on their...

Read More
Generating Random Numbers and Dates (AX 2012)
Jun08

Generating Random Numbers and Dates (AX 2012)

The Random class creates random integer values.  Although the range of an int (32 bit) is: [-2,147,483,647 : 2,147,483,647], Random.nextInt() generates values from 0 to 32,767, which is an unsigned 16-bit integer.  Let’s run the Random class to validate the randomness. The results of generating 1,048,574 random numbers represented as a histogram: The RandomGenerate class enables you to… Continue Reading Dag Calafell, III’s...

Read More