Top X++ Programming Interview Questions for D365 F&O

Rumman Ansari   Software Engineer   2024-08-30 06:57:29   2556  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

Table of Content:

X++ programming interview questions

It is not possible as it's not feasible to prepare 100 questions for a specific programming language as it depends on the company, their specific projects and the level of the candidate. However, I provided a list of 20 questions that cover some of the important topics that could be asked in an interview for an X++ developer role. The interviewer may also ask about specific scenarios or problems related to the company's specific needs or projects.

It's important to note that preparing for an interview is not only about listing down as many question as possible, it's more about understanding the concepts and how they are applied in the context of the platform and the company's specific requirements.

    1. What is Dynamics 365 F&O?

    Microsoft Dynamics 365 FO is a cloud based ERP (Enterprise Resource Planning) platform developed by Microsoft. Microsoft Dynamics 365 Finance & Operations has replaced the previous on premise version Dynamics AX 2012.

    2. What are OOPS concepts?

    The main concepts of OOPS used in D365 FO are:

    • Class and Objects
    • Data Abstraction: Showing only the essential information and hide background details.
    • Encapsulation: Wrapping of data member and method to a single unit.
    • Inheritance:-The Flowing of property of parent class to the child class.
    • Polymorphism:-The property of using the same method again and again to perform different things.

    3. What is AOT in D365FO?

    The Application Object Tree (AOT) is a tree view of all the application objects in Microsoft Dynamics D365FO. The AOT contains every object you need to customize the look and functionality of a Dynamics D365FO application.

    4. Interfaces & Abstract Class

    The class implementing is the interface that implements all interface methods and there will not be any abstract Class requirement. There are many access modifiers available like abstract, protected, virtual, internal, public, and many more that are useful in the abstract Classes. Abstract classes will be very fast when compared to interfaces.

    Interfaces Abstract Class
    The interface is the signature for a particular method. Abstract class contains both the incomplete or complete methods .
    Interface cannot be an implemented method The abstract class is the implemented method.
    The interfaces does not contain constructors, fields, or destructors but they have only the property’s signature with no implementation. The abstract class contains constructors, fields, or destructors for implementing the properties.
    Interface supports multiple inheritances. The abstract class does not support multiple inheritances.
    The class can also inherit more than one interfaces. The class can inherit only one abstract class.
    Interfaces & Abstract Class

    5. What is the concept of extension in D365?

    An extension is a way to add new functionality to an existing object in D365FO without modifying the base code of that object. Microsoft has added the concept of extension because they don’t want to modify the code base anymore. In this way, it will be easier to upgrade the application code base in the future by Microsoft.

    6. What are the different types of Tables used in D365 FO?

    There are 3 types of tables used in D365 FO :

    • Regular
    • Temp DB
    • In Memory

    7. Difference Between TempDB and InMemory Tables?

    I have made an article about this topic. Click here to take a look at it.

    8. What is EDT and Base Enum?

    EDT or Extended Data Type and Base Enumerations (Enums) are data types. They are created and managed in the development environment. Extended data types can be primitive data types like integers, strings, real numbers, and booleans. EDT extends the original properties of the data type which they inherit. In addition, some extra properties are added.

    Base enums are a fixed set of values. Those values in database are saved as intigers but they have also name (as referenced from X++ code) and a label (visible to users). You can have up to 255 values for Base enums. The integers in the database will take on the values 0 through 254.

    The AOT in D365FO apps contains many existing EDTs and base enums that can be extended for use in your project, or you can create new data types.

    Must read: Click here…

    9. What is an index in D365 FO?

    An index is a table-specific database structure that speeds the retrieval of rows from a table. Indexes are used to improve the performance of data retrieval and occasionally to ensure the existence of unique records.

    There are two types of indexes unique and non-unique. Whether an index is unique is defined by the index’s AllowDuplicates property. When this property is set to No, a unique index is created. The database uses the unique index to ensure that no duplicate key values occur. The database prevents you from inserting records with duplicate key values by rejecting the insert.

    Must read: Click here…

    10. What are Delete Actions in D365 FO?

    I have made an article about this topic. Click here to take a look at it.

    11. Difference between RunBase and RunBaseBatch class.

    I have made an article about this topic. Click here to take a look at it.

    12. What are Table Relations in D365?

    A table relation associates two tables that contain related information. Usually the primary key field of one table appears as a foreign key field of the related table. The table with the primary key is called the parent table. The table with the foreign key is called the child table.

    In Microsoft Dynamics 365 there are :

    • Normal Relation
    • Field Fixed Relation
    • Related Field Fixed Relation
    • Foreign Key Relation

    normal relation is used to specify a relation without any conditions. A normal relation specifies related fields in another table. Multiple fields can also be added in normal relations. 

    Condition is , Table1.Field = Table2.Field

    Field Fixed Relation is used to specify relation fields to restrict the records in the primary table. Only records that meet the condition are selected. The field fixed is normally an enum.

    The condition is ANDed with your relation here Table.Field = <EnumValue>

    Related Field Fixed Relation is used to specify relation fields to restrict the records in the related table. Only records that meet the condition are selected.The Related field fixed is normally an enum.

    The condition is ANDed with your relation here, <EnumValue> = Table.Field

    Foreign Key Relation is used to specify a correspondence between a foreign key field in the present table to the primary key field in another parent table.

    13. What are different type of Menu Items available in D365?

    There are three types of menu items in D365 FO:

    Display Menu Item: Use this type when the menu item will open a form.

    Output Menu Item: Use this type when the menu item will opening an SSRS report.

    Action Menu Item: Use this type when the menu item will run a batch job. Or some other process, such as run by a class.

    14. What is CoC?

    Chain of Command (CoC) enables strongly typed extension capabilities of public and protected methods. It is an amazing piece of development capability that allows technical consultants to extend the application avoiding over-layering.

    Microsoft has implemented Chain on command across Classes, Tables, Forms, form data source and data field methods.

    Must Read: Click here…

    15. What is an SSRS Report in D365 FO?

    SQL Server Reporting Services (SSRS) is a server-based report generating software system made by Microsoft and used as a solution for companies who need to build custom reports from a variety of data sources, such as SQL databases and other external sources, that gives administrators the ability to share reports to users based on access permissions and user groups.


  1. What is X++ and what is it used for?

  2. How is X++ different from other programming languages?

  3. How do you create a new class in X++?

  4. How do you create an object of a class in X++?

  5. How do you define and use variables in X++?

  6. How do you work with data types in X++?

  7. How do you use control structures such as if-else and loops in X++?

  8. How do you create and use methods in X++?

  9. How do you interact with the Microsoft Dynamics AX database using X++?

  10. How do you debug and troubleshoot X++ code?

  11. What is the difference between a static and a dynamic method?

  12. How can you access the data of a table in X++?

  13. What is the use of the RunBase Framework in X++?

  14. How do you create a new query in X++?

  15. How do you work with forms and reports in X++?

  16. Can you explain the concept of the MorphX development environment in X++?

  17. How do you use the SysOperation framework in X++?

  18. How do you handle errors and exceptions in X++?

  19. How do you use the AIF framework in X++?

  20. How can you use X++ to create batch jobs?

This is not an exhaustive list but it covers some of the important topics that could be asked in an interview for X++ developer role. The interviewer may also ask about specific scenarios or problems related to the company's specific needs or projects.