I deliver a lot of training and over the years, I have noticed something consistent: junior developers do not struggle most with AL syntax. They struggle with understanding the data model of Business Central.

Where does the data come from?
How does Sales Header connect to Sales Line?
What is the real relation between Item Ledger Entry and Value Entry?

They open one file, then another. They trace a TableRelation property, lose track, and start again.

I did the same when I started. Over time, you build a mental map. It works. Eventually.

But in training, time is exactly what you do not have.

That experience pushed me to build AL Table Visualizer.

You can find it here:
AL Table Visualizer – Visual Studio Marketplace


What Is AL Table Visualizer?

AL Table Visualizer is a Visual Studio Code extension that reads:

  • Your local .al source files

  • Compiled .app symbol packages

It extracts all TableRelation definitions and turns them into an interactive ER diagram.

Not a static image. A live diagram that updates whenever you save your files.

Each table is visualized as a box containing:

  • Fields

  • Data types

Relations are drawn using crow’s foot notation.

Because the extension also reads .app symbol packages, standard Business Central base application tables are included as well. Relations to Customer, Vendor, G/L Entry, and others are shown correctly.

Symbol packages are cached locally after the first scan, so subsequent loads are fast.



Exploring the Diagram

You can interact with the model instead of just looking at it.

  • Double-click a table to focus on it and its neighbours.

  • Use the depth slider to control how many hops to show (up to ten levels).

  • Filter by name to narrow down the diagram.

  • Select a namespace to focus on a specific domain.

There is also a direction toggle:

  • Outgoing relations

  • Incoming relations

  • Or both

Back and forward buttons allow you to navigate through your focus history within a session.

When the diagram becomes large, the extension keeps the closest tables and trims the rest. A notification shows how many were removed and how to increase the limit if necessary.



The Related Tables Panel

Next to the diagram, you will find the Related Tables panel.

Open it via:

  • The 🔗 Related button

  • The Find Related Tables command

This panel lists all reachable tables from your current focus and includes:

  • Hop distance

  • Relation count

  • Indicator for direct relations

You can switch between:

  • By Table view

  • By Relation view (showing every field pair)

Both views support sorting and filtering. Large result sets are paginated in groups of 100.

Click a table in the list and:

  • The diagram focuses on it

  • The source file opens automatically



Jump to Source

Right-click any node in the diagram to jump directly to the AL declaration.

This works for:

  • Local .al files

  • Tables coming from .app symbol packages

Even if a relation points to a base application table, you can navigate to it immediately.


Export Options

The diagram can be exported as:

  • PNG

  • SVG

  • Mermaid

The Mermaid export is useful when embedding diagrams in technical documentation.

The Related Tables list can be exported as CSV.


Where This Helps

In training sessions, I now start by opening the diagram and saying:

“This is the data model we are working with today.”

Instead of explaining relationships verbally or sketching them on a whiteboard, we look at the real structure together.

That changes the conversation.

Questions become more precise.
Discussions become more concrete.
Understanding comes faster.

But this is not limited to training.

When you enter an unfamiliar project — or return to one after months — the diagram immediately gives you orientation. Instead of discovering structure by reading files one by one, you see it.


One Important Limitation

The diagram is built entirely on TableRelation properties.

That is the formal way Business Central defines table relations, and the extension reads them accurately.

However, experienced developers know that many relations in Business Central are never formally declared.

They exist:

  • In code

  • In business logic

  • In patterns we recognize from experience

The connection between a journal line and a ledger entry.
The link between a posted document and its source.
Real relationships that are implied rather than declared.

The current version visualizes what is defined, not what is inferred.

I am actively exploring ways to identify and visualize those implicit relations as well. That is a significantly more complex problem — but it is the next step I want to take.


Getting Started

To use AL Table Visualizer, you need:

  • Visual Studio Code 1.85 or higher

  • An AL workspace containing .al files

For full base application coverage, place compiled .app symbol packages anywhere in the workspace.

AL Table Visualizer – Visual Studio Marketplace

The project is also available on GitHub:
https://github.com/srenders/al-table-viz

This is the first public version. The core functionality is in place:

  • Parsing

  • Graph exploration

  • Base app support

  • Export capabilities

There is more to come.

If you try it, I would genuinely appreciate your feedback.
What works well?
What is missing?
What would make this more useful in your daily work?

 


Discover more from think about IT

Subscribe to get the latest posts sent to your email.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation