How do I Determine the Azure Region for my Production Dynamics 365 Environment with AI
May08

How do I Determine the Azure Region for my Production Dynamics 365 Environment with AI

There are a lot of considerations when looking at where a production environment should be deployed. The first question that comes to mind is whether we can “get away with” one production instance or need to support multiple production instances by region or even country/division. Additional factors apply: Latency, weighted by number of workers in each location/geo Licensing: every user needs… Continue Reading Dag...

Read More
Opportunity in Analytics for Microsoft Dynamics 365
Aug25

Opportunity in Analytics for Microsoft Dynamics 365

Recently, I have had the opportunity to expand my purview to all of Microsoft’s services (i.e. Azure), not just in the Microsoft Dynamics 365 arena.  That includes all Azure products, i.e. analytics, IaaS, PaaS, machine learning, Power Platform, et cetera in addition to Dynamics.  Being a long time (13 year) Dynamics technical guru, I found this was my next greatest challenge.  And yes, I… Continue Reading Dag Calafell,...

Read More
Throttling on Dynamics 365 Finance & Operations (Supply Chain Management) Starting 10.0.19
Jul12

Throttling on Dynamics 365 Finance & Operations (Supply Chain Management) Starting 10.0.19

Priority-Based Throttling is starting on version 10.0.19.  This has caused some concern for users who are heavily dependent on OData or Custom Web Service calls from third party software, i.e. ISVs, EDI, Integrations, web portals, custom web apps.  Everything here is up to date as of July of 2021.  I expect some changes to come over the next months and years which may invalidate some of… Continue Reading Dag Calafell,...

Read More
Remove $id from Custom Web Service JSON – Dynamics 365 F&O
Jun11

Remove $id from Custom Web Service JSON – Dynamics 365 F&O

Priority-Based Throttling in Microsoft Dynamics 365 Finance and Operations (F&O, SCM) is almost mandatory!  If your solution or integration architecture included the transaction orchestration being done outside of F&O (multiple OData calls within a transaction; rollback means making more OData calls), one of the things you can do to adjust it is to create a custom web service in F&O, which… Continue Reading Dag...

Read More
Link to an Azure Logic App Run
Jun09

Link to an Azure Logic App Run

Sometimes my Azure Logic Apps are sending emails internally, both for the happy path and for exceptions.  Toon had a great post, Navigate directly to the Logic Apps run details | Your Azure Coach, explaining how to create a direct link to the Azure Logic App run.  The idea is that you could easily check out the details and correct any issues.  I’d like to add to his post the exact formula… Continue Reading Dag Calafell,...

Read More
How do you manage your slides and decks?
May04

How do you manage your slides and decks?

The more I’m involved in sales, pre-sales, and training… the more I desire for a super robust presentation management / slide library.  I have found some solutions, and I’m very interested in hearing what others are doing! PowerPoint capabilities SharePoint slide libraries are gone, but Teams is in, and OneDrive is available as well. PowerPoint has some built-in capabilities to reuse… Continue Reading Dag...

Read More
Find Unused Labels – Dynamics 365 Finance & Operations
Aug23

Find Unused Labels – Dynamics 365 Finance & Operations

How many of your labels do you maintain, and yet are not being displayed in any way to a user? I set out to answer this question on one of my projects, and found 10%, over 100 labels, were created and abandoned as functionality was changed over time.  These labels did not provide any value, and might lead to requiring translations which would never be shown to anyone. The following PowerShell… Continue Reading Dag Calafell,...

Read More
Push notification if early meeting tomorrow morning
Aug17

Push notification if early meeting tomorrow morning

As a consultant I have meetings at all times of the day.  One of my first steps in my day is to check my calendar to understand just how much time I have before I need to join my first meeting, and to review my meetings to make sure I’ve done the proper preparation ahead of time.  When I started to have a customer with occasional 4am meetings I decided I needed to be reminded to set the… Continue Reading Dag Calafell,...

