Objects
AL object types in Business Central: tables, pages, codeunits, queries, reports, XMLports, control add-ins, profiles, permission sets, entitlements, and their extension objects. It answers questions about what each object is for, its key properties and triggers, and how to extend or test it.
Path: Development > Programming in the AL language > Language elements > Objects · tier official · system development · narrative reviewed (checked by Opus)
Overview
This section is the reference for AL object types. Most pages cover one object: its purpose, syntax, main properties and triggers. A properties overview and a page on table keys support them. Data objects include table, table extension, query, report and XMLport. UI objects include page, page extension, page customization and control add-in. Logic is held in codeunits, including test codeunits and test runner codeunits. Profiles, permission sets and entitlements define user experiences and access.
Key points
- AL Properties Overview explains how properties control the behavior of objects and elements such as fields, actions, data items and columns. Start there for general property concepts.
- Table and table extension objects cover fields, keys, triggers and the Extensible property. Table keys covers primary, secondary, unique and clustered keys, and IncludedFields.
- Page objects use SourceTable, layout sections, actions and views. Page extensions change pages with the addfirst, addlast, addafter, addbefore, modify, movefirst, movelast, moveafter and movebefore keywords.
- Page customization changes layout and actions only for specified profiles, with no variables, procedures or triggers. It is more limited than a page extension.
- Profile and profile extension objects set a role center and optional page customizations for a user experience.
- Permission set and permission set extension objects define and compose permissions. They use Assignable, IncludedPermissionSets and ExcludedPermissionSets. Extensions can add permissions to existing sets.
- Entitlement objects define which objects customers can use based on licenses or Microsoft Entra roles. They support Marketplace app transactability.
- Test codeunits and test runner codeunits cover test methods, handlers, TransactionModel and TestIsolation. Runners add OnBeforeTestRun and OnAfterTestRun for unattended runs.
Learn pages
- AL Properties Overview for Business Central: Explore AL properties for tables, pages, reports, queries, and other objects in Dynamics 365 Business Central development.
- Codeunit object: Describes the codeunit object, which is a container for business logic in AL for Business Central.
- Control add-in object: Description of the control add-in object type in AL for Business Central.
- Create Test Runner Codeunits in AL: Learn how to create test runner codeunits in AL to manage the execution of test codeunits and integrate with test management or test reporting frameworks.
- Entitlement object: Discover how to define and use entitlement objects in AL for Business Central.
- Page customization object: The page customization object in Business Central allows you to add changes to the layout and actions on page that are accessible for a profile.
- Page extension object: Extend page objects with page extension objects in AL for Business Central.
- Page object: Description of the page object and its syntax in AL for Business Central.
- Permission Set Extension Object: Description of the permission set extension object in AL for Business Central.
- Permission set object: Describes the permission set object, which sets permissions on objects in AL for Business Central.
- Profile extension object: Description of the profile extension object, which allows you to modify an individual experience for each user profile.
- Profile object: Description of the profile object, which allows you to build an individual experience for each user profile.
- Query object: Description of the AL query object.
- Report object: The report object in AL for Business Central allows to create a new report.
- Table extension object: This article describes the table extension object in AL for Business Central.
- Table keys: Learn about table keys in AL, including primary and secondary keys, and how to define keys in table objects and table extension objects.
- Table object: This article describes the structure, object limits, and extensibility of the table object in AL for Business Central.
- Test Codeunits and Test Methods in AL: Learn how to create test codeunits and test methods in AL, set the SubType property to Test, and use the different test method attributes in Business Central.
- XMLport object: XMLport objects are used to export and import data between an external source and Business Central.
Videos, posts and code changes
Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.
- #186 Add Query filter semantics guidance (code change): “DataItemTableFilter remains active when runtime filters target the same field”
Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.
What Learn documents here 8 of 19 Learn pages
- learnAL Properties Overview for Business Central2026-10-01
- learnCodeunit object2025-05-19
- learnControl add-in object2025-03-20
- learnCreate Test Runner Codeunits in AL2026-08-24
- learnEntitlement object2025-03-19
- learnPage customization object2025-08-19
- learnPage extension object2024-11-13
- learnPage object2024-04-26
Show 11 more
- learnPermission Set Extension Object2025-06-02
- learnPermission set object2025-06-02
- learnProfile extension object2024-09-30
- learnProfile object2024-09-30
- learnQuery object2024-11-22
- learnReport object2024-09-16
- learnTable extension object2024-04-17
- learnTable keys2026-09-22
- learnTable object2026-06-12
- learnTest Codeunits and Test Methods in AL2026-08-24
- learnXMLport object2024-11-13