Skip to main content

D365 interview Questions - Part 1

 1. What are the new Features of D365? or Difference between Microsoft Ax and D365?

Answer:

  • In D365 coding and development is done in VS-IDE where as in AX it was Morphx.
  • Visual Studio Team Services (VSTS) is introduced in D365 for better control of Version.
  • D365 is Now Hosted in IIS(internet information services)
  • for moving and deploying projects from one environment to other environment LCS(life cycle services) Tool is available in D365
  • A model is made mandatory for development and customization
  • Overriding is removed for standard elements, for any changes we can use extensions.
  • COC(Chain of Command) concept is introduced for making changes in Microsoft base code 
  • Form pattern is mandatory for UI design, You can choose only existing form patterns for UI design
  • No Need to install D365 customer services separately customer can access by web browser
  • Enhanced Integration with excel and Odata technologies
  • New workspaces added
  • Good Integration with office 365 software
2. What is Dynamics365/D365 Finance and operation?
       Microsoft Dynamics 365 is designed as cloud based ERP(Enterprise Resource planning) by Azure        platform. The browser based D365 finance and operation is replaced the earlier version of on               premises dynamics AX version.

3. What is Model in D365?
    Model creation is mandatory in D365 for any customization and development, A model can have            multiple visual studio projects basically model is a design time concept so that we can say model is a     collection of projects and any project in the model can use all or subset of elements from originating     model. However, association of project is only with a single model. The meta data for model is            stored locally in a XML file called descriptor XML.
    Model = Collection of components in a solution
    Example : Payroll Model, Warehouse management Model etc..

4. What are the different types of tables in Dynamics 365?
    There are three types of tables in D365
    a. Regular Tables : Regular tables are normal standard physical tables in SQL server database.
    b. Temp Tables/ TempDB : TempDB tables are physical temporary tables held in SQL server                database.
    c. In-Memory Tables : In - memory Tables are temp tables held in the memory and written to local            disk after reaching certain limit of the system especially in Application Object Server (AOS).

5. What is the difference between TempDB tables and In-Memory tables?

InMemory Tables

TempDB Tables

  1. Holds Data Temporarily in client or server tier

  1. Holds data temporarily in database till the code is valid

  1. These tables cannot be stored in database

2. TempDB Tables tables can be stored in database

  1. Cannot apply security

3. We can apply security to TempDB Tables

  1. We cannot use table buffers of In Memory tables

4. We can use TempDB Table buffers in coding

    
Capabilities of TempDB tables
1. Can be joined with other regular tables using X++ code to perform multi row operations in a single cell
2. Can be either per company or global. The SaveDataPercompany property can be set to YES/NO, if we set the value No then the table is a global yable.
3. Can have foreign key columns. TempDB tables can have foreign key column that reference the primary key of other table, however no table can have foreign key column that reference primary key of a TempDB table.
4.TempDB tables can be instantiated from either client or server tier: TempDB tables can be used by logic from either client tier or Application object server (AOS) tier.
4. Can Have index columns.
5. Can use new methods but cannot override methods on new TempDB tables.

6. What is the difference of Cluster index and normal index?

  • Start by defining what a cluster index and an index are. A cluster index is a special type of index that determines the physical order of the rows in a table. An index is a data structure that helps the database find rows quickly.
  • Explain the key differences between cluster indexes and indexes. The main difference is that a cluster index is the only type of index that can be used to physically order the rows in a table. Indexes can be used to improve the performance of queries that search for specific values or ranges of values.
  • Give examples of when to use a cluster index and when to use an index. A cluster index should be used on the primary key of a table. Indexes can be used on other columns as well, but they are most effective when they are used on columns that are frequently used in queries.
  • Discuss the advantages and disadvantages of using cluster indexes and indexes. Cluster indexes can improve the performance of queries that search for specific values or ranges of values. However, they can also make it more difficult to insert, update, and delete rows in a table. Indexes can improve the performance of queries, but they can also take up space in the database.

Here is an example of how you could answer the question in an interview:

"A cluster index is a special type of index that determines the physical order of the rows in a table. This means that the rows in a table are stored in the same order as the index. Indexes are data structures that help the database find rows quickly. They do this by storing the values of one or more columns in a table and the corresponding row ID. When a query is executed, the database can use the index to find the rows that match the query criteria.

The main difference between cluster indexes and indexes is that a cluster index is the only type of index that can be used to physically order the rows in a table. This means that there can only be one cluster index per table. Indexes can be used on any column in a table, and there can be multiple indexes on a table.

Cluster indexes are most effective when they are used on columns that are frequently used in queries. For example, if you have a table of customers and you frequently query the table by customer ID, you would want to create a cluster index on the CustomerID column. This would improve the performance of the queries because the database would be able to find the rows quickly.

Indexes can also improve the performance of queries that search for specific values or ranges of values. For example, if you have a table of products and you want to find all products that are priced between $100 and $200, you could create an index on the Price column. This would improve the performance of the query because the database would be able to find the rows quickly.

