X++ language reference

Important

Dynamics 365 for Finance and Operations is now being licensed as Dynamics 365 Finance and Dynamics 365 Supply Chain Management. For more information about these licensing changes, see Dynamics 365 Licensing Update.

X++ is an object-oriented, application-aware, and data-aware programming language used in enterprise resource planning (ERP) programming and in database applications. It provides system classes for a broad range of system programming areas, highlighted in the following table.

X++ language attributes Description
Classes In addition to system classes, there are also application classes for managing many types of business processes. Reflection on classes is supported.
Tables X++ programmers can access the relational tables. X++ includes keywords that match most of the keywords in standard SQL. Reflection on tables is supported.
User interface Manipulation of user interface items, such as forms and reports.
Best practice checks X++ code is checked for syntax errors during compile time. The compile process also performs best practice checks. Violations of best practices can generate compiler messages.
Garbage collection The X++ runtime execution engines have automatic mechanisms to discard objects that are no longer referenced, so that memory space can be reused.
Interoperability Interoperability between classes written in X++ and in C# (or other .NET Framework languages) is supported.
File manipulation File input and output is supported, including XML building and parsing.
Collections Dynamic arrays are supported and the X++ includes several collection objects.

The X++ language programming guide is divided into these sections:

Additional resources