Blog Post List
  • NAV2013 Beta to RTM - Some Striking Code Changes #6: Redundant BEGIN ... END

    Read with me what the Microsoft Dynamics NAV 2009 Developer and IT Pro Documentation phrases on BEGIN/END, i.e. compound, statement: In some cases, the C/AL syntax only allows you to use a single statement. If however you have to execute more than one simple statement, the statements can be written as a compound statement by enclosing the statements between the BEGIN and END keywords. Typically these cases can be: C/AL Conditional Statements (IF/ELSE and CASE) C/AL Repetitive Statements…
    • 2012-10-26
  • NAV2013 Beta to RTM - Some Striking Code Changes #5: Calling Functions wo Parameters

    In my previous post in this series I addressed the first sync with coding standards, i.e. removal of redundant record references. This post is about a small one, but nevertheless a sync with coding standards. Have a look at COD400 (see screen shot). It's as simple as that. As the coding standards prescribe: Do not use parentheses in a function call if the function does not have any parameters. Click on the image to get a full view that's readable.
    • 2012-10-26
  • On NAV 2013 Licenses - Part 2 | Add-on Ranges

    So in my chat with MS operations on insert rights for our add-on on NAV 2103 it became clear why we didn't have these insert rights (yet) in our newly configured NAV 2013 development/demo license. Gary Winter's comment however argues this and I truly hope he's right, because using the workaround Arend-Jan Kauffmann, switching between NAV 2009 and NAV 2013 licenses, isn't the most practical thing to do. Meanwhile I have been digesting a lot of information on NAV 2013 licensing related to add…
    • 2012-10-18
  • NAV2013 Beta to RTM - Some Striking Code Changes #4: Redundant Record References

    In C/AL we address fields and methods of record variables using the syntax <Record>.<Field> and <Record>.<Method> . To make coding somewhat simpler and the resulting code leaner, with the goal of being easier to read, C/SIDE - uhh NAV DE now we're on NAV 2013 - has a couple of ways to make implicit references to the record variable. using the WITH statement; as the C/SIDE Reference Guide puts it: If you work continuously with the same record, you can use WITH statements. When you use…
    • 2012-10-18
  • NAV2013 Beta to RTM - Some Striking Code Changes #3: Unused Variables

    Click on the image to get a full view that's readable. After more than 10 years working with NAV it's a bit hard to tell what I like about NAV so much, as this might be polluted by the sheer fact that I am too intertwined with it that I do not know any better. But still, I think (!) I am quite sure that one of these things is (part of) the structure of CSIDE. (Or now with NAV 2013 should I say DE ?) A structure where fields, code, variables are separated "by" different windows. At the same…
    • 2012-10-18
  • Why is MS asking me to help improve PartnerSource/CustomerSource? - Part 4 of <undefined>

    No nagging today, but only cheerfulness as I finally did get through one of those Partner/CustomerSource surveys. Proof, proof, proof! And sure, I took this chance to once more tell elegantly what s.cks the most about PartnerSource, IMHO. But I fear it will be in vain thinking of the first time I did nag here about PartnerSource and the example I used then still hasn't changed.
    • 2012-10-16
  • NAV2013 Beta to RTM - Some Striking Code Changes #2: FIND

    Going from NAV 2009 R2 to Beta we can observe that quite some FIND ('-') and FIND('+') had been replaced by FINDFIRST and FINDLAST and from Beta to RTM almost the same number of replacements. Some additonal math shows us that almost half of all FIND('-')/FIND('+') has been replaced by FINDFIRST/FINDLAST (more exactly 44%). Note that the relative occurences of most other variations of FIND() did not change (see the next graph). Notes Before creating the data form and dataport objects…
    • 2012-10-12
  • NAV2013 Beta to RTM - Some Striking Code Changes #1: Objects Statistics

    You might recall that for NAV 2013 Beta I noted down the objects statistics here . So here is a small update moving from Beta (object date May 9, 2012) to RTM (object date September 7, 2012). In the 4 months between Beta and RTM the NAV team clearly hasn't been leaning back with respect to NAV 2013. Objects NAV 2013 Beta -> RTM Changed 1960 Removed 13 Inserted 10 So quite a substantial…
    • 2012-10-12

    Another version of my multiple choice question I posed here . Given: Codeunit 50000: OnRun() Cust.INIT; Cust.INSERT; Cust.INSERT; // This duplicate statement has been put here intentionally Codeunit 50001: OnRun() IF CODEUNIT.RUN(50000) THEN MESSAGE('OK') ELSE MESSAGE('LASTERRORTEXT: %1', GETLASTERRORTEXT); Which error/message will occur when codeunit 50001 is being executed? 'OK' 'LASTERRORTEXT: The Customer already exists. Identification fields and values: No.=''' 'The…
    • 2012-10-12
  • MS Changelog and Code Markers #2

    For those who are already are roaming around in AL code of local versions of NAV 2013 my blog post MS Changelog and Code Markers can be somewhat usefully. Why? Well you might have noticed that in each localized object of NAV 2013 the documentation trigger is populated with an xml changelog. And that various change markers are to be found in-code locating code for local purposed and even outcommenting standard w1 code. In previous versions of NAV we would only stumble over this in the documentation…
    • 2012-10-11
  • On NAV 2013 Licenses - Part 1 | Add-on Ranges

    Just wanted to take you with me on my journey to clarify the unknowns around the new licenses. Hope you don't mind me chatting with a MS operations professional . OP: Good morning, Luc Me: Good morning, Operations Professional . OP: How can I help you? Me: I just created a new NAV 2013 license, but license file and permission reports do not show details on the modules that are in the license. This was always shown in former licenses and reports. How come? OP: Let me have a look to…
    • 2012-10-3