Read NAV code at a glance. Find everywhere it is used.
Prism for C/AL opens your Microsoft Dynamics NAV solution from exported text objects or from a mirror of your server, and shows it as structured, linked code you can search. You browse and analyse in Prism, and edit in C/SIDE.
All of an object, on one screen
C/SIDE opens a table's fields, a field's properties and its code each in a window of its own. Prism shows the object whole, every field with its properties and triggers in line, and every reference in the code links to its declaration, with a tooltip that says what it is.
Where used, down to where a field is assigned
Find usages of any object, procedure, field, key or variable across the whole solution. For a field, narrow them to where it is assigned a value, whether by :=, VALIDATE, EVALUATE, MODIFYALL or a VAR parameter.
Every write to a table, not counting temporary records
Tick the system functions to look for, such as INSERT, MODIFY and MODIFYALL, and Prism finds every call to them on the table across the solution. Then zoom in on physical usages: Prism knows which records are declared temporary, so the calls that never reach the database drop out.
Prism on your own code, free for 14 days
Rich code browsing experience
Structure, colours, tooltips and links speed up code reading: all of an object at once, everything linked, with context menus and rich tooltips on every identifier.

Universal Search New
One Ctrl+T box for objects, fields, procedures, pages and commands, with filters and a preview
MCP server for AI agents New
Give coding agents Prism's symbols, references and dependencies as tools they can call
Solution overview
Solution dashboard, mirrors of your servers, the object index, dependencies and reports
Semantic search
Find usages, find system function usages, event search, and the data model explored visually
Universal Search
Open Universal Search with Search Everywhere (Ctrl+T) and type. One box finds objects, fields, procedures, triggers, keys and variables, the workspace's pages, its menu commands and the places you have just been.
Universal Search
One box for the whole solution
Type part of a name and the best matches come first, word starts and capitals ahead of the rest. Or type what you already know:
- An id, a range or alternatives:
18,50000..59999,18|21,Sales*. - A type and a name or an id:
cu 80,t18,form 21. - An object as code names it:
CODEUNIT::"Sales-Post", or a web client address with?page=22.
The preview shows the first lines of the selected object or member, coloured as in the object view. Enter opens it; Tab lists what else you can do with it, such as Find Usages or Copy Prism Path.

Filters
Narrow it down with filter tokens
A filter token turns into a pill as you type a space after it, and pills combine.
Type ? in the box to list them all.
k:table,k:field,k:procedure: kinds of object and member.is:publisher,is:subscriber,is:obsolete,is:singleton,is:noprint: roles and flags.v:NAVW1*: objects whose Version List has a matching tag.of:50000..59999: the members of one object or an id range.subtype:,pagetype:,in:view: codeunits by SubType, pages by PageType, the objects the object index shows.
Start with > for menu commands, @ for the open object's members,
:120 for a line of it, or prism: for a Prism Path.
Ctrl+Enter pins the search into a window of its own that stays open and
copies its results.

By name
Fields, procedures and events by name
Search › Fields by Name…, Procedures by Name… and Event Publishers… open the search pinned into a window and set to that kind, so you can locate code of interest directly by its name.


Code lines
Find a line of code, or where an error message comes from
Search › Code lines… (Ctrl+Shift+F) searches every line
of code with * and ? wildcards: in the open object, in the objects the
object index shows, or in all of them. Results come in while it searches, a chip per object type
hides the types you do not want, and the preview shows each match in its code.
A user reports an error message? Search › Text Constants by Content… finds the text constant it comes from, and Find Usages finds where it is raised.


An MCP server for AI coding agents
An AI coding agent reads C/AL one text file at a time. Connected to Prism over MCP, it asks the solution Prism has already parsed: where a symbol is declared, every reference to it, what a procedure calls, and what an object depends on.
Tools
What an agent can ask
find_symbols: objects and members by regular expression, kind, id range and Version List.find_references: every reference to a declaration, grouped by object, declaration and line. For an event publisher, its subscribers.find_callees: the procedures, triggers and system functions a procedure or trigger calls.find_object_dependenciesandfind_dependency_paths: what an object uses, what uses it, and how two objects are connected.get_source_codeandcheck_object_source: the source of an object or a single declaration, and a parse check of changed source.
Every answer names its declarations by Prism Path, such as
prism:table/Customer/field/City/trigger/OnValidate. Paste one into the search box to
go there in Prism and check what the agent found.

Connect
Connect your agent in a few minutes
Connect over HTTP. Press Start on the MCP Server page of a workspace window, and the agent's tool calls answer from the object store already open in Prism.
Start over stdio. The agent launches Prism's command-line tool itself. It works with Prism closed, and builds its own index of the object store on each launch.
The MCP client config card writes the entry for Visual Studio Code with GitHub Copilot, for Claude Code, or for any other MCP client, ready to copy.

Solution overview
Open solution
Flexible options for opening a solution
Once you have installed Prism for C/AL, all you need to browse and analyse a solution is text objects. Prism offers a wide range of options for opening a solution:
- Open file: opens a single
.txtfile exported with C/SIDE. - Open mirror: opens a mirror Prism keeps of the objects of a NAV database.
- Open folder: opens any folder of NAV objects exported as text, subfolders included, such as a version control workspace.
- Open Prism folder: opens a folder of NAV text objects in Prism's own layout. File › Open also reads the ReVision layout.




Mirrors
Mirror your solutions to save time
Configure Prism mirrors for your NAV databases, so you are ready to analyse your code at any time.
- Prism exports the objects through C/SIDE's
finsql.exeand keeps the mirror in sync in the background. - Pick the service tier from the ones registered in the database (NAV 2013 R2 CU10 and later).
- Test the database and service-tier connection before you save.
- Restrict the mirror to the object ids your licence can export, and leave out objects by Version List tag.
- Export your mirror definitions to a file, and import them on another machine.
- Navigate to the object in C/SIDE.

