Jan 9, 2012

X++ Functions


In Microsoft Dynamics AX, the X++ language provides more than 100 system functions that are not part of any class. The two types of functions are as follows:
  • Run time – functions that are executed during run time.
  • Compile time – functions that are executed during compile time.

Run time functions used for data type conversions, mathematical operations, and so on. Some common run time functions are as follows:
                 str2Int – creates an int value from a str value.
                 abs – creates a positive real value from a real value that is either positive or negative.
                 conFind – retrieves the location of an element in a container.


Call Runtime Functions from .Net


       The logic of the X++ run time functions is also implemented in the following .NET assembly:
        Microsoft.Dynamics.AX.Xpp.Support.DLL


         Inside the previous assembly, the X++ run time functions are implemented as static methods of the following class:Microsoft.Dynamics.AX.Xpp.PredefinedFunctions


Compile time functions are executed early in the compile of X++ code. Most of these functions retrieve metadata about items that are in the Application Object Tree (AOT). Some common compile time functions are as follows:
                 classNum – retrieves the ID of a class.
                 classStr – verifies during compile time that a class by that name exists. This is better than discovering the error later during run time.
                 evalBuf – evaluates the input string of X++ code, and then returns the results as a string.
                 literalStr – retrieves a label ID when given the string representation of a label, such as the string "@SYS12345".       For example, myLabel.exists(literalStr("@SYS12345"));


Note:
1) Compile time functions are sometimes called intrinsic functions.
2) X++ compile time functions cannot be called from a .NET program.


No comments: