Skip to content
Find references in Business Central Base App

How-To Use Where-Used in Base App

Daniel Gorski
Daniel Gorski 03. Januar 2022
4 Min. Lesezeit

Imagine you are building an extension on some standard tables and you would like to find out where some procedures or fields are used in the whole base app.

There are several reasons why you should look after some background business logic.

Jump into your extension you are developing at and select that procedure or field you are looking for:

VS Code context menu on the GetDefaultLineType procedure with Find All References (Shift+Alt+F12) highlighted

Hit Shift+Alt+F12 or look for "Find All References" in your context menu.

But: You are going to find nothing!

So let's make it work!

Follow these steps:

  • So let's try to compile the base app and see if it works. Download your specified artifact:
Get-BcArtifactUrl -type onprem -country 'de' -select Latest
  • This command will show up your artifact url:
https://bcartifacts.azureedge.net/onprem/19.2.32968.33504/de
  • Let's download the latest Business Central DE-localization:
Download-Artifacts -artifactUrl https://bcartifacts.azureedge.net/onprem/19.2.32968.33504/de -includePlatform
  • On your local drive, system will create this folder where you can jump in, to get the base app:
C:\bcartifacts.cache\onprem\19.2.32968.33504\platform\Applications\BaseApp\Source\Base Application.Source.zip
  • Create a local repository and extract all files from that base-zip file into any folder. In this example it's a folder called "app" in my local project "DE-latest":

File Explorer view of the DE-latest project folder with the extracted app, .alpackages, and .netpackages subfolders

That app-folder contains now all *.al files:

The app folder listing thousands of extracted .al source files from the Base Application

  • Take the System App, Application App and the System Application App and put them into the ".alpackages" folder:

From here:

C:\bcartifacts.cache\onprem\19.2.32968.33504\platform\Applications\system application\source\Microsoft_System Application.app
C:\bcartifacts.cache\onprem\19.2.32968.33504\platform\Applications\Application\Source\Microsoft_Application.app
C:\bcartifacts.cache\onprem\19.2.32968.33504\platform\ModernDev\program files\Microsoft Dynamics NAV\190\AL Development Environment\System.app

To:

The .alpackages folder containing the copied Microsoft_Application.app, Microsoft_System Application.app, and System.app files

  • Copy all assemblies

From here:

C:\ProgramData\BcContainerHelper\Extensions\de-latest\.netPackages\assembly
C:\ProgramData\BcContainerHelper\Extensions\de-latest\.netPackages\Service

And copy them into your ".netpackages" folder:

The .netpackages\Service folder populated with the copied .NET assembly DLLs

  • Move these files from your app folder (DE-latest\app\) into your repository folder (DE-latest):

  • app.json

  • ExtensionLogo.png

  • Add the runtime-property into that app.json. It should look like this:

{
	"id": "437dbf0e-84ff-417a-965d-ed2bb9650972",
	"name": "Base Application",
	"publisher": "Microsoft",
	"description": "Provides business processes that are typical for small and mid-sized companies, such as sales and purchasing, and customer and vendor management, plus complex processes, such as assembly, manufacturing, service, and directed warehouse management. https://docs.microsoft.com/en-us/dynamics365/business-central/across-business-functionality",
	"version": "19.2.32968.33504",
	"logo": "ExtensionLogo.png",
	"privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009",
	"EULA": "https://go.microsoft.com/fwlink/?linkid=2009120",
	"help": "https://go.microsoft.com/fwlink/?linkid=2104024",
	"url": "https://go.microsoft.com/fwlink/?LinkId=724011",
	"dependencies": [
		{
			"id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f",
			"name": "System Application",
			"publisher": "Microsoft",
			"version": "19.0.0.0"
		}
	],
	"internalsVisibleTo": [
		{
			"id": "5d86850b-0d76-4eca-bd7b-951ad998e997",
			"name": "Tests-TestLibraries",
			"publisher": "Microsoft"
		},
		{
			"id": "c49d9d39-1c94-46d2-8bf7-3cce15ba54dc",
			"name": "Tests-SMTP",
			"publisher": "Microsoft"
		},
		{
			"id": "7fe10be7-575f-4cce-957b-bcd0df8f9bd7",
			"name": "Tests-Rapid Start",
			"publisher": "Microsoft"
		},
		{
			"id": "4564dd2f-e8b2-41ff-9905-9d7a950475a5",
			"name": "Tests-Misc",
			"publisher": "Microsoft"
		},
		{
			"id": "8c9fc75f-dc51-40de-a6fa-55e7bbe0c0c2",
			"name": "Tests-What\u0027s New Notifier Test",
			"publisher": "Microsoft"
		},
		{
			"id": "74e323c4-70a3-49ce-b18e-fe9ccaff01d3",
			"name": "Tests-Marketing",
			"publisher": "Microsoft"
		},
		{
			"id": "c49d9d12-1c94-4362-8bf7-3cce15be54dc",
			"name": "Tests-Monitor Sensitive Fields",
			"publisher": "Microsoft"
		},
		{
			"id": "fa3e2564-a39e-417f-9be6-c0dbe3d94069",
			"name": "Tests-ERM",
			"publisher": "Microsoft"
		},
		{
			"id": "bd6c6741-7734-4109-bf2d-db58545d482c",
			"name": "Tests-Local",
			"publisher": "Microsoft"
		},
		{
			"id": "2a5ff629-58b0-48e8-9414-319055c49e8d",
			"name": "Tests-MOCKSERVICETESTS-Internal",
			"publisher": "Microsoft"
		},
		{
			"id": "d94a0cee-f211-4941-b609-7c984f85ad03",
			"name": "Tests-Permissions",
			"publisher": "Microsoft"
		}
	],
	"platform": "19.0.0.0",
	"target": "OnPrem",
	"resourceExposurePolicy": {
		"allowDebugging": true,
		"allowDownloadingSource": true,
		"includeSourceInSymbolFile": true
	},
	"brief": "Base Application (W1)",
	"runtime": "8.1"
}

And you are ready to compile!

VS Code output panel showing the Base App compiling successfully with AL0432 deprecation warnings after running AL: Package

Compilation ended at '18:2:26.310'.


You can look now for every reference!

Like these 7 results of a procedure called "GetDefaultLineType" in the Sales Line Table.

Find All References panel listing the 7 results for GetDefaultLineType across Sales Line subform pages

Have fun!

how-to
development
business central
where-used
base app
al code
bc artifacts
EN
E-Invoicing formats UBL, CII, ZUGFeRD and Factur-X compared

E-Invoicing

July 21, 2026 - Daniel Gorski

UBL, CII, ZUGFeRD, Factur-X: E-Invoicing Formats Finally Explained

UBL, CII, ZUGFeRD or Factur-X – these e-invoicing formats get confused all the time. We break down the difference between pure XML formats and hybrid…

Read More
Read More: UBL, CII, ZUGFeRD, Factur-X: E-Invoicing Formats Finally Explained
DE
GoBD-konforme Archivierung mit Business Central und SharePoint ohne DMS

Architektur

April 24, 2026 - Sven Wischhusen

Revisionssicher archivieren ohne DMS? Wie weit Business Central, SharePoint und Azure Blob Storage wirklich tragen

Warum „GoBD" oft vorschnell zum K.O.-Kriterium wird – und wie weit Business Central, SharePoint und Azure Blob Storage wirklich tragen.

Read More
Read More: Revisionssicher archivieren ohne DMS? Wie weit Business Central, SharePoint und Azure Blob Storage wirklich tragen