GithubHelp home page GithubHelp logo

microsoft / bcupgrade Goto Github PK

View Code? Open in Web Editor NEW
43.0 33.0 19.0 58.47 MB

Unofficial Documentation on how to upgrade to the latest version of Business Central

License: Creative Commons Attribution 4.0 International

PowerShell 71.16% TSQL 11.34% AL 17.50%

bcupgrade's Introduction

Description

This project is not maintained any more. Please go to https://aka.ms/bccloudmigrationyammer to ask additional questions or to join the discussion

Old Description

This project contains: Powerpoint explaining the current upgrade process Example scripts you can use to test the upgrade

Please help with updating the content by opening issues. You can ask any question, problem that you are facing, point out the things that may be incorrect or share a good idea. Also feel free to share any feedback regarding this project via issues.

We will update the deck based on feedback / requests.

Let's make the upgrade easy together.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Legal Notices

Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

Privacy information can be found at https://privacy.microsoft.com/en-us/

Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.

bcupgrade's People

Contributors

fluxxusnl avatar freddydk avatar jehelles avatar microsoftopensource avatar nikolakukrika avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bcupgrade's Issues

Task 14: Upgrade on table migration extension error

I received an error on https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-to-microsoft-base-app
task 14 - previous version does not exist. (This is the table migration.)
I ignored it since I had already synced it (sync-navapp) and the data was migrated.
Task 15 upgrades to the other extensions worked without errors.

Does table migration extension need the upgrade:
Start-NAVAppDataUpgrade -ServerInstance BC160 -Name "TableMigration" -version 1.0.0.1
previous version is 1.0.0.0
Or can I ignore it?

Update extension

Good morning from Spain.
We are Leasba Consulting S.L., Microsoft partner. We want to update an extensión to a higher version but the following error appears: "The application object of type 'Table' with the ID '50102' is defined in multiple apps. The apps are: ExtensionName by Leasba Consulting, SL 1.0.4.4; ExtensionName by Leasba Consulting, SL 1.0.4.5."
How could we fix it? We can't unistall the extension because it has a Table with data.
Best, Alejandro

Typo 1: slide 50 (step 3 explained)

afbeelding
Change could to cloud.

Note
I am preparing my next weeks DDC presentation (and the week after a webinar on the same) " Upgrade to BC, how do you do that?" https://register.gotowebinar.com/register/8611050017033409548

It's an investigation for the upgrade w are planning. As such I am happily making use of http://aka.ms/bcupgradedeck. Now studying the .pptx running into a number various typos, but also statements that could use some elaboration. Hre is the first typo. Will report more and, more important to me, will also pose relevant questions on unclear parts.

Need more information on a Warning: Business Central v17

Hello everyone,
I need help in fixing the following warning while upgrading an app from v16 to v17:

Method 'CreateWebService' is marked for removal. Reason: Method scope will be moved down to On-Prem. This function does not work in SaaS.. Tag: 16.0.

The compiler doesn't give any other information about this or the alternative to use for the above function.

How move C/AL table fields to separate extensions

We're currently facing the following situation:

In C/AL we added some custom fields to the UOM table. During the move to AL we've divided our solution in several apps. The original C/AL custom fields were moved to 2 table extensions. In order to facilitate the upgrade from C/AL to AL we import a fob file containing the Cronus UOM table and move the data of the custom fields to an upgrade table.

How can we move the data to the correct table extension during the data upgrade of each app? This especially when you have multiple dependant apps?

Slide 21 (Buffer table example): what is an upgrade range?

Slide 21 (Buffer table example) mentions:

ID must be in upgrade range, name needs to be different we recommend prefixing with UPG –

Sounds like there exist a specif upgrade ID range, but I recon this a range I as developing company owns? In other words make it a bit more specific what an upgrade range is.

migration.json

To follow along with your example, do I need a migration.json file?
The online doc appears to state this is only needed for moving tables from one extension to another - an AL to AL move - that C/Side tables and fields being moved to an extension - C/AL to AL - the migration.json fle is not used.

Am I misunderstanding your example?

Slide 28 (Renaming fields or tables): wrong SetTableSyncSetup parameter

On slide 28 (Renaming fields or tables) the text mentions Force:

For added objects (table/fields) you can simply rename and set Force for Table Sync Setup (if needed)

The code example however "says" Copy:

DataUpgradeMgt.SetTableSyncSetup(DATABASE::"Report Layout Selection",DATABASE::"UPG Report Layout Selection", TableSynchSetup.Mode::Copy);

I guess the code should be:

DataUpgradeMgt.SetTableSyncSetup(DATABASE::"Report Layout Selection", 0, TableSynchSetup.Mode::Force);

Slide 16 could use some more details

afbeelding
Two things

  1. I do see two columns, but the do not have headers: left column describing the change and right colums describing refactor action; please add these two a headers to the columns; this make it much more helpful
  2. These examples are taken from a case that has not been discussed on previous slides; I know I have seen it somewhere (docs.microsoft?) but cannot find it; please add reference (or somewhat more extensive description on slides) to help me as a reader to better understand

Slide 6 - Removing Integration Management (Integration Records)

We will support the integration records for one year. We have added an unique identifier $systemID to every table and will add ModifiedOn date in following releases and refactor CRM integration and APIs to fully use the new system

