Select Page

Changes in C/AL Behavior and Support from Earlier Versions of Microsoft Dynamics NAV

The following table provides an overview of the new, removed, or changed C/AL data types, functions, properties, and triggers in Microsoft Dynamics NAV 2016 since the previous version of Microsoft Dynamics NAV.

C/AL Functions

The following table lists the new, removed, or changed functions in Microsoft Dynamics NAV 2016.

Function Description
ADDFIELD Function New function.

Adds a table field to the filter control for a table on filter page.

ADDFIELDNO Function New function.

Adds a table field to the filter control for a table as specified by the field number.

ADDRECORD Function New function.

Adds a filter control for a table to a filter page as specified by a record data type variable.

ADDRECORDREF Function New function.

Adds filter control for a table to a filter page as specified by a RecordRef variable.

ADDTABLE Function New function.

Adds filter control for a table to a filter page.

BINDSUBSCRIPTION Function New function.

Binds event subscribers to the subscriber codeunit instance for handling events.

UNBINDSUBSCRIPTION New function.

Unbinds event subscribers from the subscriber codeunit instance for handling events.

COUNT Function (FilterPageBuilder) New function.

Gets the number of filter controls that are specified in the FilterPageBuilder object instance.

CREATEENCRYPTIONKEY Changed function.

Includes a Boolean return value. The value is true if an encryption key is created successfully; otherwise, it is false.

CURRENTCLIENTTYPE Function New function.

Gets the Microsoft Dynamics NAV client type that is running on the current session.

CURRENTCOMPANY Function (Record) New function.

Gets the current company of a database table record.

CURRENTCOMPANY Function (RecordRef) New function.

Gets the current company of a database table that is referred to by a RecordRef.

DEFAULTCLIENTTYPE Function New function.

Gets the default Microsoft Dynamics NAV client type that is configured for the Microsoft Dynamics NAV Server instance that is used for the current session.

GETASCENDING Function (Record) Gets the sort order for the records returned, such as in data from an ODATA web service.
GETURL Function Changed function. Includes the following changes:

  • Accepts CURRENTCLIENTTYPE and DEFAULTCLIENTTYPE as ClientType parameter.
  • Supports RecordRef variable data type as a parameter to specify the record to open.
  • Includes a Boolean parameter to include filters that are setup on the object in URL.
GETVIEW function (FilterPageBuilder) New function.

Gets the filter view (which defines the sort order, key, and filters) for the record in the specified filter control of a filter page.

IMPORTENCRYPTIONKEY Changed function.

Includes a Boolean return value. The value is true if an encryption key is imported successfully; otherwise, it is false.

ISFILTERPAGEBUILDER Function (Variant) New function.

Indicates whether a C/AL variant contains a FilterPageBuilder variable.

ISTEMPORARY Function (Record) New function.

Determines whether a record refers to a temporary table.

NAME Function (FilterPageBuilder) New function.

Gets the name of a table filter control that is included on a filter page based on an index number that is assigned to the filter control.

RECORDID (Record) New function.

Gets the RecordID of the record that is currently selected in the table.

RUNMODAL Function (FilterPageBuilder) New function.

Builds and runs the filter page.

SETASCENDING Function (Record) Sets the sort order for the records returned, such as in data from a ODATA web service.
SETVIEW Function New function.

Sets the current filter view, which defines the sort order, key, and filters, for a record in a filter control on a filter page.

GETDEFAULTTABLECONNECTION Function (Database), HASTABLECONNECTION Function (Database), REGISTERTABLECONNECTION Function (Database), SETDEFAULTTABLECONNECTION Function (Database), and UNREGISTERTABLECONNECTION Function (Database) New functions. Registers, sets, gets, and unregister table connections to external tables.

 

C/AL Properties

The following table lists the new, removed, or changed properties in Microsoft Dynamics NAV 2016.

Function Description
Event Property New property.

Used for events. Specifies whether a function is a publisher of or subscriber to an event.

EventFunction Property New property.

Used for events. Specifies the event publisher function that an event subscriber function subscribes to.

EventPublisherObject Property New property.

Used for events. Specifies the object that contains the event publisher function that an event subscriber function subscribes to.

EventSubscriberInstance Property New property.

Specifies how event subscriber functions in a codeunit are bound to codeunit instance and events that they subscribe to.

EventType Property New property.

Used for events. Specifies whether an event is a business or integration event.

GlobalVarAccess Property New property.

Used for events. Specifies whether global variables in an event publisher object can be accessed from event subscriber functions.

IncludeSender Property New property.

Used for events. Specifies whether global functions in an event publisher object can be called from event subscriber functions.

Namespaces Property New property.

Specifies one or more namespaces on an XMLport object.

NamespacePrefix Property New property.

Specifies a namespace prefix on an element of an XMLport object.

OnMissingLicense Property New property.

Specifies what happens to the event subscriber function call when the license of the Microsoft Dynamics NAV user account that is running the current session does not include the codeunit that contains the subscriber function.

OnMissingPermission Property New property.

Specifies what happens to the subscriber function call when the Microsoft Dynamics NAV user account that is running the current session does not have permission to the codeunit that contains the subscriber function.

EventPublisherElement Property New property.

Used for events. Specifies the table field that the trigger event pertains to.

Scope Property New property.

Specifies the scope of actions to be either Repeater or Page.

SQL Timestamp Property New property.

Specifies a field to be a timestamp field that contains row version numbers for records.

TableType Property Specifies whether the table is a normal or external (CRM or ExternalSQL) table.
TryFunction Property New property.

Specifies the function to be try function, which can be used to catch and handle errors and exceptions that occur when code is run.

FunctionType Property (Upgrade Codeunits) Changed property.

Instead of the Upgrade option, there are now two options: UpgradePerCustomer and UpgradePerDatabase. The UpgradePerCustomer option behaves like the Upgrade option in the previous Microsoft Dynamics NAV version.

FunctionType Property (Test Codeunits) Changed property.

Includes the FilterPageHandler and HyperlinkHandler optiions.

 

C/AL Statements

The following table lists the new, removed, or changed C/AL statements in Microsoft Dynamics NAV 2016.

Statement Description
FOREACH New statement.

Iterate through a .NET Framework collection or array. For more information, see FOREACH Control Structure.

BREAK New statement.

Terminates the iteration statement in which it used. For more information, see C/AL BREAK Statement.

Important
If your solution has used FOREACH or BREAK as names of variables in earlier versions of Microsoft Dynamics NAV, you must change the names before you upgrade to Microsoft Dynamics NAV 2016. Alternatively, you can enclose the variable names in quotation marks. If you do not, and you import an object that has this code in text format, you cannot compile the object.