Read More
Automated Unit Tests for Intercompany Transactions – Dynamics 365 Supply Chain Management
Jun02

Automated Unit Tests for Intercompany Transactions – Dynamics 365 Supply Chain Management

Background Creating unit tests (SysTest + ATL) and automating their running in an Azure pipeline is part of a good continuous update strategy which reduces the risk of taking frequent product updates for Dynamics 365 Supply Chain Management from Microsoft.  The guidance on Docs is fairly good, when combined with the samples shipped in a “develop” environment deployment.  The docs and samples… Continue Reading Dag...

Read More
How to Combine Multiple D365SCM OneBoxes into One Environment
May27

How to Combine Multiple D365SCM OneBoxes into One Environment

In Dynamics AX 2012 I commonly added AOSs to the data migration environment to speed up data migration.  On one project I had an environment with twelve 2.6 GHz physical cores (24 threads when hyper-threading) which I would add up to five additional “underutilized” development servers as AOSs when importing 2.5 million products and released products. Then Dynamics 365 Finance / Supply Chain… Continue Reading Dag...

Read More
Monitor Deprecated Features or Release Schedule
May12

Monitor Deprecated Features or Release Schedule

Microsoft has committed to giving 12 months notice before making a potentially breaking change.  Read more.  They will post the breaking changes to the Removed or deprecated features for Finance and Operations page on Docs.  I encourage you to read the introduction on that page so you understand exactly which type of changes will be published. Docs is hosted on Github to allow community… Continue Reading Dag Calafell,...

Read More
The Utility of Query Range Functions – Dynamics 365 for Finance Operations Supply Chain Management
May08

The Utility of Query Range Functions – Dynamics 365 for Finance Operations Supply Chain Management

Query range functions are a feature of F&O which enables specifying a criteria without knowing the exact value or having to do the calculation yourself.  This could be used to filter a form, or when specifying ‘records to include’ on a scheduled batch (very handy). Examples: (currentDate()) (anyUserIdNotCurrent()) (day(-2)) (greaterThanDate(-2)) In 2012 you would overlayer the… Continue Reading Dag Calafell,...

Read More
A Tale of Updating 28 Environments – Dynamics 365 for Operations
May05

A Tale of Updating 28 Environments – Dynamics 365 for Operations

Scenario I had a  customer implementing Microsoft Dynamics 365 for Finance and Supply Chain Management who had to postpone an update because an ISV solution needed an update.  The upgraded solution came, so I planned out the environment update roll out strategy: which environments would get updated?  When?  How to roll back if they did not update. The changes to roll out included: F&O… Continue Reading Dag Calafell,...

Read More
Static IP not guaranteed for Dynamics 365 for Finance and Operations
Dec13

Static IP not guaranteed for Dynamics 365 for Finance and Operations

Microsoft Dynamics 365 for Finance and Operations offers a lot of flexibility and significantly reduced maintenance effort than the previous versions (AX).  Along with being a cloud-hosted SaaS solution, we had to modify our approach to making modifications, interfacing with the system, licensing and more.  One change which can be particularly challenging is that the IP address… Continue Reading Dag Calafell, III’s Article...

Read More
Searching Code in Dynamics 365 Finance and Operations Using PowerShell
Nov08

Searching Code in Dynamics 365 Finance and Operations Using PowerShell

You can search the Finance and Operations XML files (the X++ source code) using regular expressions by using PowerShell’s Select-String command.  This is a strategy that I’ve used many times and I wonder if others have realized the ease of approaching code searches this way. For some background, we’ll be using regular expressions which provide a very flexible approach for searching… Continue Reading Dag...

Read More
F&O Data Expansion Tool: Error Tracing Not Started
Oct17

F&O Data Expansion Tool: Error Tracing Not Started

