Skip to main content

Posts

Event Based Integration using Business Events and Data Management Framework

In this post I will share how I used Business Events for integration. If you have been in the FinOps space, then you know that there is a Recurring integration pattern that uses dequeue concept. The dequeue pattern, requires that you constantly poll the FinOps URL to see if there is a file you can download. https://{base URL}/api/connector/dequeue/{activityID} Then you have to acknowledge the dequeue by calling a second URL https://{base URL}/api/connector/ack/{activityID} Another alternative is to use the Package export method. The advantage of this one is that the external system is doing the polling and executes the export job on request. No need for the FinOps batch job to run. In summary: Both methods use a polling architecture. Both methods produce a zip file which you have to extract Both methods require that you make a second call to check the status or acknowledge the download Now, imagine if you could use the same Data Management framework but have it coupled...

Detailed guide on creating Business Events with Azure Service Bus

I have been working with the new Business Events feature released in FinOps and you should read the docs site first. This blog post focuses primarily on setting up Azure Service Bus endpoint. Setting up the Azure services can be tricky if you are not familiar with Azure Key Vault and application registrations. I have sequenced the post so that you don't have to jump around. There are four key elements to this: Create the app registration Create the service bus Create the key vault secret Configure FinOps Create an App Registration In the Azure Portal, navigate to the Azure Active Directory menu. Click on App registrations (there is the old one and the preview menu - they are the same but the UI is a bit different). I will show the original App registrations way. Create a new Web app/API registration and give it a name. It doesn’t really matter in our case what the sign-on url is. Take note of the Application ID as you will need it later for setting up the...

Regression Suite Automation Tool (RSAT) via command line

The recent RSAT tool now supports running via command line. Just call the ConsoleApp executable with the right commands. This is great for automation scenarios. Normally, you would have all your test plans prepared and you just want to execute it them on a regular basis. Below is a quick summary of what it covers. To get the list of commands just enter ? at the end. C:\Program Files (x86)\Regression Suite Automation Tool\ Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe ? To get the list of IDs just run this. C:\Program Files (x86)\Regression Suite Automation Tool\ Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe list To run a list of test cases just use the playbackbyid command. C:\Program Files (x86)\Regression Suite Automation Tool\ Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe playbackbyid 104 105 106

Embed PowerApps in Modern POS

There was a feature released around 8.1.3 to open URL in POS. https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/open-url-in-pos Follow the guide to add a button to POS via the Screen Layouts. In the Action, select Open URL. Enter the PowerApps url. In this case I want it to open up as embedded rather than popping up with a new window. Run your distribution job to have it show up on POS. Below is an example I am working on. We have an external system managing licensing. Just note, that it will pop up with a Microsoft login screen. You can tick the login to remember you. If the screen doesn’t fit in the POS window. You can click on “Fit to screen” on the top right. Hope this gives you ideas to take advantage of in Retail space. Possibilities are endless.

Regression Suite Automation Tool - Create unique values

The RSAT doesn't have any roll back feature. So, it can be frustrating updating the excel file with unique records. Well not to worry - RSAT supports Excel formulas. The user guide suggests using RandBetween(a,b) Excel function. However, that isn't really reliable and you are hoping you don't get the same random number. I have been using date formula. The below concatenates the datetime to the string. =CONCATENATE("SS",TEXT(NOW(),"yymmddhhmmss")) If you want to get started with RSAT. Download the tool and the user guide from here. https://www.microsoft.com/en-us/download/details.aspx?id=57357 You can also watch a short video that walks you through how to use it.

Azure DevOps Release Pipeline–Walkthrough

It is a great start to 2019. Joris from Microsoft has welcomed the year with the release of the Azure DevOps Release Pipeline task on the marketplace. Official blog: https://community.dynamics.com/365/financeandoperations/b/newdynamicsax/archive/2019/01/18/first-azure-devops-task-released Addition blog: https://daxmusings.codecrib.com/2019/01/azure-devops-release-pipeline.html I thought I would do a walkthrough for those that haven’t had a chance to play with it yet. New release pipeline In Azure DevOps, click on the New release pipeline. You will get an option to select from a template. Just select “Empty Job”. In the first stage, make sure the Agent job is using “Hosted VS 2017”. In the Agent job click on the + icon to add a task. Select the LCS Asset Upload task. If you don’t see, then you have not installed it. Just select the “Dynamics 365 Unified Operations Tools” link at the bottom. Otherwise, install from here https://marketplace.visualst...

Data Entity stuck “In Process”

There are a few reasons a scheduled data job may not execute. I made a silly mistake and it seemed as though the jobs where stuck on “In process”. Things I checked: 1. Check the job isn’t disabled. See screenshot below. There is a toggle. 2. Check your recurring batch job is scheduled 3. Check you haven’t made any mistakes when enqueuing the entity. (I made a typo here) I made the mistake of copying the URL and not changing the entity name. See the highlighted part in the url. https://myenviornment.cloudax.dynamics.com/api/connector/enqueue/123456789-5506-4314-874D-3CF51A7AE15A?entity= General%20journal &company=usmf Below is a screenshot of the record info. You can see the Entity field contains the string I passed via the enqueue URL. Sounds pretty simple but hopefully helps someone out there.