The following table provides an overview of the new or changed C/AL data types, functions, properties, and triggers in Microsoft Dynamics NAV 2009. For more information about the changes, see the specific topic about the data type, function, property, or trigger.

Data type, function, property, or trigger Change

Binary Data Type

Not supported in Microsoft Dynamics NAV 2009.

Code Data Type

In previous versions of Microsoft Dynamics NAV, if you evaluate a Code variable in a CASE statement, then each value set is converted to Code data types. In Microsoft Dynamics NAV 2009, if you evaluate a Code variable in a CASE statement, then the value sets are not converted to Code data types. For more information, see C/AL Conditional Statements.

COMPRESSARRAY Function

Not supported on multidimensional arrays.

COPY Function (Record)

New ShareTable parameter.

Date Data Type

Earliest valid Date changed from January 1, 0000 to January 3, 0001.

DateTime Data Type

Earliest valid DateTime changed from January 1, 0000, 00:00:00.000 to January 3, 0001, 00:00:00.0000000.

Decimal Data Type

The Decimal data type is mapped to the Microsoft .NET Framework common language runtime (CLR) Decimal data type, and the precision and limits are slightly different than the Binary Coded Decimal (BCD) data type in previous versions of C/AL.

ISTEMPORARY Function (RecordRef)

New in Microsoft Dynamics NAV 2009.

NUMBER Function (RecordRef)

If the RecordRef refers to a temporary table, then the NUMBER function returns the ID of the originating physical table and not the run-time generated sequence ID of the temporary table.

READ Function (File)

The Variable parameter must be the maximum length for the type of the variable.

TABLENO Function (RecordID)

If the RecordID refers to a temporary table, then the TABLENO function returns the ID of the originating physical table and not the run-time generated sequence ID of the temporary table.

TEXTMODE Function (File)

If you use the TEXTMODE function on a file that is already open, then an error will occur.

Time Data Type

Precision is in increments of 100 nanoseconds.

Variant Data Type

If an automation method returns a byte string (bstr) in a variant, then you cannot assign that variant directly to a field that is a Code data type. Instead, you must first assign the variant to a code variable and then assign the code variable to the FieldRef value.

See Also