Wednesday, August 18, 2021

Move new code changes after D365 FinOps upgrade project start

If you are upgrading from AX 2012/AX 2009 to D365 FinOps, you need to do the code freeze before starting the code upgrade step. But we can’t avoid the bugs and high priority changes, in these scenarios, we do the code changes and later we need to move those changes to D365 FinOps. Unfortunately, we don’t have any tool to import XPO file in D365 FinOps.


How the upgrade process works and why we need code freeze?

The upgrade team take the model store and business database backup and import the model store on LCS and LCS upgrade tool converts the AX 2012 model store to D365 FinOps codebase and some code conflict issue will appear based on our customization, so the upgrade team need to fix those issues. So, our new AX 2012 system code changes are detached with D365 FinOps codebase, in other words, there is no link between our AX 2012 system and D365 FinOps. It is very high level, refer here for more information.

Once the upgrade process is done and got the development environment, we need to move our code changes.


Consider the followings

1. Which bugs we fixed

2. Which change request we worked

3. What are objects are modified/created for the specific bug/change request

4. What change we done on the objects for the specific bug/change request


It is very complicated process, if you don’t have project management system. In this case, we need to capture every change on Excel or somewhere and need to keep xpo before change and after change.


It is very simple, if you are already using DevOps for both project management and source control. Before upgrade start, move current sprint’s pending changes to production and make a note that from which sprint we need to move our new changes. That’s it.


Whenever we do the code check in, we need to select the specific work item, so we can easily track what are the changesets are involved for the specific DevOps work item.


If you did lot of customization after upgrade,

1. We can export model store and import on LCS and follow the same upgrade process and move your changes, but it is very complicated process and we need to invest lot of time.


2. The second option is manual code move, 

First you can move data dictionary related changes to D365 FinOps, so the upgrade team no need to wait for you to do the latest production data upgrade. Slowly we can move our classes or reports related changes.

We can’t easily compare the report design related changes between two versions. So, better open the report on VS in AX 2012 server and copy the rdc file to D365 FinOps machine and open in VS, restore the dataset and copy paste the entire design elements.


For more information related to AX 2012 version control, please refer here


Monday, August 16, 2021

Get free access to D365 FinOps development environment

You are interested to learn and start the development practice in D365 FinOps, but you don’t have development environment then this post is for you.


If you are working in the D365 partner company and you have access for LCS, then you can download D365 VM from LCS shared library, otherwise you can use Microsoft’s free development environment, only browser and Microsoft account are required 😊


Yes. Microsoft learning portal is giving free access to D365 FinOps. We can learn the D365 products through Microsoft learning portal. The portal having more modules and learning paths Some courses having lab section, it will help us to do the development practices.


Use the below link and sign in with Microsoft account like Hotmail or office 365. This is an example lap URL.



Follow the mentioned instruction for VM login




Sunday, August 15, 2021

Who is running the SSRS reports

In sometimes, we need to see who is using the specific SSRS report or need to understand which report is used frequently or what kind of reports are used for specific user.

The SSRS report history is stored in ReportServer database. The view name is ExecutionLog3.

We can use the following query to fetch the data.


USE ReportServer

SELECT  * FROM ExecutionLog3

ORDER BY TimeStart DESC


We can get the user details on Username column. The username column works only for AX 2012. The username column is not working for D365, because in AX 2012 we can give report permission for specific user, in D365 if user having permission for report then the user can run the report.