Tracing not started error?  Perhaps, like me, you recently rebooted the environment and it had not fully initialized before you tried to start recording on a new Data Expansion project. 1. Reboot the environment. 2. Create and build a runnable class (“job”) to call DataExpansionTraceControl::clear(true). 3. Run the class … Continue Reading Dag Calafell, III’s Article on their blog F&O Data Expansion Tool:...

Read More
F&O Data Expansion Tool: Recording Data Creation
Oct11

F&O Data Expansion Tool: Recording Data Creation

The Data Expansion Tool is a tool which will generate data in the current Microsoft Dynamics 365 for Finance and Operations environment. The tool itself is not documented and the video which demonstrated it has been lost because the Office Mix web site was retired. It enables you to record transactions which are occurring in F&O then recreate those in the same or another… Continue Reading Dag Calafell, III’s Article on...

Read More
F&O Data Expansion Tool: The Execution Traces event publisher is not installed
Sep12

F&O Data Expansion Tool: The Execution Traces event publisher is not installed

The Data Expansion Tool is a tool which will generate data in the current Microsoft Dynamics 365 for Finance and Operations environment.  The tool itself is not documented and the video which demonstrated it has been lost because the Office Mix web site was retired.  It enables you to record transactions which are occurring in F&O then recreate those in the same or another… Continue Reading Dag Calafell, III’s Article...

Read More
What F&O Tables do not have Data Entities?
Sep06

What F&O Tables do not have Data Entities?

If you are like me sometimes it can be hard to translate from technical name to the actual data entity name. As a Microsoft Dynamics 365 for Finance and Operations developer it is sometimes useful to use the cross reference to identify the proper entity to use, however some tables are used so often it can be a task to scroll through to find the right reference.  An example is… Continue Reading Dag Calafell, III’s Article...

Read More
Call an Azure Function from Dynamics 365 for Finance and Operations
Aug30

Call an Azure Function from Dynamics 365 for Finance and Operations

In this example, F&O will directly call an Azure Function which can do some processing (usually integrating with other services). 1. Create a new Azure Function App in the Azure portal.  Once created, add an Azure Function with an HTTP trigger. (Psst: Application Insights should be deployed to enable logging for production and testing environments.) 2. Click on “Get Function URL”… Continue Reading Dag Calafell,...

Read More
Reminders When Meeting Scheduled Outside of Business Hours – Flow
Aug12

Reminders When Meeting Scheduled Outside of Business Hours – Flow

When working on global implementations, meetings outside of typical business hours are very common.  The following describes a Flow which reminds me of off-hours meetings before bedtime so that I can set my alarm appropriately. Start with a Flow trigger on a schedule.  The trigger is called “Recurrence.”  You can start with a blank Flow or, choose New > “Scheduled – from blank”… Continue Reading...

Read More
Using the LogicApps and Flow Connector for Dynamics 365 for Finance and Operations
Aug07

Using the LogicApps and Flow Connector for Dynamics 365 for Finance and Operations

Finding the Right Data EntityLet’s say you know you want to read data from F&O and OData endpoints are appropriate.  LogicApps is a great way to pull that data and push it to another service.  Or perhaps you subscribed to an F&O Business Event and want additional information about the customer so that you can send an email alert with the customer’s name, credit, and payment… Continue Reading Dag Calafell,...

Read More
Spell check using Bing Spell Check API Cognitive Services in Dynamics 365 for Finance and Operations
Jul31

Spell check using Bing Spell Check API Cognitive Services in Dynamics 365 for Finance and Operations

< div class=”fusion-fullwidth fullwidth-box nonhundred-percent-fullwidth non-hundred-percent-height-scrolling” style=’background-position: center center;padding-top:0px;padding-right:30px;padding-bottom:0px;padding-left:30px’> < div class=”fusion-builder-row fusion-row “> In this post we will explore how to add a library which calls the Bing Spell Check API v7.  This post also serves as an...

Read More
String Concatenation Performance – Dynamics 365 for Finance and Operations
Jul26