However, there are also some disadvantages to using cluster indexes and indexes. Cluster indexes can make it more difficult to insert, update, and delete rows in a table. This is because the database has to physically move the rows around when the index is updated. Indexes can also take up space in the database.

Overall, cluster indexes and indexes can be a valuable tool for improving the performance of queries. However, it is important to use them wisely and to be aware of the potential disadvantages."

7. how to answer what is the difference between chain of command and event handler in d365fo?

Ans- Here are some tips on how to answer the question "What is the difference between chain of command and event handler in D365FO?"

  • Start by defining what chain of command and event handler are. Chain of command is a design pattern that allows you to extend the functionality of a method by calling a series of other methods. Event handler is a method that is called when a specific event occurs.
  • Explain the key differences between chain of command and event handler. The main difference is that chain of command is a proactive approach to extending functionality, while event handler is a reactive approach. With chain of command, you explicitly call the methods that you want to extend. With event handler, the methods are called automatically when a specific event occurs.
  • Give examples of when to use chain of command and when to use event handler. Chain of command is a good choice when you want to extend the functionality of a method in a specific way. Event handler is a good choice when you want to be notified of a specific event and take action based on the event.
  • Discuss the advantages and disadvantages of using chain of command and event handler. Chain of command can be more flexible than event handler, but it can also be more complex. Event handler is simpler to use, but it may not be as flexible.

Here is an example of how you could answer the question in an interview:

 

"Chain of command and event handler are two different design patterns that can be used to extend the functionality of methods in D365FO. Chain of command is a proactive approach, while event handler is a reactive approach.

With chain of command, you explicitly call the methods that you want to extend. This gives you more control over the order in which the methods are called. However, it can also make your code more complex.

With event handler, the methods are called automatically when a specific event occurs. This makes your code simpler, but it can also make it more difficult to control the order in which the methods are called.

Chain of command is a good choice when you want to extend the functionality of a method in a specific way. For example, you could use chain of command to add additional validation to a method or to log the execution of a method.

Event handler is a good choice when you want to be notified of a specific event and take action based on the event. For example, you could use event handler to send an email notification when a new record is created or to update a status field when a record is updated.

Overall, both chain of command and event handler are useful design patterns. The best choice for you will depend on the specific needs of your application."

8. What are the elements/objects of Data Model in D365 finance and operations?

Ans - Tables, Table extensions, Views, Views extensionsData entities, data entity extensions, maps, Queries, Querie extensions, composite data entity, Aggregate data entity, and Table Collections.

Note: You can expect questions on other nodes and their objects also, so be familiar and make sure all objects in other AOT nodes also like Data types, User interface etc.. 



Comments

Popular posts from this blog

Fixing the “Can’t Stop DynamicsAxBatch” Error During Admin User Provisioning in Dynamics 365 F&O

 If you're working with Microsoft Dynamics 365 for Finance and Operations (D365 F&O) and encounter the dreaded error “Can’t stop DynamicsAxBatch” while using the Admin User Provisioning Tool , you're not alone. This guide walks you through a quick and effective solution to resolve the issue and get back to work without delays. đź› ️ What Is the Admin User Provisioning Tool? The Admin User Provisioning Tool is used to register a user as an administrator on a D365 F&O instance—typically for development and customization purposes. You provide your Azure AD credentials (email address) to gain admin access. ❌ The Problem: “Can’t Stop DynamicsAxBatch” Error While registering via the Admin Provisioning Tool or attempting to stop the service manually through Windows Services , you might encounter an error stating: “Can’t stop DynamicsAxBatch” This error prevents you from proceeding with the registration process.  The Solution: Step-by-Step Fix  Step 1: Try Stoppi...

How to get batch header and recurrence information in service class for sysoperation frame work in D365 F&O

  BatchHeader batchHeader         = this.getCurrentBatchHeader();         int         timeUnitsSelected   = 0;         if(this.isExecutingInBatch())         {             RefRecId batchRecId = batchHeader.parmBatchHeaderId();             BatchJob batchJob;             select firstonly batchJob             where batchJob.RecId == batchRecId;                      SysRecurrenceData recurrenceData = batchjob.recurrenceData;             SysRecurrenceUnit timeUnits = conPeek(recurrenceData, 7);             timeUnitsSelected = timeUnits;         }

Table Keys: Surrogate, Alternate, Replacement, Primary, and Foreign

Primary key A primary key is one type of key. The other type of key is an alternate key. There is a maximum of one primary key per table , whereas a table can have several alternate keys . The primary key is usually the type of key that other tables, called child tables, refer to when a foreign key field in those other tables need a relational identifier. Starting in Microsoft Dynamics AX 2012 the primary key for every new table is always enforced by an index that has exactly one field. The one field is usually an incremented number or a completely meaningless number that is generated by the system. For new tables the default is a primary key based on the RecId field. This is represented as the surrogate key in the user interface. The following table describes the  PrimaryIndex   property and other major properties that are related to keys. Property Description PrimaryIndex The drop-down list contains the surrogate key plus every index on the table that has its  Alternate...