MB-820 key terms
MB-820 · Get comfortable with the vocabulary.
- Business Central
- Related: AL extension, Environment
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.
- Environment
- Related: Sandbox environment, AL extension
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.
- Sandbox environment
- Related: Environment, AL extension
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.
- AL extension
- Related: app.json, Per-tenant extension, Symbols
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.
- app.json
- Related: AL extension, Per-tenant extension
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.
- Per-tenant extension
- Related: AL extension, AppSource, Environment
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.
- AppSource
- Related: Per-tenant extension, AL extension
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.
- BcContainerHelper
- Related: Sandbox environment, Test codeunit
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.
- Telemetry
- Related: Environment, Snapshot debugging
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.
- AL language
- Related: AL Language extension for VS Code, Table object, Codeunit
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.
- Table object
- Related: Table extension, Record data type, FlowField
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.
- Page object
- Related: Page extension, Table 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.
- Codeunit
- Related: Procedure, SingleInstance codeunit, Event subscriber
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.
- Table extension
- Related: Table object, Page extension, DataClassification
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.
- Page extension
- Related: Page object, Table 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.
- Enum object
- Related: Table extension, Interface
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.
- FlowField
- Related: Table object, SetRange
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.
- TableRelation
- Related: Table object, Record data type
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.
- Trigger
- Related: Table object, Codeunit, Event subscriber
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.
- Permission set
- Related: AL extension, Environment
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.
- DataClassification
- Related: Table extension, Table object
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.
- Record data type
- Related: SetRange, Temporary table, RecordRef
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.
- SetRange
- Related: Record data type, FlowField
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.
- Event subscriber
- Related: Trigger, SingleInstance codeunit, Business event
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.
- SingleInstance codeunit
- Related: Codeunit, Event subscriber
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.
- Temporary table
- Related: Record data type, Test codeunit
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.
- Procedure
- Related: Codeunit, Interface
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.
- Interface
- Related: Procedure, Codeunit, Enum object
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.
- RecordRef
- Related: Record data type, SetRange
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.
- Upgrade codeunit
- Related: AL extension, Trigger
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.
- AL Language extension for VS Code
- Related: AL language, launch.json, Symbols
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.
- launch.json
- Related: AL Language extension for VS Code, Snapshot debugging
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.
- Symbols
- Related: AL extension, AL Language extension for VS Code
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.
- Snapshot debugging
- Related: launch.json, Telemetry
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.
- Test codeunit
- Related: BcContainerHelper, Temporary table
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.
- API page
- Related: OData web service, Webhook
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.
- Webhook
- Related: API page, Business event
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.
- OData web service
- Related: API page, Business event
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.
- Business event
- Related: Event subscriber, Webhook
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.