Book Image

Microsoft Dynamics AX 2012 R3 Security

By : Ahmed Mohamed Rafik Moustafa
Book Image

Microsoft Dynamics AX 2012 R3 Security

By: Ahmed Mohamed Rafik Moustafa

Overview of this book

Table of Contents (12 chapters)

Debugging XDS policies


One of the most common issues reported when a new XDS policy is deployed is that an unexpected number of rows are being returned from a given constrained table. For example, more sales orders are being returned than expected if the sales order table is being constrained by a given customer group.

XDS provides a method to debug these errors. We will go over it now.

Review the SQL queries that have been generated. The X++ select has been extended with a command that instructs the underlying data access framework to generate the SQL query without actually executing it.

The following job runs a select query on SalesTable with a generated command. It then calls the getSQLStatement() method on SalesTable and dumps the output using the info API.

static void VerifySalesQuery(Args _args) 
{ 
 SalesTable salesTable; 
 XDSServices xdsServices = new XDSServices(); 
  xdsServices.setXDSContext(1, ''); 
  //Only generate SQL statement for custGroup table 
 select generateonly forceLiterals...