MB-820 study materials
MB-820 study resources

MB-820 key terms

MB-820 · Get comfortable with the vocabulary.

Business Central

Microsoft's cloud-based enterprise resource planning application for small and mid-sized businesses, covering finance, sales, purchasing, inventory, and projects. It is customized by adding AL extensions rather than by editing base application code.

Related: AL extension, Environment
Environment

A dedicated deployment of Business Central with its own database, users, and published extensions, reached through its own URL. Organizations usually keep separate production and sandbox environments so changes can be tested before release.

Related: Sandbox environment, AL extension
Sandbox environment

A non-production Business Central environment used for testing, training, and development. Sandboxes can be reset, copied, or deleted, and they let developers publish and verify extensions before promoting them to production.

Related: Environment, AL extension
AL extension

A packaged unit of AL code that adds or changes Business Central functionality without touching base application code. It is described by a manifest, compiled into an .app file, and published to an environment.

Related: app.json, Per-tenant extension, Symbols
app.json

The manifest file at the root of an AL project. It declares the extension's identifier, name, publisher, version, dependencies, and runtime settings used when the project is built and published.

Related: AL extension, Per-tenant extension
Per-tenant extension

A Business Central extension deployed to a single tenant's environment for customer-specific customization. Unlike marketplace apps, it is not distributed publicly and is validated by the tenant rather than by Microsoft.

Related: AL extension, AppSource, Environment
AppSource

Microsoft's marketplace for business applications, including Business Central extensions. Apps published there pass technical and business validation and can be installed by any customer from the marketplace.

Related: Per-tenant extension, AL extension
BcContainerHelper

An open-source PowerShell module that creates and manages Business Central Docker containers. Developers use it to build and test extensions locally, run automated tests, and publish apps into a sandbox container.

Related: Sandbox environment, Test codeunit
Telemetry

Diagnostic and usage data that Business Central environments and extensions emit to Azure Application Insights. Developers use it to monitor errors, performance problems, and feature usage in live environments.

Related: Environment, Snapshot debugging
AL language

The programming language used to build Business Central extensions. It is a statically typed, object-based language edited in Visual Studio Code, where tables, pages, codeunits, and other objects are described in text files.

Related: AL Language extension for VS Code, Table object, Codeunit
Table object

The AL object that defines the structure of a database table, including its fields, keys, and triggers. Business Central stores business data in tables, which are extended rather than modified directly.

Related: Table extension, Record data type, FlowField
Page object

The AL object that defines how users view and enter data, such as card pages, list pages, and role centers. It binds controls to table fields and determines the layout of the user interface.

Related: Page extension, Table object
Codeunit

An AL object that holds business logic in procedures and triggers. Codeunits have no user interface of their own; they are called from pages, other codeunits, or event subscribers to perform processing.

Related: Procedure, SingleInstance codeunit, Event subscriber
Table extension

An AL object that adds new fields, keys, or triggers to an existing base application table. Several extensions may extend the same table, and their additions are merged when the app is compiled.

Related: Table object, Page extension, DataClassification
Page extension

An AL object that adds controls, actions, or layout changes to an existing page without editing base code. It targets a specific base page and is applied whenever that page is rendered.

Related: Page object, Table extension
Enum object

An AL object that defines a named list of values with captions and ordinals. Enums replace classic option fields, can be extended by other extensions, and give fields a strongly typed set of allowed values.

Related: Table extension, Interface
FlowField

A table field whose value is calculated at runtime from other data instead of being stored in the database. Sums, counts, and lookups are typical examples, and the platform computes them when queried.

Related: Table object, SetRange
TableRelation

A field property that links a field to values in another table, providing validation and lookup behavior. It defines how Business Central checks an entered value and which records appear in the dropdown.

Related: Table object, Record data type
Trigger

A block of AL code that runs automatically in response to a platform event, such as inserting a record, opening a page, or installing an extension. Triggers belong to objects and are never called directly.

