Fix to change Dynamics 365 – database to multi user mode

Sometimes when you try to restore the AX database, it will be converted into a Single User mode. And it will now allow you to perform any task against the AX database.

b1

To rectify that, please try to execute the below query.

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

If you have any deadlock on the database, you will receive the below error.

2

To rectify this issue, we need to kill the dependent process on the database. To identify the process please use the below sql script.

  1. Get the database id

(select dbid from sysdatabases where [name] =’AxDB’)

3

  1. Find all the process on the database id

select spID from sysprocesses where dbid IN 5

Once, you find the spID of the process, you should kill the process by using below code

Kill <spID>

Now execute alter table to change the database to multi user mode using below query.

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

Alternatively, you can use the below script to find lock processes

4

SELECT * FROM   sys.dm_tran_locks WHERE  resource_database_id = DB_ID(‘AxDB’)

And kill the process with the request_session_id as shown below code

kill 53

kill 51

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

How to consume Dynamics AX Product Images in PowerApps

Step 1: Create a sample data entity as shown below. It uses EcoResProductImage table which holds the image container of the items.

1

Step 2: Check the odata feed in the browser. You can see the Base64 images are exposed in “MediumSize” field as shown below.

2

Step 3: Create a sample PowerApps application and add a gallery. Assign the data source to the gallery.

4.png

Step 4: Assigning the “MediumSize” to the image will not shows up the image in PowerApp. So add the below code in the image source to specify the Base64.

“data:image/jpeg;base64,” & ThisItem.MediumSize

3

 

Read Query String in Dynamics 365 Operations – AX 7

Challenge: To read query string parameter in form init() method

Solution: URLUtility class is used to extract the query string parameters. To explain this, I have created a simple form designed to extract query string in the init method and display in a text control.

  • A display menu item is attached with the form “Form1”

d1

  • A string control is attached and the “AutoDeclaration” property is set to “Yes”. Assign custom pattern to the form.

d2

  • Below code in the form init() method retrieves the query string information and set to the string control.

D3

  • Execute the menu-item linked with the Form and attach the following line in the url link

&queryParm=Hello,world

D4

  • The query string value is displayed in the text control.

Customization in D365 Operations are not reflecting in web client

Issue Tag 1: Menu item created in the D365 Operations is not visible in the web client

Issue Tag 2: Your customization is not updated in the Web Client

Issue Tag 3: How to build particular Model in D365 Operations

Reason: The Model must be built to visualize the changes made to the AOT elements. Changes will be reflect in web client if the elements are built with metadata. When you created a menu item or If you make any customization in the form/other elements, some times, building only the project will not help. So try the below approach to build the model.

Steps to build the model:

Step 1: Open Visual Studio as Administrator

Step 2: Navigate to “Dynamics 365” menu and select “Build Models” option

1Issue26032018

Step 3: It shows all the model in the system. Please select only the model in which you have made the customization.

2Issue26032018

Step 4: After build completes without any errors, please check the customization in web client.

 

 

 

 

How to add Batch Server to a Batch Group in D365 Operations

Issue Tag 1: Batch job is not executing properly in D365 operation

Issue tag 2: Batch job remains in waiting state forever

Reason: The issue is due to the wrong or non-assignment of batch server for the batch job

Step 1:

Navigate to Batch Server -> Batch groups -> Batch job

Create a batch group. Navigate to “System administration” –>  “Batch Groups”

1

Click on “New” and create a batch group in the following form.

2

Use the arrow icon to set the selected servers.

3

Now, the batch job will be executed from the waiting stage.

Check here as well:

Sometimes the batch will still remain in the waiting stage even after you have configured the servers as mentioned above. This is because the batch server is not started in the MS services.

Please open cmd prompt and type Services.msc.

Search for “Microsoft Dynamics 365 Unified Operations : Batch Management Service” and start the process.

6