Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics NAV (Archived)

Error code 85132273 during upgrade from 2009 to 2013R2

Posted on by 450

I'm following the upgrade document (msdn.microsoft.com/.../dn271668(v=nav.71).aspx) and has come to the part where I need to compile the system tables in the 2013R2-database after the database-conversions. I did use the latest builds (2013 build 36605) and (2013 R2 build 36703)

All but four tables is accepted, but the 'Page Data Personalization', 'User', 'User Property' and 'Device'-tables all give "Error code: 85132273" when i try to save their design.

When I look in the database the 'User' table is missing the 'Authentication Email' field, and the 'User Property'-table is missing the add 'Authentication Object ID' field...

I have searched for hours but neither the error code or is hex-counterpart '51303F1' is nowhere to be found (and if '85132273 ' was hex that would give 2232623731 as decimal which is nowhere relevant to be found either)

I have enabled Debugging on the NST, but there are no errors in the EventLog either.

Is anyone in position to help me.

kind regards

*This post is locked for comments

  • Duizy Profile Picture
    Duizy 45 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    OBJECT Report 59003 Create Table Definition File
    {
      OBJECT-PROPERTIES
      {
      }
      PROPERTIES
      {
        CaptionML=ENU=Create Table Definition File;
        ProcessingOnly=Yes;
        OnPostReport=VAR
                       NAVObjectFile@1014 : File;
                       TextLine@1001 : Text;
                       TempTextLine@1009 : Text;
                       OutputTextLine@1008 : Text;
                       TableObjectFound@1004 : Boolean;
                       PropertiesTagFound@1003 : Boolean;
                       ObjectPropertiesTagFound@1113900000 : Boolean;
                       FieldsTagFound@1005 : Boolean;
                       KeyTagFound@1013 : Boolean;
                       OptionFieldFound@1000 : Boolean;
                       FieldType@1010 : Text[30];
                       FieldProperty@1011 : Text[30];
                       Counter@1006 : Integer;
                       FieldTagCounter@1007 : Integer;
                       FieldTagDelimiterPosition@1002 : Integer;
                       FieldPropertyDelimiterPosition@1012 : Integer;
                     BEGIN
                       IF NAVObjectFileName <> '' THEN BEGIN
                         IF NOT FileManagement.ServerFileExists(NAVObjectFileName) THEN
                           ERROR(Text004,NAVObjectFileName);

                         NAVObjectFile.TEXTMODE := TRUE;
                         NAVObjectFile.OPEN(NAVObjectFileName);

                         OutputFile.WRITEMODE := TRUE;
                         OutputFile.TEXTMODE := TRUE;

                         IF LOWERCASE(COPYSTR(NAVObjectFileName,STRLEN(NAVObjectFileName))) = '.txt' THEN
                           NAVObjectFileName := COPYSTR(NAVObjectFileName,1, STRLEN(NAVObjectFileName) - 4);
                         OutputFile.CREATE(NAVObjectFileName + 'TableDefinitionOnly.txt');

                         //MergeDialogMgt.OpenDialog(Text001,0);
                         WHILE NAVObjectFile.POS <> NAVObjectFile.LEN DO BEGIN
                           NAVObjectFile.READ(TextLine);

                           IF COPYSTR(TextLine,1,6) = 'OBJECT' THEN BEGIN
                             EndObject;
                             TableObjectFound := COPYSTR(TextLine,1,12) = 'OBJECT Table';
                             IF TableObjectFound THEN BEGIN
                               //MergeDialogMgt.UpdateDialog(1,TextLine);
                               OutputFile.WRITE(TextLine);
                               OutputFile.WRITE('{');
                             END;
                           END;

                           IF TableObjectFound THEN BEGIN
                             IF NOT ObjectPropertiesTagFound AND NOT DeleteObjectProperties THEN
                               ObjectPropertiesTagFound := COPYSTR(TextLine,1,19) = '  OBJECT-PROPERTIES';
                             IF ObjectPropertiesTagFound THEN BEGIN
                               OutputFile.WRITE(TextLine);
                               IF COPYSTR(TextLine,1,3) = '  }' THEN
                                 ObjectPropertiesTagFound := FALSE;
                             END;

                             IF NOT PropertiesTagFound THEN
                               PropertiesTagFound := COPYSTR(TextLine,1,12) = '  PROPERTIES'
                             ELSE
                               IF COPYSTR(TextLine,1,18) = '    DataPerCompany' THEN BEGIN
                                 OutputFile.WRITE('  PROPERTIES');
                                 OutputFile.WRITE('  {');

                                 OutputFile.WRITE(TextLine);
                                 OutputFile.WRITE('  }');
                               END ELSE
                                 PropertiesTagFound := COPYSTR(TextLine,1,18) <> '  }';

                             IF NOT KeyTagFound THEN BEGIN
                               KeyTagFound := COPYSTR(TextLine,1,6) = '  KEYS';
                               IF KeyTagFound THEN
                                 OutputFile.WRITE(TextLine);
                             END ELSE
                               IF COPYSTR(TextLine,1,5) = '  }' THEN BEGIN
                                 OutputFile.WRITE(TextLine);
                                 KeyTagFound := FALSE
                               END ELSE
                                 OutputFile.WRITE(TextLine);

                             IF NOT FieldsTagFound THEN BEGIN
                               FieldsTagFound := COPYSTR(TextLine,1,8) = '  FIELDS';
                               IF FieldsTagFound THEN BEGIN
                                 OutputFile.WRITE(TextLine);
                                 OutputFile.WRITE('  {');
                               END;
                             END;

                             IF FieldsTagFound THEN
                               CASE TRUE OF
                                 COPYSTR(TextLine,1,5) = '    {':
                                   BEGIN
                                     TempTextLine := TextLine;
                                     OutputTextLine := '';
                                     OptionFieldFound := FALSE;
                                     FieldType := '';
                                     FieldProperty := '';
                                     FieldPropertyDelimiterPosition := 0;
                                     FOR FieldTagCounter := 1 TO 5  DO BEGIN
                                       // { FieldNo;Enabled;FieldName;DataType
                                       // OptionString
                                       // FieldClass
                                       // { 6   ;   ;Bill of Materials   ;Boolean       ;FieldClass=FlowField;
                                       FieldTagDelimiterPosition := STRPOS(TempTextLine,';');
                                       CASE FieldTagCounter OF
                                         1: OutputTextLine := OutputTextLine + COPYSTR(TempTextLine,1,FieldTagDelimiterPosition); // Field No
                                         2: OutputTextLine := OutputTextLine + COPYSTR(TempTextLine,1,FieldTagDelimiterPosition); // Enabled
                                         3: OutputTextLine := OutputTextLine + COPYSTR(TempTextLine,1,FieldTagDelimiterPosition); // Field Name
                                         4: // Data Type
                                           IF FieldTagDelimiterPosition > 0 THEN BEGIN
                                             FieldType := COPYSTR(TempTextLine,1,FieldTagDelimiterPosition - 1);
                                             FieldType := DELCHR(FieldType,'>',' ');
                                             OutputTextLine := OutputTextLine + COPYSTR(TempTextLine,1,FieldTagDelimiterPosition);
                                           END ELSE
                                             OutputTextLine := TextLine;
                                         5: // Field Property
                                           BEGIN
                                             FieldPropertyDelimiterPosition := STRPOS(TempTextLine,'=');
                                             IF FieldPropertyDelimiterPosition > 0 THEN BEGIN
                                               FieldProperty := COPYSTR(TempTextLine,1,FieldPropertyDelimiterPosition - 1);
                                               IF IsExtraFieldProperty(FieldProperty) THEN
                                                 OutputTextLine := TextLine;
                                             END;
                                           END;
                                       END;
                                       TempTextLine := COPYSTR(TempTextLine,FieldTagDelimiterPosition + 1);
                                     END;
                                     WriteLine(OutputTextLine,FALSE);
                                   END;
                                 COPYSTR(TextLine,1,3) = '  }':
                                   BEGIN
                                     FieldsTagFound := FALSE;
                                     OutputFile.WRITE(TextLine);
                                   END;
                                 ELSE BEGIN
                                   TempTextLine := COPYSTR(TextLine,52); // Start Field Property
                                   FieldPropertyDelimiterPosition := STRPOS(TempTextLine,'=');
                                   IF FieldPropertyDelimiterPosition > 0 THEN BEGIN
                                     IF STRLEN(COPYSTR(TempTextLine,1,FieldPropertyDelimiterPosition - 1)) <= MAXSTRLEN(FieldProperty) THEN BEGIN
                                       FieldProperty := COPYSTR(TempTextLine,1,FieldPropertyDelimiterPosition - 1);
                                       IF IsExtraFieldProperty(FieldProperty) THEN BEGIN
                                         OutputTextLine := TextLine;
                                         WriteLine(OutputTextLine,TRUE);
                                       END;
                                     END;
                                   END;
                                 END;
                               END;
                           END;
                         END;
                         IF TableObjectFound THEN
                           EndObject;
                         //MergeDialogMgt.CloseDialog;
                         OutputFile.CLOSE;
                         NAVObjectFile.CLOSE;
                       END;
                     END;

      }
      DATASET
      {
      }
      REQUESTPAGE
      {
        PROPERTIES
        {
        }
        CONTROLS
        {
          { 1   ;    ;Container ;
                      ContainerType=ContentArea }

          { 2   ;1   ;Group     ;
                      GroupType=Group }

          { 3   ;2   ;Field     ;
                      CaptionML=ENU=NAV-Object Filename;
                      SourceExpr=NAVObjectFileName;
                      OnAssistEdit=VAR
                                     FileManagement@1000 : Codeunit 419;
                                   BEGIN
                                     NAVObjectFileName := FileManagement.OpenFileDialog('',NAVObjectFileName,'');
                                   END;
                                    }

          { 4   ;2   ;Field     ;
                      CaptionML=ENU=Delete Object Properties;
                      SourceExpr=DeleteObjectProperties }

        }
      }
      LABELS
      {
      }
      CODE
      {
        VAR
          Text001@1003 : TextConst 'ENU=Creating Table Definition File...\\#1##########';
          Text002@1002 : TextConst 'ENU=Text Files (*.txt)|*.txt|All Files (*.*)|*.*';
          FileManagement@1000000001 : Codeunit 419;
          OutputFile@1006 : File;
          NAVObjectFileName@1001 : Text[1024];
          DeleteObjectProperties@1004 : Boolean;
          Text004@1000000000 : TextConst 'ENU=Object File %1 does not exist.';

        LOCAL PROCEDURE WriteLine@1(OutputTextLine@1002 : Text[1024];AddExtraProprty@1001 : Boolean);
        BEGIN
          // Remove ; or } at the end
          OutputTextLine := DELCHR(OutputTextLine,'>',';}');
          OutputTextLine := OutputTextLine + '}';
          IF AddExtraProprty THEN BEGIN
            OutputFile.SEEK(OutputFile.POS - 3);
            OutputFile.WRITE(';');
          END;
          OutputFile.WRITE(OutputTextLine);
        END;

        LOCAL PROCEDURE EndObject@2();
        BEGIN
          IF OutputFile.POS > 0 THEN
            OutputFile.WRITE('}'); // End previous table object
        END;

        LOCAL PROCEDURE IsExtraFieldProperty@3(FieldProperty@1000 : Text[30]) : Boolean;
        BEGIN
          EXIT(FieldProperty IN ['OptionString','FieldClass']);
        END;

        BEGIN
        END.
      }
      RDLDATA
      {
      }
    }

  • FredClever Profile Picture
    FredClever on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Hi.

    Is it possible to get the full source Code for making Table objects with no variables and source Code?  .txt or .fob?

  • Duizy Profile Picture
    Duizy 45 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Again this is code taken from the good-old renumbering tool from back in the days. With .NET and some RegEx wizardry it can be made a lot simpeler. I don't even know at the moment if in NAV2015 the File.READ statement still has the Text1024 issue. So much to do, so little time left...

    Codeunit "Merge File Read Management"


    OnRun()
    TextFile.TEXTMODE := TRUE;
    GoodPos := TextFile.POS;
    TextFile.READ(TextLine);
    IF STRLEN(TextLine) > MaxLineLength THEN
      ERROR(
        'The line has exceeded the maximum length of %1 characters.\\' +
        '%2',
        MaxLineLength,TextLine);

    Set(FileName : Text[1024];NewMaxLineLength : Integer)
    MaxLineLength := NewMaxLineLength;
    TextFile.OPEN(FileName);

    GetLine(VAR NewTextLine : Text[1024])
    NewTextLine := TextLine;

    EndOfFile() : Boolean
    IF TextFile.POS = TextFile.LEN THEN BEGIN
      TextFile.CLOSE;
      EXIT(TRUE);
    END;

    ProcessLongLine()
    TextFile.TEXTMODE := FALSE;
    TextFile.SEEK(GoodPos);
    TextLine := '';
    WHILE TextFile.POS <> TextFile.LEN DO BEGIN
      TextFile.READ(TextChar);
      Pos += 1;
      TextLine[Pos] := TextChar;
      IF Pos >= MaxLineLength THEN BEGIN
        Pos := SplitLength(TextLine);
        TextLine := COPYSTR(TextLine,1,Pos);
        TextFile.SEEK(GoodPos + Pos);
        EXIT;
      END;
    END;

    LOCAL SplitLength(Text : Text[1024]) : Integer
    Text := Reverse(COPYSTR(Text,1,MaxLineLength));
    Pos := STRPOS(Text,';');
    IF Pos = 0 THEN
      Pos := STRPOS(Text,',');
    IF Pos = 0 THEN
      Pos := STRPOS(Text,' ');
    IF Pos = 0 THEN
      Pos := MaxLineLength
    ELSE
      Pos := MaxLineLength - Pos + 1;
    EXIT(Pos);

    LOCAL Reverse(Text1 : Text[1024]) : Text[1024]
    Length := STRLEN(Text1);
    Text2 := '';
    FOR i := 1 TO Length DO
      Text2[i] := Text1[Length - i + 1];
    EXIT(Text2);

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Hey,

    Could you also add the code for the MergeFileReadMgt please?

    I'm trying to recreate this.

    Thanks in advance!

  • Verified answer
    HBrinck Profile Picture
    HBrinck 450 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    I just used CU10 and the process worked flawlessly.

    No errors of any kind during the process.

    Thanks for all suggestions.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Yes, after Sync tenant, the error disappears. 

    Thanks for the fast answer.

    Best regards

    Jeannot  

  • Ashok Sundaram Profile Picture
    Ashok Sundaram 80 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Do 'Sync-NAVTenant' for the related service instance and then compile again, it should work.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    I work to upgrate Data from 2009R2 to 2013R2. I et also the error "Error code: 85132273" with CU9 !

    The error Comes on  compiling table 2000000080, 2000000120, 2000000121 and 2000000130.

    Did anyone have an idea, better a solution :-)

    Br

    Jeannot

  • VectorK Profile Picture
    VectorK 25 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    Your're welcome ;)

  • rhansen Profile Picture
    rhansen 2 on at
    RE: Error code 85132273 during upgrade from 2009 to 2013R2

    You're right...it's my new best friend.  Thanks for pointing me to that...did the trick!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,269 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,198 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans