Stock/Inventory Value Storage report

There are two types of inventory value report: Inventory/stock value (the standard report) and Inventory/Stock value report storage. this blog is about Inventory Value report storage and how can we used data management to export data into file.

The Inventory/Stock value report storage report provides output either as an interactive page in Microsoft Dynamics 365 Supply Chain Management or as an exported document in one of several formats.

When you view the report in your browser, columns and aggregate balances are dynamically adjusted, depending on the layout that you’ve configured. You can sort the results, filter them, drill down into the data, and more.

Report results are stored in the Inventory/Stock value report storage data entity. Therefore, you can filter and export the results to a format such as comma-separated values (CSV) or Microsoft Excel format.

The Inventory/Stock value report storage report is helpful when the output contains many lines. 

To access menu, navigate to Cost management -> Inquiries and reports -> Inventory/Stock value report storage.

Click “New” button on Stock value report storage form and enter execution name and other search parameters.

You can schedule the batch job and monitory the progress

Once the execution is completed, we can create export data management project for entity “Inventory value report storage”

select the filter in data management and define execution name like for this examples “SVR-Feb01” is used.

Execute the data management project and download the stock value report as file.

Alerts for Number sequence numbers running out

we recently faced a problem where a number sequence reached its limit, although it was a bug in configuration and number sequence should be set to range like 9 digits 999,999,999, but this query below can be used to identify the number sequence which are reaching to its limit. 
One can setup some alerts or some batch job that may be run on monthly basis and produce number sequences that are reaching consumption to let say 70%

 SELECT [NUMBERSEQUENCE]  
    ,[TXT]  
    ,[LOWEST]  
    ,[HIGHEST]  
    ,[NEXTREC]  
       ,100 * (NEXTREC - LOWEST)/(HIGHEST - LOWEST) as 'Percent Consumed'   
  FROM [dbo].[NUMBERSEQUENCETABLE]  
  where (NEXTREC - LOWEST) >= (HIGHEST - LOWEST) * 0.2  

 

Extensible Data Security (XDS) with Dynamics 365 Finance and Operation

XDS is one of the sparkling features in Dynamics. It takes you beyond the forms achieving the ultimate data control. It is one of the key features that captivate the customer heart and mind. It is a great dramatic closing for your demos.

So for example you have Buyer who only work with selective suppliers and deals on selective items, in such data security scenarios we can use XDS Extensible Data Security.

for example on one of the demo i have created this XDS policy where i am filtering the items based on Buyer group (we can do Buyer group settings on different levels, Worker, Items, Supplier ). We are using custom security roles and policies (using XDS Framework) in this implementaion. We have created a security policy query on ECORESPRODUCT table as shown below. It filters the item based on Buyer group assigned to current logged in worker.

Then we have created the security policy and added the constraints tables, Property settings related to this security policy is shown below. Lastly we associate the role with the security policy to apply the data security/filter on that specific role. So now when we assign that custom role to any user, that user will see the filtered items.

  • Set the PrimaryTable property on the policy to EcoResProduct.
  • Set the Query property on the policy to custom query we have created above.
  • If you want the primary table to be secured using this policy, set the ConstrainedTable property to Yes.
  • Set the Enabled property to Yes or No. This property can be used to control whether the policy will be enforced by the extensible data security runtime.

Setting the context

Set the ContextType property to one of the following:

  •  ContextString – Set the property to this value if a global context is to be used to determine whether the policy should be applied. When required, this context string needs to be set by the application using the XDS::SetContext API.
  • RoleName – Set the property to this value if the policy should be applied only if a user in a specific role accesses the constrained tables.
  •  RoleProperty – Set the property to this value if the policy is to be applied only if the user is a member of any one of a set of roles that have the ContextString property set to the same value.

 

When adding a constrained table, you must also choose the relationship to be used to join the primary table with this constrained table.

Now build , synchronize the AOT Query and Security policy, Refresh browser and open Released product form.

Thank you for reading

Happy Daxing 🙂