Related: Table object, Codeunit, Event subscriber
Permission set

An AL object that grants or denies access to objects and tables, with read, insert, modify, and delete permissions. Permission sets are assigned to users to control what they can see and do.

Related: AL extension, Environment
DataClassification

A required field property that describes how sensitive a field's data is, for example Customer Content or System Metadata. It supports privacy and compliance reporting for the data an extension stores.

Related: Table extension, Table object
Record data type

An AL variable type that represents rows of a table and provides methods to insert, modify, delete, filter, and read those rows. It is the primary way AL code works with business data.

Related: SetRange, Temporary table, RecordRef
SetRange

A method on Record and RecordRef variables that limits data to a range of values in a field, such as a date interval or a customer number. It replaces any existing filter on that field.

Related: Record data type, FlowField
Event subscriber

An AL procedure marked with an event attribute that runs when a published event is raised. Subscribers let an extension react to platform or application behavior without changing the code that raises the event.

Related: Trigger, SingleInstance codeunit, Business event
SingleInstance codeunit

A codeunit property that ensures only one instance of the codeunit exists per session. It is commonly used to hold shared state or to act as a stable façade for event subscriptions.

Related: Codeunit, Event subscriber
Temporary table

A table whose records stay in session memory or temporary storage and are never written to the database. Temp tables are used for staging data, holding calculated results, and simulating data in tests.

Related: Record data type, Test codeunit
Procedure

A named block of AL code that accepts parameters and can return a value. Procedures may be local, internal, or public, and are called from other code in the same object or in other objects.

Related: Codeunit, Interface
Interface

An AL object that declares procedure signatures without implementations. Codeunits that implement the interface must provide those procedures, allowing code to work with different implementations through one contract.

Related: Procedure, Codeunit, Enum object
RecordRef

A variable type that refers to a table dynamically at runtime rather than naming the table at compile time. It supports generic code that must operate across many tables with the same logic.

Related: Record data type, SetRange
Upgrade codeunit

A codeunit containing logic that runs when an extension's version changes during deployment. Its upgrade triggers let developers transform existing data or run one-time setup steps safely.

Related: AL extension, Trigger
AL Language extension for VS Code

The Microsoft extension for Visual Studio Code that adds AL project templates, syntax support, IntelliSense, and build and publish commands. It is the standard editor toolchain for Business Central development.

Related: AL language, launch.json, Symbols
launch.json

A Visual Studio Code configuration file that defines how an AL project starts debugging. It stores settings such as the server URL, authentication mode, and startup object, and can hold several named configurations.

Related: AL Language extension for VS Code, Snapshot debugging
Symbols

A downloaded package describing the objects and procedures available in a Business Central environment. The AL compiler uses symbols to validate references against the base application and other installed extensions.

Related: AL extension, AL Language extension for VS Code
Snapshot debugging

A Business Central debugging feature that records the state of a session while code runs, so developers can step through the recorded execution later. It works in cloud environments where live attach is limited.

Related: launch.json, Telemetry
Test codeunit

A codeunit marked with the test subtype attribute that contains automated test procedures. A test runner executes these against a company and validates results using library and assert codeunits.

Related: BcContainerHelper, Temporary table
API page

A page of type API that exposes Business Central entities through OData v4 endpoints for external applications. Its fields and keys map to API properties, and clients can read or write records over HTTP.

Related: OData web service, Webhook
Webhook

A subscription-based notification in which Business Central sends an HTTP POST to a registered external endpoint when specified records are created, modified, or deleted. It enables near real-time outbound integration.

Related: API page, Business event
OData web service

A protocol-based endpoint that exposes published pages and queries as OData feeds. External clients can query Business Central data through it, and supported page types also allow updates.

Related: API page, Business event
Business event

An event declared to signal that something meaningful happened in the business process, raised explicitly by application code. Other extensions and external integration components can subscribe and react to it.

Related: Event subscriber, Webhook