Should we expect each standard / extension table to receive a new (system) field 'ModifiedOn Date'? Next to the Date, would it make sense storing the ModifiedTime and ModifiedUser as well?

DestinationAppsForMigration not mentioned

The NAV TechDays presentation Using Docker and the ContainerHelper to convert your C/AL solution to an AL had a couple of slides on DestinationAppsForMigration. They seem to be not in the big upgrade deck.
image

What is slide 40 (Moving tables from C/AL to Extension) telling me?

I have the feeling I need to read a lot between the lines in slide 40. Having read and mostly understood the topic https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-overview-v15 on slide 39 (Upgrade documentation) seems not to help me out.

Moving tables from C/AL to Extension seems to imply that I have already converted my C/AL table definition to an AL table definition that resides in an extension. Should I understand it this way that when bringing my 14.x database to 15.x, having my code converted, the platform will than move my old c/al sql table to a new extension sql table. From:
afbeelding
to
afbeelding
Is that right?

Base Application upgrade from BC16 to BC23 with CRM Integrtion fails

Hi!

I'm making an onPrem test upgrade from BC16 to BC23, everything was going smooth, until I started the Base Application upgrade.
In the live environment, the CRM Integration is working fine, and on the upgraded environment nothing was changed on it.

I tried the New-NAVTableConnection, but not sure which parameters are required, or how exactly the connection string should look like.

And finally, the error message I get:

Start-NAVAppDataUpgrade : Could not upgrade the extension 'Base Application' by 'Microsoft' from version '16.3.14085.14238' to '23.0.12034.12841' for tenant 'default' and company 'company_name_was_here' due to the following error: 'Table connection for table type CRM must be registered using RegisterTableConnection or cmdlet New-NAVTableConnection before it can be used.' and AL stack trace:
"CRM Integration Management"(CodeUnit 5330).AddExtraFieldMappings line 35 - Base Application by Microsoft
"CDS Setup Defaults"(CodeUnit 7204).AddExtraIntegrationFieldMappings line 9 - Base Application by Microsoft
"Upgrade - BaseApp"(CodeUnit 104000).UpgradeAddExtraIntegrationFieldMappings line 22 - Base Application by Microsoft
"Upgrade - BaseApp"(CodeUnit 104000).OnUpgradePerCompany line 23 - Base Application by Microsoft
"Upgrade Triggers"(CodeUnit 2000000008).OnUpgradePerCompany(Event) line 2

Any ideas how to make it work, or how should we proceed for the test upgrade, and then at the live one?

Best Regards,
Attila

error Sync-NAVApp upgrade from BC14 to BC20

Hi,

I'm facing an error at task 11 when upgrading from BC14 to BC20 Onprem (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-to-microsoft-base-app-v20) :
image
image

In the event viewer a more detailed error is shown:
erver instance: BC200 Tenant ID: default Environment Name: Environment Type: Production Session type: Background Session ID: 6 User:
CustCORP\criteria Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavSqlException ErrorNumber: 15248 TransactionRolledBack: False MaxVerbosity: Off ErrorCode: -1
SuppressMessage: False ContainsPersonalOrRestrictedInformation: True DiagnosticsSuppress: False
DiagnosticsMessage: Message not shown because the NavBaseException constructor was used without privacy classification
MessageWithoutPrivateInformation: Message not shown because the NavBaseException constructor was used without privacy classification
SuppressExceptionCreatedEvent: False FatalityScope: None ErrorLevel: Error Message: The following SQL error was unexpected:
Either the parameter @OBJName is ambiguous or the claimed @objtype (INDEX) is wrong. Caution: Changing any part of an object name could break scripts and stored procedures.
Caution: Changing any part of an object name could break scripts and stored procedures. Caution:
Changing any part of an object name could break scripts and stored procedures. Caution:
Changing any part of an object name could break scripts and stored procedures. Caution:
Changing any part of an object name could break scripts and stored procedures. Caution:
Changing any part of an object name could break scripts and stored procedures.
SQL statement: exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$1"', N'$Key2', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$2"', N'$Key3', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$3"', N'$Key4', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$4"', N'$Key5', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$7"', N'$Key8', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$8"', N'$Key9', N'INDEX';
exec sp_rename N'"dbo"."CompName$G_L Account$68b58c83-f442-4d2f-b6a1-ed26a3f1328c"."$9"', N'$Key10', N'INDEX'
StackTrace: at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at Microsoft.Dynamics.Nav.Runtime.NavSqlConnection.Throw

Does anyone have any hints why this is happenning?

Thank you!

Slide 29 (App Store + Per tenant extensions – Number range and names ): too rough description

The description on slide 29 is too compact.

Seems to me very relevant slide with actually a lot of info, but needs more elaboration as it throws (surely to me) a number of questions.

It states:

If you complete renaming and renumbering in C/AL, we will move full tables automatically to extensions if the ID and the Name Matches

Question 1: looking at the example the names of TAB50000 and TAB55000000 do not exactly match. DIfference is "NKC - ", including 3 letter prefix. Does the platform disregard this prefix part (including "- ") and sees that the main part of the table names match?

Question 2: is the ID matching refering to the field IDs?

follow app source process to get a 3-letter prefix and a range

Question 3: Prefix only? How about suffix?

Or I am I totally on the wrong track and is the matching something different?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.