nav2009-developmentlisted
Install: claude install-skill whobat/AI-Agent-skills
# NAV 2009 Development
Expert guidance for **Microsoft Dynamics NAV 2009** (incl. SP1/R2): C/AL, C/SIDE, the 2-tier
Classic client and the 3-tier RoleTailored Client (RTC). This skill is knowledge-only; detailed
pattern tables live in [REFERENCE.md](REFERENCE.md) — consult it before writing or reviewing
non-trivial C/AL.
For **performance problems** (slowness, locking, deadlocks): the C/AL-side rules are below, but
measure the SQL side with the **nav2009-sql-performance** skill — its script collects the DMV
evidence and its REFERENCE maps SQL findings back to C/AL causes. Use both for a complete picture.
## Platform facts (don't guess against these)
- NAV 2009 is **pre-AL, pre-events**: no extensions, no event subscribers, no try-functions, no
`SETAUTOCALCFIELDS`, no queries, no .NET interop in classic C/AL (DotNet variables arrive in 2009 R2
RTC service tier only). Customization = direct object modification in C/SIDE.
- Two UIs coexist: **Classic** (Forms, Dataports, classic report sections) and **RTC** (Pages,
XMLports, RDLC report layouts). Code may run on the Classic client, the RTC service tier, or NAS —
guard UI calls with `GUIALLOWED` and don't use client-side file dialogs in server-side code.
- Object/field customization ranges: **50000–99999** (licensed range). Standard objects are modified
in place — every change must carry a version tag in the object's `Version List` and inline markers.
- SQL Server backend: table keys → SQL indexes (`MaintainSQLIndex