What does @1140000 mean in Hotfix-Description

Tim_StruebelTim_Struebel Member Posts: 19
Hello,
an NAV developer trainee I try to modify an object.
I try to implement the hotfix (konwledge base id 978968).
The description says: Add the following new local variable: GLVATEntryLink@1140000 : Record 253.

What does @1140000 mean :?:

NAV DB-Version: Demo Database 2009SP1 AddOn.

Thanks!
Tim

Answers

  • DenSterDenSter Member Posts: 8,305
    That refers to the ID property of the variable. Put your cursor in the function, hit View Locals, and then you add the variable called "GLVATEntryLink". Open the properties page and there you will see the ID property.
  • kapamaroukapamarou Member Posts: 1,152
    I think the @1140000 is the id of the variable and it shows when you export an object in text format or if you select the variable and press properties.

    If you declare the variable as the record specified but with a different id it will work, but it may cause issues if you try to merge objects or use the Dev Toolkit. It may show up as a difference when you compare two versions.

    I am not aware of other issues or uses, maybe someone else has a clearer view on this.
  • Tim_StruebelTim_Struebel Member Posts: 19
    DenSter wrote:
    That refers to the ID property of the variable. Put your cursor in the function, hit View Locals, and then you add the variable called "GLVATEntryLink". Open the properties page and there you will see the ID property.

    If I open the properties, I see ID 1000000000 of the new record-variable GLVATEntryLink. Is it right that I change the ID in 1140000?
  • DenSterDenSter Member Posts: 8,305
    Personally I would change it, just to make sure, but it will work if you leave the current value. You can do either, it's not important from a functional standpoint. It's the ID of the object for whoever gave you the change log. It doesn't have to be any particular value, it's just an ID, but it might conflict somewhere down the road with another add-on if you don't change it.

    Either way, it's an easy thing to change if there is ever a conflict, the error message will tell you exactly what is wrong.
  • Tim_StruebelTim_Struebel Member Posts: 19
    kapamarou wrote:
    I think the @1140000 is the id of the variable and it shows when you export an object in text format or if you select the variable and press properties.
    I have laid out the local record variable. I have not changed the ID. The line GLVATEntryLink@1000000000 : Record 253 is in the exported txt file.
    I nevertheless find the ID @1140000 in the txt file in several places.

    Example:
    ... Header := Text1140000 ...

    ... CONTROLS {{ 1140000;TextBox ;0 ;423 ;3750 ;423 ;SourceExpr=HeaderText; DataSetFieldName=HeaderText }} ...

    ... { 1140000;CheckBox ;3410 ;4950 ;440 ;440 ;ShowCaption=No; CaptionML=[DEU=Betr„ge in Berichtsw„hrung ausgeben; ENU=Show Amounts in Add. Reporting Currency]; ...

    ... { 1140000;2;Field;CaptionML=[DEU=Betr„ge in Berichtsw„hrung ausgeben; ENU=Show Amounts in Add. Reporting Currency]; ...

    ...{
    VAR
    Text1140000@1140000 : TextConst 'DEU=MwSt.-Posten vor und innerhalb der Periode;ENU=VAT entries before and within the period';...

    ... PROCEDURE ConditionalAdd@1140000(AmountToAdd@1140000 : Decimal;AddCurrAmountToAdd@1140001 : Decimal) : Decimal; ...
    ... PROCEDURE ExchangeAmtLCYtoFCY@1140001(Amount@1140000 : Decimal) : Decimal; ...

    I do not understand the reason why Microsoft provides the ID of the local Record variable with @1140000.
    Where is the meaning?
  • DenSterDenSter Member Posts: 8,305
    That's just the way the system works. When you add anything, a table, a field, a variable, a control, anything, the system will assign an ID to it. When you export the object as a tect file, it shows up as '@<ID number>'. The meaning is that somewhere inside the exe's, those tables, fields, variables and controls are refered to by their ID property. For the system to work properly, those ID's need to be unique, and you will get a compilation error when they are not.

    Depending on the license that you work with, the system will start with a certain number. a standard partner license is designed to start ID's with number 1000000000 so that's why your own number has that value. The number 1140000 was probably inserted by the German Microsoft localization development team.

    The best way to merge things into a NAV database is by using a text compare tool. That way you can insert those things including their ID's.
  • Tim_StruebelTim_Struebel Member Posts: 19
    Many thanks for your help and explanations.

    In my opinion it also should be changed since Microsoft gives the specification. I will explain the specification.
Sign In or Register to comment.