String Concatenation Performance – Dynamics 365 for Finance and Operations

Have you heard of System.Text.StringBuilder?  It is a .NET class which specializes in faster string manipulation.  Can we use it in X++?  Is it faster?  How much faster?  When is the break-even point on using the StringBuilder class?  String concatenation (+) actually allocates, and populates a new variable in memory for the new string and then destroys the prior string…. Continue Reading Dag Calafell, III’s Article on...

Read More

Set up Business Events with Microsoft Flow – Finance & Operations

With version 10 coming in April, fifteen (15) application events from Procure to Pay and Quote to Cash will be available out of the box in Dynamics 365 for Finance and Operations. They promise to be a powerful addition enabling self service for certain events, and better cloud integration by triggering an integration instead of periodically checking if something had been posted. … Continue Reading Dag Calafell, III’s...

Read More

Identify Merge Candidates Efficiently in Azure DevOps Version Control

Which branches have changes which need to be merged?I am currently on a project with a large development team. Some of the developers are learning how to code X++, so one feature can turn into six check ins. Therefore, I needed a way to review all non-promoted changes before I rolled out the next release. I can check using Visual Studio with four clicks, but I have to check twenty or so… Continue Reading Dag Calafell,...

Read More

Using Postman to Test AX 2012 Web Services

Postman is a great tool for debugging web sites and web services. For developing web services the free edition works well and is a great proof of concept that can be given to the development team doing the integration on the other side. In this post we’ll walk through how to use Postman to test Dynamics AX 2012 web services. Set up AX AIF Inbound Port Postman does not support… Continue Reading Dag Calafell, III’s Article...

Read More

Track Emails Received in Excel using Azure Logic Apps

Over the years I’ve considered the number of emails received to be a gauge of how busy I am.  For two years I’ve been using Microsoft Flow to track the number of emails received and basic details about the email.  I realized recently that I have many flows triggered by an email being received: Track the number of emails received in ExcelSave an attachment received weekly into… Continue Reading Dag Calafell, III’s Article...

Read More

In Depth look at Azure Sphere

I have been anxious to get my hands on a Microsoft Azure Sphere MT3620 development kit and Santa didn’t disappoint! I have written down what I have learned including many revelations which were not immediately apparent. What is Azure Sphere? Azure Sphere is a secured microcontroller device targeting the Internet of Things (IoT) scenarios, i.e. connected devices, appliances,… Continue Reading Dag Calafell, III’s Article on...

Read More
Best Practices on Printing from Dynamics 365 Finance & Operations
Dec20

Best Practices on Printing from Dynamics 365 Finance & Operations

For decades printing has been relatively easy for AX users because we were running a client application.  So all the normal troubleshooting techniques worked: drivers, print settings, et cetera.  Now that our beloved Microsoft Dynamics 365 for Finance and Operations (FinOps) runs as Software as a Service (Saas) we need to plan on how to handle printing as we implement the software. The first… Continue Reading Dag...

Read More

Best Practices on Printing from Dynamics 365 Finance & Operations

For decades printing has been relatively easy for AX users because we were running a client application.  So all the normal troubleshooting techniques worked: drivers, print settings, et cetera.  Now that our beloved Microsoft Dynamics 365 for Finance and Operations (FinOps) runs as Software as a Service (Saas) we need to plan on how to handle printing as we implement the software. The… Continue Reading Dag Calafell, III’s...

Read More

Set Up Email Notifications for Your Favorite Blog

Over time I have found myself going back to ten or twenty blogs related to Microsoft Dynamics 365 for Finance and Operations.  I am very active on Twitter, however it is convenient to forward posts from my phone to my colleges.  Using Microsoft Flow, I can set up a flow to send me an email and push notification whenever there is a new blog post. The Flow above can be imported into your… Continue Reading Dag Calafell, III’s...

Read More

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

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

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

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)

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

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

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

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)

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