[X++] Temporary tables in AX 2012

In Ax 2012 we have 3 different types of tables. One type of temporary table is a TempDB table. We call them TempDB tables because their TableType property value is TempDB. This value comes from the TableType::TempDB enum value. The TableType property value can be set at AOT > Data Dictionary > Tables >MyTempDBTable > Properties > TableType.

  • Regular - a standard physical table
  • InMemory - the type of temporary table which existed in the previous versions of Dynamics Ax. Such tables are held in memory and written to a local disk file once they grow beyond a certain point
  • TempDB - a new option in Ax 2012. They are "physical" temporary tables held in the SQL Server database.

The new TempDB tables operate in a similar manner to InMemory tables but support more features of standard physical tables:

  • More powerful joins with physical tables are possible, and are properly supported by the database
  • Can be per-company or global
  • Support for normal tts transactions

To create a new instance link (populating data/copying reference) from one table instance variable to the other with Temporary type tables:

  • For InMemory tables, by using the setTmpData() method
  • For TempDB tables, the linkPhysicalTableInstance() method
    replaces the setTmpData() call.

For more details on TempDB capabilities, Limitations, How to use, Its lifetime please check here - http://msdn.microsoft.com/en-us/library/gg845661.aspx