Category Archives: Tech Talk

Microsoft Forms : Create a Survey Form From Scratch

Introduction

Microsoft Forms is online application & surveys creator tool which helps you to create surveys, quizzes & polls. Microsoft Forms also comes with Microsoft Forms Pro version with many more integration capabilities and features as comparison to basic version.With Microsoft Forms Pro, you can create and send surveys and receive survey responses in Dynamics 365 Applications along with other Dynamics 365 data. Microsoft Forms can be easily integrated and used with applications like Microsoft Flow, Microsoft Power Automate & Microsoft Azure Logic Apps.

Steps To Create a Survey From Scratch

  • Under My Forms, click on New Pro Survey
  • Input your survey title and its description.
  • Add new rating question.
  • Fill question and its description
  • In the end, your Microsoft Forms Preview Should look like this.
  • Click on Send to see sharing options
  • You can send Microsoft Forms via email or you can configure it in Microsoft Flow / Azure Power Automate or You can share Microsoft Forms Link or QR Code. There are so many options

D365/AX7:Data Entity Staging Tables Clean Using Direct SQL(Fastest Way)

Requirement & Issue

Data Entity Staging Tables clean up is one of the most important maintenance activities.The amount of data stored in a database has a great impact on its performance.Huge and unnecessary data can lead to slowness & decrease performance of the D365 Finance and operation.

There is no standard functionality & fast way to clean unnecessary data & records from Data Entity Staging Tables Using Direct SQL.

Sample Program

Below program is fastest way to truncate all the Data Entity Staging Tables in one go using direct SQL.

**** you can modify the below program as per your need***

[code language=”cpp”]
class ACXDataStagingCleanUpTableClass
{
public void operation()
{
DMFEntity DMFEntity;
RecId oldRecId;
try
{
while select * from DMFEntity
order by RecId asc
where DMFEntity.RecId > oldRecId
{
oldRecId = DMFEntity.RecId;
if (DMFEntity.EntityTable like ‘*Staging’)
this.cleanUp(Global::tableName2Id(DMFEntity.EntityTable));
}
}
catch
{
retry;
}
}
public void cleanUp(int _tableName)

{

Connection connection = new Connection();
Statement statement;
int resultSet;
int rowCount;
str sql = strFmt(‘TRUNCATE TABLE %1;’, new DictTable(_tableName).name(DbBackend::Sql));

statement = connection.createStatement();
new SqlStatementExecutePermission(sql).assert();
resultSet = statement.executeUpdate(sql);
CodeAccessPermission::revertAssert();
statement.close();
}

}
[/code]

 

 

D365/AX7:SysDa In X++..Query Classes killer?

Introduction

In D365 FO PU 22, Microsoft introduced a new set of API for performing DML commands- select, update, delete & insert .This is called SysDa (System Data Access).

what makes SysDa different from simple X++ select statements or query object models?…

  1. SysDa is extensible whereas simple X++ select, update, delete, insert statements are not.
  2. SysDa supports update_recordSet, delete_recordSet, Insert_recordset where as Query classes or query object model does not support recordSet commands.
  3. SysDa performance is as good as simple X++ select, update, delete, insert statements.

Indeed, SysDa is a great new feature but does it mean SysDa is a Query Classes killer?….

No…Query classes or query object model still has upper hand on some parts.You can create a query directly in AOT and can use it view, reports etc. without writing a single line code.You can reuse a query again and again.The best thing about query you can pass comma separated string values like (100,101,102,103) as filter range but the same you cannot achieve it SysDa.

Sample 

update.png

loop.png

D365/AX7/SQL:ColumnStore VS Index Simple-Talk

Purpose & Explanation

In older version of Microsoft Dynamics AX , there is no option to use concept of ‘Column Store’.But in Microsoft Dynamics 365 Finance & Operations you can set the “IndexType” property of a index in a table.There are 2 values available – 1) Index 2)ColumnStore.

A columnstore index stores data in a column-wise or in columnar format where as index stores data in a row -wise format.

Columnstore index is to reduce I/O, which can have a direct impact on query performance as comparison to index.

Columnstore is designed to speed up data-warehouse queries & read-Only operations.

Columnstore is better for OLAP whereas index is better for OLTP.

Untitled