
Prism for AL
Developer productivity for Business Central
Prism for AL is our code browser and analysis tool for Microsoft Dynamics 365 Business Central.
Total solution overview
Module details and dependency graph, table relations graph and more
Rich code browsing experience
Extended object view, semantic code coloring, VSCode integration, etc.
Powerful analysis
Find usages, find system function usages, semantic filtering, and much more
Total solution overview
Flexible options for opening a solution
We include source code of dependencies when available, so you get the full solution overview.
When source code is not available for an app, we include symbol information from the .app
file (most information apart from procedure and trigger bodies.)



- Open workspace:
Opens a Visual Studio Code
.code-workspace
file. - Open folder:
Opens a folder of Visual Studio Code projects or
.al
source files and packages (.app
.) - Open package:
Opens a single package (
.app
file.)
What is your solution made of?
The solution page provides a quick overview of which modules (apps) the solutions consists of and how they are related.

Modules
- Metadata from
app.json
- Number of objects per type
Dependencies
- Used By—inbound dependencies
- Usings—outbound dependencies
- Navigate between dependencies
Tame the complexity and make sense of it all
Awareness and understanding of module dependencies is key. A picture says more than 1000 dependency declarations—that's why Prism generates a dependency graph for your solution.

- Visually traverse dependencies
- Propagated dependencies (e.g. Application)
- Modules with only symbols marked with asterisk (*)
- Flexible display options, e.g. version constraints
Filter, group and order objects as you like
Quickly locate objects with flexible object filtering. By default, objects are grouped by module and object type and modules are sorted by 'topological order' induced by the module dependencies.



Rich code browsing experience
Designed so you get insight quicker
Structured and colourful. Declaration identifiers have context menus (e.g. "Find usages") and identifiers that reference a declaration have rich tooltips and are linked to the declaration. Object references include information about the defining module.



Inlined extension elements provide a consolidated object view
In the "Extended" view, which is the default view, we inline all declarations from extended objects as if they were included in the base object. Elements "imported" like that are marked with an arrow (🠔) in front of the element name. Click the arrow to navigate to the extension object.

Group Member Submissions
before base page's VATReturnStatus
.

Group Member Submissions
before
VATReturnStatus
.
Turbo charged code reading speed
In general, developers spend a lot more time reading than writing code. This is especially true with AL, as Business Central's base application alone has around half a million lines of code. So code reading speed matters. And semantic code colouring helps.

Examples
- Type/namespace
- Built-in instance methods
- Commit
- Delete
- Temporary record
Tell me who your friends are and I will tell you who you are
Understand the purpose of an object better by looking at how it relates to other objects. Answer questions like "Which pages have a certain table as SourceTable?"

Overview
- Usings (outbound) and usages (inbound)
- Checkmark indicates existence of kind of dependency
Go Deeper
- Find usages on each object dependency via context menu
- Follow dependency chain by left-clicking on dependency objects
- Search objects to reduce candidates
Find your way in the current object
Outlines the current object as a tree structure for overview and navigation purposes. Use wildcard filter to restrict to what you are looking for. Configure what you want to see, e.g. 'only extensions' (🠔 Extensions) if you want to see how a base object is extended.


Browse and analyse in Prism—edit in Visual Studio Code
Seemless two-way integration between Prism for AL and Visual Studio Code gives you easy access to Prism functionality in your daily work. The integration from Prism to Visual Studio Code is enabled for any source object which is located in your Visual Studio Code workspace folder. Navigation from Visual Studio Code to Prism requires Prism for AL Connector.


Powerful analysis
Find usages of anything from anywhere
Find usages of any declaration (object, procedure, field, key, control etc) in any module across your whole solution. Right-click any declaration to invoke. Prism finds usages even in symbol files (where available). Save time by using result filters to narrow down the number of results.

How did we get this data into the database?
Find system function usages allows you to quickly answer questions like the one above.
Select which instance methods you search for. For table functions like
Insert
, save time by narrowing the result to
non-temporary records.



Find events fit for your purpose
Developing in AL necessitates a lot of searching for appropriate integration and business events to subscribe to. Unless you are 100% familiar with an event, use Find usages on the event, so you understand exactly when and how the event is raised.

on*notification
.

OnAfterNotificationSent
: raised twice and subscribed once.
Explore your data model visually
Understanding the data model is crucial for efficient AL development. With approximately 1500 tables in Microsoft's base application alone, presenting the full data model in one diagram in not an option. Instead, Prism for AL lets you explore the data model gradually.

- Right-click the start table
- Immediate in- and outbound table relations are shown
- Navigate to objects and table relation definitions
- Expand diagram by exploring in- and outbound relations
Performance troubleshooting for Business Central is impossible without the use of Prism for AL. It’s the fastest way to search across extensions for usages of fields and keys. I could not do my job without Prism for AL.
Marije Brummel's blog
Everything I need for AL code analysis in one tool.
And it’s blazing fast.
SwissSalary
From within Prism for AL you can open the object in VSCode and the other way round! So I'm using Prism for AL as a base tool to explore and then do modification in VSCode.
Navitrans
Prism for AL is irreplaceable. Best solution analyzer since … I guess since Prism for C/AL.
Theta
Prism for AL has some unique features to discover your full AL stack which is not possible with VSCode.
Navitrans
Ready to sign up?
If you would like to know more before you decide, then please visit our extensive documentation or the subscription FAQ. Also, feel free to contact us with any questions or suggestions you may have.