C/AL
-
HelloWorld.al
Finally. Not quite, but still – finally! We finally get the first public glimpse of future of AL code writing, courtesy of Microsoft Dynamics NAV development…
-
C/AL internals: Some more invalid object states
If you have followed the posts about how C/AL really executes in NAV, you know that C# and C/AL can sometimes be in a state where C/AL compiles, but C# does…
-
From C/AL to executable: how NAV runs your C/AL code
A lot of folks write C/AL and never worry about what happens then. C/AL is written, NAV execute is, the story ends. The same way the story ends when you flush…
-
Gentlemen’s agreement pattern, or handling the “Handled” pattern
I’ve delved deep into design patterns story with my last two blog posts, but I am far from over. The patterns I discussed are the ones we could use up until…
-
Decoupling dependencies in C/AL
Directions US 2016 (yes, 2016, sorry y’all who got the 2017 link in your mailbox) was quite an event. As Directions always is, a lot of people, enthusiastic…
-
Dynamically loading assemblies at runtime
When you spend more time in C# than C/AL, and you still tell yourself and the world around you that you are developing for NAV, then this post is for you. I…
-
Getting out of the DateTime mess, or how to get Utc DateTime in C/AL
Today at work I was trying to untangle one big bowl of spaghetti called DateTime. It’s the C/AL DateTime I am talking about, not System.DateTime from .NET. The…
-
What’s New in NAV 2016: Splitting Atoms with TryFunction
If this was a joke, then it would be one of those good-news-bad-news jokes. So which one do you want first? To stay true to all jokes of this kind, I’ll start…
-
Server Extensibility Demos
Yesterday, as a part of Microsoft’s Road To Repeatability program, I delivered a live meeting session about server extensibility in NAV in which I focused on…
-
How To Update a Class Or Assembly Reference in C/AL And Retain Event Trigger Code
When you reference a .NET class that exposes events, and you switch on the WithEvents property, C/SIDE creates the event triggers for you. If you later want to…