Welcome to Business Central AL Development & Administration
What You’ll Learn
Course Structure
Prerequisites
Who This Course Is For
Install and Upgrade Codeunits in Business Central
Table of Contents
Introduction
Install Codeunits
What are Install Codeunits?
When Install Code Runs
Install Codeunit Structure
Install Triggers Explained
1. OnInstallAppPerCompany()
2. OnInstallAppPerDatabase()
Real-World Example: E-Document Setup
Best Practices for Install Codeunits
1. Detect Fresh Install vs. Reinstall
2. Use Defensive Coding
3. Keep Install Codeunits Independent
4. Choose the Right Trigger
Upgrade Codeunits
What are Upgrade Codeunits?
When Upgrade Code Runs
Upgrade Codeunit Structure
Upgrade Triggers Explained
Phase 1: Precondition Checks
Phase 2: Upgrade Execution
Phase 3: Validation
Real-World Example: VAT Group Upgrade
Best Practices for Upgrade Codeunits
1. Always Use Upgrade Tags
2. Add Safety Checks
3. Avoid Blank Modifies
4. Use DataTransfer for Large Tables
Upgrade Tags Deep Dive
Why Use Upgrade Tags?
The Three-Step Pattern
Step 1: Check and Execute in Upgrade Codeunit
Step 2: Register Tag for New Companies
Step 3: Handle Fresh Installs
Complete Example: E-Document URL Migration
Upgrade Tag Naming Convention
Advanced Topics
ModuleInfo and Version Detection
Available Properties
Detecting Fresh Install vs. Reinstall
Version-Specific Upgrade Logic
DataTransfer Object
Basic Syntax
Same Table Field Migration
Cross-Table Data Migration
Performance Comparison
Protecting Code During Upgrade
Using ExecutionContext
Execution Context Values
Practical Example
Debugging Install and Upgrade Code
Setup for Debugging
Common Debugging Issues
Force Upgrade for Testing
Common Scenarios and Solutions
Scenario 1: Migrate Field Data
Scenario 2: Populate New Required Field
Scenario 3: Convert Text to Option/Enum
Scenario 4: Delete Obsolete Data
Scenario 5: Multi-Version Upgrade Path
MB-820 Exam Tips
Key Concepts to Memorize
Install Codeunits
Upgrade Codeunits
Upgrade Tags
Common Exam Questions
Practice Scenarios
Scenario 1
Scenario 2
Scenario 3
Scenario 4
References
Microsoft Learn Documentation
Base Application Examples
Summary
Chapter 1: Install and Upgrade Codeunits - Quizzes & Exercises
Install Codeunits Quiz
2 attempts allowed
Upgrade Codeunits Quiz
2 attempts allowed
Upgrade Tags Quiz
2 attempts allowed
DataTransfer and Advanced Topics Quiz
2 attempts allowed
Exercise: Install Codeunit Scenario
Exercise: Fresh Install Detection
Exercise: Choosing the Right Approach
Business Central Administration and Automation API
Table of Contents
Introduction
Cloud Solution Provider (CSP) Program
What is the CSP Program?
Partner Responsibilities
Customer Benefits
Business Central Admin Center
Accessing the Admin Center
Environment Management
Sandbox vs Production
Trial Extensions
Database Export
Admin Center API
Authentication Setup
API Structure and Versioning
Environment Management via API
Telemetry API
Real-World Example: Retrieving Environment Info
Automation APIs Deep Dive
What are Automation APIs?
Authentication and Authorization
API Namespace and Discovery
Available Automation Endpoints
Company Automation
Creating Companies via API
Company Structure and Properties
Real-World Example: Company Creation
Configuration Package Management
What are Configuration Packages?
RapidStart Technology
Package Lifecycle: Create, Upload, Import, Apply
Real-World Example: Automating Package Deployment
Code Deep Dive: Configuration Package API
Extension Management via API
Extension Lifecycle
Installing Extensions
Uninstalling Extensions
Extension Upload and Deployment
Monitoring Extension Deployment Status
Real-World Example: Extension Management
Code Deep Dive: Extension Management Codeunit
User and Permission Management
User Management via API
Permission Sets
Security Groups (APIV2)
User Synchronization
Real-World Example: User Provisioning
Scheduled Jobs and Automation
Job Queue Management
Scheduled Jobs API
Monitoring Job Status
Telemetry and Monitoring
What is Telemetry?
Azure Application Insights Integration
Environment Lifecycle Telemetry
Configuring Telemetry via API
Key Telemetry Signals
Performance Analysis and Optimization
In-Client Performance Profiler
Business Central Performance Toolkit (BCPT)
BCPT Suite Configuration
Analyzing Performance Telemetry
Real-World Example: BCPT Scenario
Infrastructure as Code with Automation APIs
Automated Tenant Provisioning
Environment Standardization
CI/CD Integration
Complete Workflow Example
Error Handling and Best Practices
API Error Responses
Async Operation Handling
Retry Logic
Rate Limiting
Common Scenarios and Solutions
Scenario 1: Clone Production to Sandbox
Scenario 2: Bulk User Permission Update
Scenario 3: Monitor Extension Deployment Across Multiple Companies
Scenario 4: Automated Nightly Configuration Backup
MB-820 Exam Tips
Key Concepts to Memorize
Cloud Solution Provider (CSP)
Admin Center
Admin Center API
Automation APIs
Configuration Packages
Extension Management
Users and Permissions
Telemetry
Performance
Common Exam Questions
Exercises and Practice Questions
Exercise 1: Create Company via API
Exercise 2: Monitor Extension Installation
Exercise 3: Bulk Permission Assignment
Practice Questions
References
Microsoft Learn Documentation
Blog Posts
Video Resources
Base Application Examples
Summary
Answer Key - Practice Questions
Chapter 2: BC Admin & Automation API - Quizzes & Exercises
Admin Center and CSP Quiz
2 attempts allowed
Automation APIs Quiz
2 attempts allowed
Configuration Packages and Extensions Quiz
2 attempts allowed
Telemetry and Performance Quiz
2 attempts allowed
Exercise: Create Company via API
Exercise: Extension Management
Exercise: Configuration Package Lifecycle
Business Central Performance Toolkit
Table of Contents
Introduction
Understanding Performance Testing
Why Performance Testing Matters
Performance Testing vs Functional Testing
Common Performance Issues
Performance Testing Personas
Performance Toolkit Overview
What is the Performance Toolkit?
BCPT Architecture
The Three BCPT Components
Prerequisites and Requirements
Getting Started with BCPT
Installing the VS Code Extension
Setting Up Your First Project
Connecting to Your Environment
Installing Sample Tests
Creating Performance Test Scenarios
Test Codeunit Structure
Normal Subtype Tests
Test Subtype Tests (UI Scenarios)
The BCPT Test Context
Measuring Scenarios with StartScenario and EndScenario
Simulating User Behavior with UserWait
Real-World Example: Create Sales Order
Parameterized Test Scenarios
Why Use Parameters?
Implementing the BCPT Test Param Provider Interface
GetDefaultParameters Method
ValidateParameters Method
Using Parameters in Test Logic
Real-World Example: Purchase Order with N Lines
Configuring Test Suites
Understanding BCPT Suites
Suite Configuration Settings
Adding Test Lines to Suites
User Delay Configuration
Delay Between Iterations
Tags for Comparison Testing
Real-World Example: 50-User Trading Scenario
Running Performance Tests
Single Run Mode
Full Suite Execution
Running from VS Code
Running via PowerShell
Background vs Foreground Execution
Monitoring Test Progress
Analyzing Performance Results
Understanding Result Metrics
Baseline Comparison
SQL Statement Analysis
Duration Analysis
Identifying Performance Regressions
Log Entries and Drill-Down
Exporting Results to Excel
Telemetry and Power BI Integration
Enabling Azure Application Insights
BCPT Telemetry Signals
Installing the Power BI Performance Report
KQL Queries for Performance Analysis
Creating Custom Dashboards
Regression Testing Workflows
Establishing Baselines
Before and After Testing
Version Upgrade Testing
Extension Impact Analysis
Real-World Example: Detecting Extension Regression
Advanced Testing Techniques
Multi-Session Testing
Workload Simulation Patterns
Testing with Different Data Volumes
Concurrent User Simulation
Deadline-Based Testing
Performance Profiling Integration
CI/CD Pipeline Integration
AL-Go for GitHub Integration
Azure DevOps Integration
Automated Performance Gates
Continuous Performance Monitoring
Real-World Example: GitHub Actions Workflow
Best Practices
Test Design Best Practices
Suite Configuration Best Practices
Data Management Best Practices
Analysis Best Practices
Common Pitfalls to Avoid
Troubleshooting
Common Errors and Solutions
Performance Test Failures
Connection Issues
Debugging Test Scenarios
Performance Terms and Definitions
MB-820 Exam Tips
Key Concepts to Memorize
Common Exam Questions
Practice Scenarios for Exam
Exercises and Practice Questions
Exercise 1: Creating Your First Test Scenario
Exercise 2: Parameterized Testing
Exercise 3: Regression Detection
Exercise 4: Multi-User Load Testing
Practice Questions
Answers to Practice Questions
References
Microsoft Documentation
GitHub Resources
Community Resources
Summary
Chapter 3: BC Performance Toolkit - Quizzes & Exercises
BCPT Fundamentals Quiz
2 attempts allowed
Test Scenarios and Configuration Quiz
2 attempts allowed
Performance Analysis Quiz
2 attempts allowed
Advanced BCPT Topics Quiz
2 attempts allowed
Exercise: Creating Your First Test Scenario
Exercise: Regression Detection Workflow
Exercise: BCPT Suite Configuration
Business Central Cloud Migration Tool
Table of Contents
Introduction
Understanding Cloud Migration
Why Migrate to the Cloud?
Migration vs New Implementation
Supported Source Systems
Cloud Migration Benefits
Cloud Migration Architecture
How the Migration Tool Works
Data Replication Pipeline
Azure Data Factory Integration
Integration Runtime Components
Change Tracking Mechanism
Prerequisites and Planning
System Requirements
License Requirements
Network Requirements
User Permissions
Database Prerequisites
Data Cleanup Recommendations
Planning Your Migration
Company Selection Strategy
Extension Migration Planning
Storage Capacity Planning
Advanced Multi-Stage Strategy
Migration Timeline Best Practices
Migration Setup - Assisted Setup
Step 1: Sign In to Microsoft 365
Step 2: Access Business Central Online
Step 3: Run Cloud Migration Setup
Step 4: Accept Terms and Conditions
Step 5: Product Selection
Step 6: SQL Connection Setup
Step 7: Integration Runtime Installation
Step 8: SQL Connection String
Step 9: Select Companies to Migrate
9.2 Finishing the Setup
10. Running Cloud Migrations
10.1 The Cloud Migration Management Page
10.2 Running the Initial Migration
Starting the Initial Migration
Migration Phases
What Happens During Migration
10.3 Monitoring Migration Progress
Real-Time Monitoring Options
10.4 Migration Logs and Diagnostics
Accessing Migration Logs
Diagnostic Tools
10.5 Handling Migration Errors
Error Handling Strategy
Common Error Scenarios and Solutions
📋 MB-820 Exam Focus: Memorize common errors, their root causes, and the troubleshooting steps.
10.6 Running Incremental Migrations
What Are Incremental Migrations?
Running an Incremental Migration
Scheduling Automatic Incremental Migrations
11. Data Upgrade Process
11.1 When Data Upgrade Is Required
11.2 Running the Data Upgrade
11.3 Post-Upgrade Validation
12. Completing the Migration - Cutover
12.1 Planning the Cutover
12.2 Running the Final Migration
12.3 Cutover Validation
12.4 Go-Live
12.5 Disabling Cloud Migration
13. Post-Migration Tasks
13.1 User Setup and Permissions
13.2 Record Links and Attachments
13.3 Integration Setup
13.4 Report Layouts and Customizations
13.5 Job Queue and Scheduled Tasks
14. Troubleshooting Guide
14.1 Setup and Configuration Issues
Issue: Cannot Access Cloud Migration Setup
Issue: Source Product Not Listed in Setup
14.2 Integration Runtime Issues
Issue: Integration Runtime Installation Fails
Issue: Integration Runtime Won’t Register
Issue: Integration Runtime Shows “Stopped” or “Disconnected”
14.3 Connection and Authentication Errors
Issue: Cannot Connect to Source SQL Server
Issue: SQL Authentication Fails
14.4 Data Replication Errors
Issue: Change Tracking Not Enabled
Issue: Table Replication Times Out
Issue: Schema Mismatch Errors
14.5 Performance Issues
Issue: Migration Taking Too Long
15. Best Practices
15.1 Planning Best Practices
15.2 Technical Best Practices
15.3 Migration Execution Best Practices
15.4 Testing Best Practices
15.5 Common Pitfalls to Avoid
16. Cloud Migration Terms and Definitions
17. MB-820 Exam Tips and Key Concepts
17.1 Key Concepts to Memorize
17.2 Common Exam Question Topics
17.3 Sample Exam-Style Questions (Practice)
17.4 Study Tips
18. Exercises and Practice Questions
Exercise 1: Planning a Cloud Migration
Exercise 2: Configuring Migration Setup
Exercise 3: Running and Monitoring Migration
Exercise 4: Troubleshooting Migration Issues
Practice Questions (20 Questions)
Detailed Answers to Practice Questions
19. References and Further Reading
20. Conclusion
Chapter 4: BC Cloud Migration Tool - Quizzes & Exercises
Migration Fundamentals Quiz
2 attempts allowed
Migration Setup and Configuration Quiz
2 attempts allowed
Running and Monitoring Migrations Quiz
2 attempts allowed
Cutover and Post-Migration Quiz
2 attempts allowed
Exercise: Planning a Cloud Migration
Exercise: SQL Server Preparation
Exercise: Troubleshooting Migration Issues
Exercise: Migration Components Mnemonic
MB-820 Exam Cram: Create New Companies in Business Central
Table of Contents
Introduction
Understanding Companies in Business Central
What is a Company?
Companies vs. Environments
When to Create Multiple Companies
Creating a New Company
Prerequisites and Permissions
The Create New Company Wizard
Company Templates Explained
Step-by-Step Company Creation
Creating Companies via the Automation API
Company Setup and Configuration
Company Information Page
Assisted Company Setup Wizard
General Ledger Setup
Area-Specific Setup Pages
Configuration Packages and RapidStart Services
What are Configuration Packages?
The Configuration Worksheet
Creating a Configuration Package
Exporting and Importing Packages
Applying Configuration Packages
Best Practices for Configuration Packages
Copying Companies
When to Copy a Company
Performance Considerations
The Copy Process
Limitations and Gotchas
Developer Topics: Working with Companies in AL
The ChangeCompany Method
CompanyName() Function
Working with Company Records
Real-World Code Examples
Intercompany Transactions
Understanding Intercompany
Setting Up Intercompany Partners
Intercompany Chart of Accounts
Posting Intercompany Transactions
Managing the Intercompany Inbox/Outbox
Contoso Coffee Demo Data
What is Contoso Coffee?
Installing Demo Data
Available Modules
Company Administration
Renaming Companies
Deleting Companies
Company Badges
User Access and Permissions
Hands-On Exercises
Exercise 1: Create a Company with Production Data
Exercise 2: Create and Apply a Configuration Package
Exercise 3: Using ChangeCompany in AL Code
Exercise 4: Set Up Intercompany Transactions
MB-820 Exam Tips
Key Concepts to Know
Common Exam Scenarios
Practice Questions
Question 1
Question 2
Question 3
Question 4
Question 5
Question 6
Question 7
Question 8
Question 9
Question 10
Question 11
Question 12
Question 13
Question 14
Question 15
Question 16
Question 17
Question 18
Question 19
Question 20
Answers to Practice Questions
Answer 1
Answer 2
Answer 3
Answer 4
Answer 5
Answer 6
Answer 7
Answer 8
Answer 9
Answer 10
Answer 11
Answer 12
Answer 13
Answer 14
Answer 15
Answer 16
Answer 17
Answer 18
Answer 19
Answer 20
References
Microsoft Learn Documentation
Video Reference
Base Application Code Examples
Summary
Chapter 5: Create New Companies - Quizzes & Exercises
Company Creation & Configuration Quiz
2 attempts allowed
ChangeCompany & Intercompany Quiz
2 attempts allowed
Exercise: Company Management Scenarios
Integrating Business Central with Outlook
Table of Contents
Introduction
Understanding the Outlook Add-in
What is the Business Central Outlook Add-in?
Add-in Components
1. Contact Insights Add-in
2. Document View Add-in
System Requirements
Supported Outlook Versions
Deployment Methods
Method 1: Centralized Deployment (Recommended)
Method 2: Individual User Installation
Method 3: Manual Installation (On-Premises)
Choosing the Right Deployment Method
Technical Configuration
Exchange Online Configuration
Exchange Server Configuration
Microsoft Entra ID Setup
Business Central Server Configuration
Nested App Authentication (NAA)
Working with the Outlook Add-in
Contact Insights Features
Document View Features
Creating Documents from Outlook
Managing Incoming Documents
File Attachments
Optimization and Performance
Updating Outlook
Installing WebView2
Browser Requirements
Performance Best Practices
Developer Topics
Understanding the Add-in Architecture
Manifest Management
Microsoft Graph API Integration
Exchange Web Services
Real-World Code Example: Outlook Add-In Services
Real-World Code Example: Exchange Add-in Setup
Multi-Environment and Multi-Company Scenarios
Switching Between Environments
Working with Multiple Companies
Customizing for Multiple Environments
Troubleshooting
Common Issues and Solutions
Add-in Not Starting
Authentication Problems
Page Not Supported Errors
Shared Mailbox Limitations
Related Microsoft 365 Integrations
Excel Add-in Integration
Teams Integration
Power BI Integration
MB-820 Exam Tips
Key Concepts to Memorize
Outlook Add-in Components
Deployment Methods
Requirements
Technical Configuration
Common Exam Questions
Exercises
Exercise 1: Deploy the Outlook Add-in via Centralized Deployment
Exercise 2: Create a Sales Quote from Outlook
Exercise 3: Process Incoming Documents from Outlook
Exercise 4: Configure Outlook Add-in for Multiple Environments
Practice Questions
Answers to Practice Questions
References
Microsoft Learn Documentation
Base Application Code References
Video Resources
Summary
Chapter 6: Outlook Integration - Quizzes & Exercises
Outlook Add-in Fundamentals Quiz
2 attempts allowed
Outlook Configuration & Deployment Quiz
2 attempts allowed
Exercise: Outlook Integration Scenarios
Integrating Business Central with Microsoft Teams
Table of Contents
Introduction
Understanding the Teams Integration
What is the Business Central App for Teams?
Integration Components
1. Interactive Cards
2. Contact Search
3. Share to Teams
4. Business Central Tabs
System Requirements
Licensing Requirements
Installing the Business Central App for Teams
Method 1: Direct Link Installation
Method 2: From Teams App Store
Method 3: From Business Central
Centralized Deployment for Organizations
Working with Cards
Understanding Business Central Cards
Sharing Records in Conversations
Using Share to Teams
Viewing Card Details
Card Data Visibility Settings
Searching for Contacts
Command Box Search
Message Compose Box Search
Contact Card Features
Viewing Interactions and Documents
Business Central Tabs in Teams
Adding Tabs from Recommended Content
Adding Tabs Using Page Links
Managing and Customizing Tabs
Tab Permissions and Access
Settings and Multi-Environment Scenarios
Accessing Settings
Switching Companies and Environments
Working with Multiple Companies
Administration and Configuration
Managing Teams Integration
URL Previews Policy
Privacy and Compliance
Information Barriers and DLP
Developer Topics
Understanding the Integration Architecture
Extending Teams Cards
Approach 1: Field Groups (Recommended)
Approach 2: Event Subscribers
Customizing Card Fields with Events
Adding Recommended Content to Tabs
Real-World Code Example: Teams Customizations
Page Summary Provider
Page Action Provider
Guest and External User Scenarios
Sharing Cards with Guests
Guest Experience Differences
Guest App Installation
Troubleshooting
Common Issues and Solutions
Links Not Expanding into Cards
Authentication and Sign-in Issues
Tab Visibility Problems
Language and Localization Issues
Related Integrations
Outlook Integration
Excel Add-in Integration
Power BI Integration
MB-820 Exam Tips
Key Concepts to Memorize
Integration Components
Installation Methods
Requirements
Developer Events
Common Exam Questions
Exercises
Exercise 1: Install and Configure the Business Central App for Teams
Exercise 2: Share Business Central Records and Create a Tab
Exercise 3: Extend Teams Cards with Custom Fields
Exercise 4: Configure Recommended Content for Teams Tabs
Practice Questions
Answers to Practice Questions
References
Microsoft Learn Documentation
Microsoft Learn Training
Code Examples
Video Resources
Summary
Chapter 7: Teams Integration - Quizzes & Exercises
Teams Integration Fundamentals Quiz
2 attempts allowed
Teams Cards, Tabs & Developer Quiz
2 attempts allowed
Exercise: Teams Integration Scenarios
MB-820 Exam Cram: Tables and Table Extensions in Business Central
Table of Contents
Introduction
Understanding Tables in Business Central
What is a Table?
Table Architecture Overview
Table Types
1. Normal Tables
2. Temporary Tables
3. System Tables
4. Virtual Tables
System Fields
Creating Tables in AL
Table Syntax and Structure
Table Properties
Field Definition and Properties
Data Types in AL
Simple Data Types
Text Data Types
Complex Data Types
Field Classes: Normal, FlowField, and FlowFilter
Normal Fields
FlowFields
FlowFilter Fields
Data Classification
Using Snippets for Table Creation
Keys and Indexes
Understanding Primary Keys
Secondary Keys
Clustered vs Non-Clustered Keys
Clustered Index
Non-Clustered Index
Unique Keys
Keys with Included Fields
Columnstore Indexes
Key Performance Considerations
Field Groups
DropDown Field Group
Brick Field Group
Adding Field Groups in Extensions
Table Triggers
Table-Level Triggers
Field-Level Triggers
Trigger Execution Order
Real-World Table Examples from Base App
Customer Table Analysis
Item Table Analysis
Table Extensions
What is a Table Extension?
Table Extension Syntax
Adding Fields to Existing Tables
Adding Keys in Table Extensions
Adding Field Groups in Extensions
Extension Limitations and Constraints
Using Snippets for Table Extensions
Real-World Table Extension Examples
Service Customer Table Extension
Subscription Billing Customer Extension
Retention Policies
Understanding Retention Policies
Why Retention Policies Matter
Setting Up Retention Policies
Retention Period Interface
Retention Policy Filtering Interface
Retention Policy Deleting Interface
Adding Custom Tables to Retention Policies
Real-World Retention Policy Implementation
Best Practices
Table Design Best Practices
Key Design Best Practices
Extension Best Practices
Retention Policy Best Practices
MB-820 Exam Tips
Key Concepts to Memorize
Common Exam Questions
Exercises
Exercise 1: Create a Custom Table
Exercise 2: Add Keys and Field Groups
Exercise 3: Create FlowFields
Exercise 4: Create a Table Extension
Exercise 5: Extend with Keys and Field Groups
Exercise 6: Add FlowFields to Extension
Exercise 7: Implement Table Triggers
Exercise 8: Implement Retention Policy for Custom Table
Exercise 9: Custom Retention Policy Deleting Interface
Practice Questions
Answers to Practice Questions
References
Microsoft Learn Documentation
Microsoft Learn Training Modules
Code Examples
Video Resources
Summary
Chapter 8: Tables and Table Extensions - Quizzes & Exercises
Table Fundamentals Quiz
2 attempts allowed
Table Extensions & Advanced Topics Quiz
2 attempts allowed
FlowFields & Retention Policies Quiz
2 attempts allowed
Exercise: Table Design
MB-820 Exam Cram: Pages and Page Extensions in Business Central
Table of Contents
Introduction
Understanding Pages in Business Central
What is a Page?
Page Architecture Overview
Page Types
Page vs Table Relationship
Creating Pages in AL
Page Syntax and Structure
Page Properties
Using Snippets for Page Creation
Layout Section Deep Dive
Areas
Groups
Fields and Controls
Parts and FactBoxes
Repeaters for List Display
Actions Section Deep Dive
Action Areas
Action Types
Action Properties
Promoted Actions
Action Groups
Page Triggers
Page-Level Triggers
Field-Level Triggers
Action Triggers
Page Extensions
What are Page Extensions?
Page Extension Syntax
Placement Keywords
Modifying Existing Controls
Moving Controls
Real-World Example: Customer Card Extension
Role Centers and Profiles
Understanding Role Centers
Profile Objects
Page Customization Objects
Customization Layers
Views on Pages
Creating Views
Views in Page Extensions
Advanced Topics
SourceTableView and Filters
RunObject vs RunPageLink
Editable and Enabled Properties
Visible Property and Dynamic UI
AboutTitle and AboutText
Bonus: Page Scripting Tool
What is Page Scripting?
Recording Scripts
Playback and Validation
Power Fx Integration
Best Practices for Page Scripting
Common Scenarios and Solutions
Scenario 1: Making a Field Required with Visual Indicator
Scenario 2: Conditional Field Visibility
Scenario 3: Running a Report from a Page Action
Scenario 4: Drill-Down to Related Records
Scenario 5: Page Part Communication
MB-820 Exam Tips
Key Concepts to Memorize
Common Exam Questions
Exercises
Exercise 1: Create a Custom List Page
Exercise 2: Create a Page Extension
Exercise 3: Create a Document Page
Exercise 4: Create a Profile with Page Customization
Practice Questions
Answers to Practice Questions
References
Microsoft Learn Documentation
Microsoft Learn Training Modules
Page Scripting Resources
Video Resources
Summary
Chapter 9: Pages and Page Extensions - Quizzes & Exercises
Page Types & Structure Quiz
2 attempts allowed
Page Extensions & Actions Quiz
2 attempts allowed
Page Triggers & Customization Quiz
2 attempts allowed
Exercise: Page Development
MB-820 Exam Cram: Reports, Report Extensions, and Queries in Business Central
Table of Contents
Introduction
Understanding Reports in Business Central
What is a Report?
Report Architecture Overview
Report Types
1. Document Reports
2. Analysis Reports
3. Processing-Only Reports
Report Properties
Creating Reports in AL
Report Syntax and Structure
Dataset Definition
Data Items and Columns
DataItemLink and DataItemLinkReference
Request Pages
Report Triggers
Using Snippets for Report Creation
Report Layouts
Layout Types Overview
RDLC Layouts
Word Layouts
Excel Layouts
The Rendering Section
Multiple Layouts per Report
Custom Report Layouts
Processing-Only Reports
When to Use Processing-Only Reports
Processing-Only Report Examples
Real-World Report Examples from Base App
Customer Top 10 List Analysis
Standard Sales Invoice Analysis
Salesperson Commission Report Analysis
Report Extensions
What is a Report Extension?
Report Extension Syntax
Adding Columns to Existing Data Items
Adding New Data Items
Modifying Data Items with Triggers
Extending Request Pages
Adding New Layouts
Report Extension Limitations
Real-World Report Extension Examples
Service Document Entries Extension
Customer Top 10 with Email Extension
Report Substitution
When to Use Substitution vs Extension
Implementing Report Substitution
Substitution Best Practices
Understanding Queries
What is a Query?
Query vs Report
Query Architecture
Query Properties
Creating Queries in AL
Query Syntax and Structure
Data Items in Queries
Columns and Filters
Joining Tables
Aggregation Methods
Sorting and Limiting Results
Real-World Query Examples from Base App
Top 10 Customer Sales Query
Top Customer Overview Query
Using Queries in Reports
Query-Based Report Pattern
Opening and Reading Query Data
Publishing Queries as Web Services
OData Query Exposure
Query Web Service Best Practices
Best Practices
Report Design Best Practices
Layout Best Practices
Extension Best Practices
Query Best Practices
Performance Considerations
MB-820 Exam Tips
Key Concepts to Memorize
Common Question Patterns
Watch Out For
Exercises
Exercise 1: Create a Basic Report with RDLC Layout
Exercise 2: Create a Report with Multiple Layouts
Exercise 3: Create a Processing-Only Report
Exercise 4: Create a Report Extension
Exercise 5: Create a Query with Aggregation
Exercise 6: Create a Query-Based Report
Exercise 7: Implement Report Substitution
Practice Questions
Answers to Practice Questions
References
Microsoft Learn Resources
Sample Code Repositories
Community Resources
Companion Videos
Chapter 10: Reports, Report Extensions & Queries - Quizzes & Exercises
Reports & Layouts Quiz
2 attempts allowed
Report Extensions & Queries Quiz
2 attempts allowed
Exercise: Reports & Queries
MB-820 Exam Cram: Error Handling, RAD, Debugging, Permissions, and Application Areas
Table of Contents
Introduction
Chapter 1: Error Handling with Try Functions
Understanding Try Functions
TryFunction Attribute
Return Values and Error Handling
Database Write Restrictions
Getting Error Details
Base Application Examples: Try Functions
Best Practices for Try Functions
Chapter 2: Collectible Errors
Understanding Collectible Errors
ErrorBehavior Attribute
ErrorInfo Data Type
Collectible Errors API
Implementing Collectible Errors
Base Application Examples: Collectible Errors
Best Practices for Collectible Errors
Chapter 3: Rapid Application Development (RAD)
Understanding RAD
The rad.json File
What RAD Includes and Excludes
RAD Keyboard Shortcuts
RAD Limitations and Warnings
Best Practices for RAD
Chapter 4: Debugging and Deploying AL Extensions
Debugging Overview
Launch.json Configuration
Standard Debugging
Attach and Debug Next
Snapshot Debugging
Database Statistics in Debugger
Deploying Extensions
Best Practices for Debugging
Chapter 5: Entitlements and Permission Sets
Understanding the Permission Model
Permission Set Objects
Entitlement Objects
Permission Set Extensions
Base Application Examples: Permissions
Best Practices for Permissions
Chapter 6: Inherent Permissions
Understanding Inherent Permissions
InherentPermissions Attribute
InherentPermissionsScope
InherentEntitlements Property
Base Application Examples: Inherent
When to Use Inherent Permissions
Chapter 7: Extending Application Areas
Understanding Application Areas
Built-in Application Areas
Creating Custom Application Areas
Experience Tiers
ApplicationArea Property Inheritance
Best Practices for Application Areas
MB-820 Exam Tips
Error Handling (Try Functions & Collectible Errors)
RAD (Rapid Application Development)
Debugging
Permissions and Entitlements
Application Areas
Exercises
Exercise 1: Implement Error Handling with Try Function
Exercise 2: Collect Multiple Validation Errors
Exercise 3: Create a Permission Set Structure
Exercise 4: Implement Inherent Permissions
Exercise 5: Create Custom Application Area
Practice Questions
Question 1
Question 2
Question 3
Question 4
Question 5
Question 6
Question 7
Question 8
Question 9
Question 10
Question 11
Question 12
Question 13
Question 14
Question 15
Question 16
Question 17
Question 18
Question 19
Question 20
Answers to Practice Questions
Answer 1: C
Answer 2: B
Answer 3: B
Answer 4: C
Answer 5: B
Answer 6: C
Answer 7: C
Answer 8: B
Answer 9: C
Answer 10: B
Answer 11: B
Answer 12: B
Answer 13: C
Answer 14: B
Answer 15: B
Answer 16: C
Answer 17: B
Answer 18: C
Answer 19: B
Answer 20: C
References
Microsoft Learn Documentation
Microsoft Learn Training Modules
MVP Blog Posts and Community Resources
GitHub Repositories
YouTube Resources
Chapter 11: Error Handling, RAD, Debugging, Permissions & Application Areas - Quizzes & Exercises
Error Handling Quiz
2 attempts allowed
RAD & Debugging Quiz
2 attempts allowed
Permissions & Entitlements Quiz
2 attempts allowed
Application Areas Quiz
2 attempts allowed
Exercise: Error Handling & Development Tools
Final Exam: MB-820 Certification Preparation
Part 1: Install and Upgrade Codeunits (10 Questions)
2 attempts allowed
Part 2: Admin Center and Automation APIs (10 Questions)
2 attempts allowed
Part 3: Performance Toolkit (10 Questions)
2 attempts allowed
Part 4: Cloud Migration Tool (10 Questions)
2 attempts allowed
Part 5: Create New Companies (5 Questions)
2 attempts allowed
Part 6: Outlook Integration (5 Questions)
2 attempts allowed
Part 7: Teams Integration (5 Questions)
2 attempts allowed
Part 8: Tables and Table Extensions (5 Questions)
2 attempts allowed
Part 9: Pages and Page Extensions (5 Questions)
2 attempts allowed
Part 10: Reports, Report Extensions & Queries (5 Questions)
2 attempts allowed
Part 11: Error Handling, RAD, Debugging, Permissions & Application Areas (5 Questions)
2 attempts allowed
Part 12: Cross-Topic Integration (10 Questions)
2 attempts allowed
The Complete Guide to Business Central Extension Development
With Membership
Free!
$179.00
You pay
$179.00Author earns
$143.20About
About the Course
Instructor
About the Instructor
Silviu Virlan is a Microsoft MVP for Business Applications (awarded multiple times, including a second recognition in recent years), MCP (Microsoft Certified Professional), and a highly respected Dynamics 365 Business Central expert.
With over 12 years of hands-on experience in Dynamics NAV and Business Central, Silviu specializes in AL development, extensions, integrations, performance optimization, and modern AI-driven analytics. He served as a Developer Lead or Technical Architect in Dynamics 365 Business Central development teams for various Microsoft Partners in USA and Canada.
Since 2017, Silviu has been a dedicated contributor to the global Business Central community. He shares practical knowledge and deep technical insights through:
- His popular blog at www.svirlan.com, featuring tutorials, release wave overviews, and best practices.
- The Business Central Musings YouTube channel (@BusinessCentralMusings), home to well-received educational series such as: - "Let's pass MB-820" – a comprehensive certification prep playlist - "What's new in Business Central" – covering 2023, 2024, 2025, and beyond release waves
In 2024, Silviu authored the book "Beyond the Ledgers: Cutting-edge Data Insights with Business Central and AI", a practical guide that helps users and developers unlock powerful analytics, automation, and AI capabilities within Business Central.
A sought-after speaker, you can often find Silviu presenting at major technical conferences including Directions, DynamicsCon, and Community Summit, where he delivers sessions on cutting-edge Business Central topics, from AL language features to advanced integrations and user experience enhancements.
Through his content, speaking engagements, and community leadership, Silviu continues to empower developers, consultants, and partners to build better solutions in the ever-evolving world of Dynamics 365 Business Central.
Material
Course Material
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.