We are in the process of upgrading to NAV 2009 Executables only (so we can take advantage of External Connector without actually going through a big code upgrade). Our current code base is 5.0 and our current executables are 5.0 SPI.
In our testing we realized that form 408 "G/L Balance by Dimension" no longer displays any records. The problem lies in the DimCodeToOption function. It turns out that Case statements involving Code variables to Text variables has changed a little. The following example in 5.0 exits with 1.
CodeVariable := 'G/L ACCOUNT';
CASE CodeVariable OF
'G/L Account' : EXIT(1);
END;
The same example exits with 0 in NAV 2009 which is why the form no longer works. The solution to this is to either change the CodeVariable to a text variable (which is what was done if we had upgrade code as well as Executables) or wrap an Uppercase statement around the Case items liek this:
CodeVariable := 'G/L ACCOUNT';
CASE CodeVariable OF
Uppercase('G/L Account') : EXIT(1);
END;
My conclusion is that case statements involving Code to Text used to be case insensitive but starting in NAV 2009 it is now case sensitive. Has anyone seen any other objects where we might run into this same problem?
0
Comments
It exists with zero.
As far as text and code comparison. That would be rare and in this case is a bug that was fixed in 2009.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Oh sorry. The external connector was introduced in 2009. I don't know if it applies to previous version. I'm guessing if you do an exe upgrade to 2009, it would apply, but am not sure. You'll need to talk with Microsoft directly.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n