Objects
Find objects and their dependencies
Quickly locate objects with flexible object filtering: by name, number, number range, object type, granule, or properties such as obsolete objects and test codeunits. A status line says how many objects the filter shows, and what hides the rest.
Press Ctrl+Shift+E and the object index fills the window, with each object's Version List, date, source table, Modified flag and caption in columns you choose.
The Dependencies tab shows which objects use the current object, or which it uses, with a chip per kind of dependency, such as source table, table relation or event subscriber. Right-click an object to see exactly where.



Solution dashboard
Open a workspace and the Solution page sums it up: objects, types, granules, Version List tags and parse errors, then cards for health, custom against stock, granule and id ranges, translation coverage, the largest custom objects, and what changed recently, by object date or Git commit. Click a count to list its objects; hide the cards you do not need. Solution page

Reports
Save the object dependencies, the objects nothing references, and the duplicate ids that break a merge, each as a file for a spreadsheet. Reports page

Interop References (experimental)
Every DotNet, Automation and OCX type the solution uses, how often, its risk for a move to Business Central online, and the AL replacement where one is known. Interop References

Dark or light, as Windows is
Prism follows the Windows dark or light theme, with Fluent windows, a rail of pages in every workspace window, and a colour-coded icon for each object type.

Rich code browsing experience
Object view
View it all, at a glance
Structure, colours, tooltips and links speed up code reading. Prism shows all the code—immediately. No need to open multiple windows to view field triggers or table relation details. Everything is linked, so you can navigate back and forth. Declaration identifiers have context menus (e.g. "Find usages") and identifiers that reference a declaration have rich tooltips and are linked to the declaration.
Right-click the object's heading for everything you can do with the object. The Source tab opens on the code you were reading.


Object outline
Find your way in the current object
Outlines the current object for overview and navigation purposes. Use wildcard filter to restrict to what you are looking for.
- Outlines current object contents.
- Filter by name or number (supports wild-cards, number ranges and
|.) - Choose which kinds of node to show, from the object's own, with a count for each, or a preset such as Data model, Code or Events.
- Show global or local procedures only.
- FlowFields and FlowFilters are marked with icons.
- Click to navigate.

60..80|amountC/SIDE integration
Browse and analyse in Prism, edit in C/SIDE
Open objects in C/SIDE directly from Prism for C/AL for any objects in a mirror store. This enables a view-in-Prism-edit-in-C/SIDE way of working.
- Available for mirror stores.
- (Optional) In Prism, copy a line of code.
- In Prism, click Design Object.
- (Optional) In C/SIDE, search for the line of code.
- In C/SIDE, edit and save the object.
- In Prism, reload the store to reflect changes.

Semantic search
Find usages
Find usages to gain detailed insight
Find usages of declarations (objects, procedures, fields, keys, variables etc)
across your whole solution, including fields named in properties such as
RunPageLink, SourceTableView and a report's DataItemLink.
Save time with filters: Find out where a field is assigned a value.


System function usages
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. Prism counts a record as temporary when it is declared so, and on
pages, forms, reports and XMLports with SourceTableTemporary or
UseTemporary.



Event search
Find events fit for your purpose
Good practice when developing for NAV 2016+ is to subscribe to existing
business and integration events instead of changing code directly in the base application.
Use Search › Event Publishers…, or is:publisher in the search box, to find
events, and use Find usages to make sure you understand exactly when and how the event is
raised. Find usages of a subscriber lists its publisher too, and for a validate event, the field.

*general*.

OnGeneralJournalBatchBalanced: raised once and subscribed once.
Table relations
Explore your data model visually
Understanding the data model is crucial for efficient C/AL development. With approximately 1200 tables in Microsoft's base application alone, presenting the full data model in one diagram is not an option. Instead, Prism for C/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
- Choose the layout, and save the graph as a PNG

Try Prism for C/AL on your own code
Download it and request a trial license from the app. The trial runs for 14 days.
Book a live demo
We take you through Prism for C/AL and answer your questions. Suggest a couple of times—we are pretty flexible.
6 usages of Prism for C/AL
Manuel S.Software Developer This tool is incredibly valuable and time-saving for my daily work. It is easy to use and provides all necessary information you need for efficiently developing in the NAV environment.
Džoka MitrovSwissSalary I love the speed and the usability of Prism. It comes in very handy when doing code cleanups, refactorings or just a quick code analysis.
Steven RendersMVP, think about IT Prism for C/AL quickly loads objects and immediately gives you an overview of all objects, properties and code. Find Usages then gives you a high level and a detailed view on where variables, fields or functions are used or referenced. And did I mention it's amazingly fast…
Mike GlueDevelopment Manager R&D, IndustryBuilt Software This tool is absolutely amazing and it is saving us a load of development hours with the project we have going on right now!
Steven RendersMVP, think about IT Prism for C/AL is a real gem! It's one of those tools you can't do without if you are serious about development and upgrading databases in Dynamics NAV.
Eric “Waldo” WautersMVP, Waldo's blog THE most requested feature in the world of Microsoft Dynamics NAV development is the "where used". Statical Prism doesn't only fulfill this in the most broad sense, it does that in the most user friendly way thinkable.
Pricing
Per named user per month, billed yearly. The size of your team sets the price for every user on the subscription.
Prices in DKK, EUR and USD- €37 1–4 users
- €32 5–19 users
- €27 20+ users
Ready to sign up?
If you would like to know more before you decide, then please visit our extensive Prism for C/AL documentation or the subscription FAQ. Also, feel free to email us at sales@stati-cal.com with any questions or suggestions you may have.
