Codeunit 9999 "Upgrade Tag"
System Application · System.Upgrade
Across versions
- BC23-25present
- BC261 procedures added
- BC27-30unchanged
Neighbourhood 140 connected objects and pages
System Application · System.Upgrade · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
| Permissions | tabledata “Upgrade Tags” = rimd |
Events published
OnGetPerCompanyUpgradeTags(var PerCompanyUpgradeTags: List of [Code[250]])(integration): Use this event if you want to add upgrade tag for PerCompany upgrade method for a new company.- subscribers: Codeunit 104059 “Serv. Upgrade BaseApp” RegisterPerCompanyTags, Codeunit 104066 “SMTP Connector - Upgrade” RegisterPerCompanyTags, Codeunit 1567 “System Upgrade Privacy Notices” RegisterPerCompanyTags, Codeunit 1597 “Email Upgrade” RegisterPerCompanyTags, Codeunit 1688 “Email Logging Upgrade” RegisterPerCompanyTags, Codeunit 1712 “Upg. Tag Def. Bank Deposits” RegisterPerCompanyTags, Codeunit 1808 “Assisted Setup Upgrade Tag” RegisterPerCompanyTags, Codeunit 1933 “Performance Profiler Installer” RegisterPerCompanyTags, Codeunit 1998 “Guided Experience Upgrade Tag” RegisterPerCompanyTags, Codeunit 20119 “AMC Bank Upgrade” RegisterPerCompanyTags, Codeunit 20570 “Subc. Upgrade Tag Def. Ext.” RegisterPerCompanyTags, Codeunit 22201 “Upgrade” RegisterPerCompanyTags, Codeunit 30106 “Shpfy Upgrade Mgt.” RegisterPerCompanyTags, Codeunit 3305 “Payables Agent Upgrade” RegisterPerCompanyUpgradeTags, Codeunit 332 “No. Series Upgrade Tags” RegisterPerCompanyTags, Codeunit 36957 “PowerBI Upgrade” RegisterPerCompanyTags, Codeunit 37215 “PEPPOL30 Upgrade” OnGetPerCompanyUpgradeTags, Codeunit 3907 “Retention Policy Installer” RegisterPerCompanyTags, Codeunit 3999 “Reten. Pol. Install - BaseApp” RegisterPerCompanyUpgradeTags, Codeunit 40010 “Cloud Mig. Upgrade” RegisterUpgradeTags, and 25 more
OnGetPerDatabaseUpgradeTags(var PerDatabaseUpgradeTags: List of [Code[250]])(integration): Use this event if you want to add upgrade tag for PerDatabase upgrade method for a new company.- subscribers: Codeunit 3305 “Payables Agent Upgrade” RegisterPerDatabaseUpgradeTags, Codeunit 4326 “Agent Upgrade” OnGetPerDatabaseUpgradeTags, Codeunit 4589 “SOA Upgrade” RegisterPerDatabaseUpgradeTags, Codeunit 6978 “Upgrade Expense Agent Setup” RegisterPerDatabaseUpgradeTags, Codeunit 7781 “Copilot Telemetry Upgrade” RegisterUpgradeTags, Codeunit 8356 “MCP Upgrade” RegisterUpgradeTags, Codeunit 9058 “Plan Upgrade Tag” RegisterPerDatabaseTags, Codeunit 9222 “User Settings Upgrade” RegisterPerDatabaseUpgradeTags, Codeunit 9992 “Upgrade Tag - Tags” RegisterPerDatabaseUpgradeTags, Codeunit 9998 “Upgrade Tag Definitions” RegisterPerDatabaseTags
OnSetAllUpgradeTags(NewCompanyName: Text; var SkipSetAllUpgradeTags: Boolean)(integration): Use this event if you want to skip or run logic when we register all tags for a company.- subscribers: Codeunit 4008 “Hybrid BC Management” HandleSetAllUpgradeTags, Codeunit 4021 “Hybrid BC Last Management” HandleSetAllUpgradeTags
Procedures
HasUpgradeTag(Tag: Code[250]): Boolean: Verifies if the upgrade tag exists.HasUpgradeTag(Tag: Code[250]; TagCompanyName: Code[30]): Boolean: Verifies if the upgrade tag exists.HasDatabaseUpgradeTag(Tag: Code[250]): Boolean+ BC26: Verifies if the database upgrade tag exists.SetDatabaseUpgradeTag(NewTag: Code[250]): Sets the upgrade tag for database upgrades.SetUpgradeTag(NewTag: Code[250]): Sets the upgrade tag.SetSkippedUpgrade(ExistingTag: Code[250]; SkipUpgrade: Boolean): Sets the upgrade tag to skipped.SetSkippedUpgrade(ExistingTag: Code[250]; TagCompanyName: Code[30]; SkipUpgrade: Boolean): Sets the upgrade tag to skipped.HasUpgradeTagSkipped(ExistingTag: Code[250]; TagCompanyName: Code[30]): Boolean: Check if the upgrade tag is skipped.SetAllUpgradeTags(): This method should be used to set all upgrade tags in a new company. The method is called from codeunit 2 - Company Initialize.SetAllUpgradeTags(NewCompanyName: Code[30]): This method should be used to set all upgrade tags in a new company.CopyUpgradeTags(FromCompanyName: Code[30]; ToCompanyName: Code[30]): This method should be used to copy all upgrade tags from a company to another company.GetPerCompanyUpgradeTags(var PerCompanyUpgradeTags: List of [Code[250]]): With this method you get all the upgrade tags by company in a list.GetPerDatabaseUpgradeTags(var PerDatabaseUpgradeTags: List of [Code[250]]): With this method you get all the upgrade tags by database in a list.BackupUpgradeTags(): Integer: This function is used for cloud migration to backup upgrade tags before cloud migration is triggered. Using the function if cloud migration is not enabled will throw an error.RestoreUpgradeTagsFromBackup(BackupId: Integer; RestoreMissingTagsOnly: Boolean): This function is used to restore Upgrade tags after cloud migration. Using the function if cloud migration is not enabled will throw an error.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 9996 “Upgrade Tag Impl.” (10 calls:
BackupUpgradeTags → BackupUpgradeTags,CopyUpgradeTags → CopyUpgradeTags,HasDatabaseUpgradeTag → HasDatabaseUpgradeTag, …)
Called by
- Codeunit 104000 “Upgrade - BaseApp” (248 calls:
AddPowerBIWorkspaces → HasUpgradeTag,AddPowerBIWorkspaces → SetUpgradeTag,CheckLedgerEntriesMoveFromRecordIDToSystemId → HasUpgradeTag, …) - Codeunit 104030 “Upgrade Plan Permissions” (22 calls:
AddFeatureDataUpdatePermissions → HasUpgradeTag,AddFeatureDataUpdatePermissions → SetUpgradeTag,CreateBCAdminPermissions → HasUpgradeTag, …) - Codeunit 9057 “Plan Upgrade” (22 calls:
AddBCAdmin → HasUpgradeTag,AddBCAdmin → SetUpgradeTag,AddD365Admin → HasUpgradeTag, …) - Codeunit 104059 “Serv. Upgrade BaseApp” (16 calls:
CopyItemSalesBlockedToServiceBlocked → HasUpgradeTag,CopyItemSalesBlockedToServiceBlocked → SetUpgradeTag,EnableDeleteFiledContractsWithRelatedMainContract → HasUpgradeTag, …) - Codeunit 4589 “SOA Upgrade” (16 calls:
AddBillingTypeToCapability → HasUpgradeTag,AddBillingTypeToCapability → SetUpgradeTag,AddDailyEmailLimit → HasUpgradeTag, …) - Codeunit 104051 “Update VAT Date Field” (10 calls:
OnUpgradePerCompany → HasUpgradeTag,OnUpgradePerCompany → SetUpgradeTag,UpdateGLEntries → HasUpgradeTag, …) - Codeunit 3305 “Payables Agent Upgrade” (10 calls:
AddBillingTypeToCapability → HasUpgradeTag,AddBillingTypeToCapability → SetUpgradeTag,RegisterCapability → HasUpgradeTag, …) - Codeunit 6978 “Upgrade Expense Agent Setup” (10 calls:
UpgradeClearStaleCopyCompanyState → HasUpgradeTag,UpgradeClearStaleCopyCompanyState → SetUpgradeTag,UpgradeEnableCommunicationDefault → HasUpgradeTag, …) - Codeunit 8356 “MCP Upgrade” (8 calls:
EnableApiToolsOnExistingConfigurations → HasDatabaseUpgradeTag,EnableApiToolsOnExistingConfigurations → SetUpgradeTag,UpgradeMCPAPIToolVersion → HasDatabaseUpgradeTag, …) - Codeunit 1999 “Guided Experience Upgrade” (6 calls:
InsertSpotlightTour → HasUpgradeTag,InsertSpotlightTour → SetUpgradeTag,UpdateTourDescriptions → HasUpgradeTag, …) - Codeunit 22201 “Upgrade” (6 calls:
FixGLEntryReviewLogSetReviewedAt → HasUpgradeTag,FixGLEntryReviewLogSetReviewedAt → SetUpgradeTag,FixGLEntryReviewLogWithReviewAmountZeroWithDataTransfer → HasUpgradeTag, …) - Codeunit 6616 “FS Install” (6 calls:
UpgradeAssistedSetup → HasUpgradeTag,UpgradeAssistedSetup → SetUpgradeTag,UpgradeConnectionSetup → HasUpgradeTag, …) - Codeunit 1597 “Email Upgrade” (5 calls:
RegisterPerCompanyTags → HasUpgradeTag,SetDefaultEmailMaxConcurrencyLimit → HasUpgradeTag,SetDefaultEmailMaxConcurrencyLimit → SetUpgradeTag, …) - Codeunit 7048 “Set Price Line Source Group” (5 calls:
OnRun → HasUpgradeTag,UpdatePriceListLineStatus → HasUpgradeTag,UpdatePriceListLineStatus → SetUpgradeTag, …) - Codeunit 104040 “Upgrade Profiles V2” (4 calls:
OnUpgradePerCompany → HasUpgradeTag,OnUpgradePerCompany → SetUpgradeTag,UpgradeProfileReferences → HasUpgradeTag, …) - Codeunit 104055 “Upgrade - Error Message” (4 calls:
UpdateErrorMessageDescription → HasUpgradeTag,UpdateErrorMessageDescription → SetUpgradeTag,UpdateErrorMessageRegisterDescription → HasUpgradeTag, …) - Codeunit 1567 “System Upgrade Privacy Notices” (4 calls:
UpgradeMicrosoftLearnPrivacyNotice → HasUpgradeTag,UpgradeMicrosoftLearnPrivacyNotice → SetUpgradeTag,UpgradeTeamsPrivacyNotice → HasUpgradeTag, …) - Codeunit 7238 “Master Data Mgt. Upgrade” (4 calls:
UpgradeJobQueueEntryFrequencies → HasUpgradeTag,UpgradeJobQueueEntryFrequencies → SetUpgradeTag,UpgradeSynchTableCaptions → HasUpgradeTag, …) - Codeunit 1081 “Fin. Report Default Upgrade” (3 calls:
SetUpgradeTag → SetSkippedUpgrade,SetUpgradeTag → SetUpgradeTag,UpdateData → HasUpgradeTag) - Codeunit 1688 “Email Logging Upgrade” (3 calls:
RegisterPerCompanyTags → HasUpgradeTag,UpgradeEmailLogging → HasUpgradeTag,UpgradeEmailLogging → SetUpgradeTag) - Codeunit 1933 “Performance Profiler Installer” (3 calls:
AddRetentionPolicyAllowedTables → HasUpgradeTag,AddRetentionPolicyAllowedTables → SetUpgradeTag,RegisterPerCompanyTags → HasUpgradeTag) - Codeunit 7105 “Upgrade Exp. Report VAT Spec” (3 calls:
BackfillReimbursementAmounts → HasUpgradeTag,SetBackfillReimbursementAmountsUpgradeTag → HasUpgradeTag,SetBackfillReimbursementAmountsUpgradeTag → SetUpgradeTag) - Codeunit 9994 “API Data Upgrade” (3 calls:
OnRun → SetSkippedUpgrade,UpgradePurchaseCreditMemoBuffer → HasUpgradeTag,UpgradePurchaseCreditMemoBuffer → SetUpgradeTag) - Codeunit 104010 “Upg Set Country App Areas” (2 calls:
SetCountryAppAreas → HasUpgradeTag,SetCountryAppAreas → SetUpgradeTag) - Codeunit 104042 “Upgrade Permission Sets” (2 calls:
ReplaceObsoletePermissionSetsForEditInExcel → HasUpgradeTag,ReplaceObsoletePermissionSetsForEditInExcel → SetUpgradeTag) - Codeunit 104044 “Upgrade Privacy Notices” (2 calls:
OnUpgradePerDatabase → HasUpgradeTag,OnUpgradePerDatabase → SetUpgradeTag) - Codeunit 104046 “Upgrade Monitored Field” (2 calls:
UpgradeNotificationCount → HasUpgradeTag,UpgradeNotificationCount → SetUpgradeTag) - Codeunit 104047 “Upgrade Profiles” (2 calls:
UpgradeEmployeeProfile → HasUpgradeTag,UpgradeEmployeeProfile → SetUpgradeTag) - Codeunit 104050 “Upg Load Named Forward Links” (2 calls:
LoadForwardLinks → HasUpgradeTag,LoadForwardLinks → SetUpgradeTag) - Codeunit 104053 “Upgrade Word Report Rendering” (2 calls:
OnUpgradePerDatabase → HasUpgradeTag,OnUpgradePerDatabase → SetUpgradeTag) - Codeunit 104056 “Upgrade Workflow” (2 calls:
UpdateWorkflowWithDelegatedAdminTemplate → HasUpgradeTag,UpdateWorkflowWithDelegatedAdminTemplate → SetUpgradeTag) - Codeunit 104057 “Upgrade Custom Report Impl.” (2 calls:
UpgradeCompany → HasUpgradeTag,UpgradeCompany → SetUpgradeTag) - Codeunit 104058 “Upgrade User Setup” (2 calls:
UpgradeUserSetup → HasUpgradeTag,UpgradeUserSetup → SetUpgradeTag) - Codeunit 104060 “Upgrade App ID Permissions” (2 calls:
RunUpgrade → HasUpgradeTag,RunUpgrade → SetUpgradeTag) - Codeunit 104061 “Upgrade User Groups” (2 calls:
OnUpgradePerDatabase → HasUpgradeTag,OnUpgradePerDatabase → SetUpgradeTag) - Codeunit 104063 “Upg. - Default. Calc. Based On” (2 calls:
UpdateDefaultCalcBasedOn → HasUpgradeTag,UpdateDefaultCalcBasedOn → SetUpgradeTag) - Codeunit 1541 “Workflow Webhook Events” (2 calls:
CleanupOldIntegrationIdsTableRelation → HasUpgradeTag,CleanupOldIntegrationIdsTableRelation → SetUpgradeTag) - Codeunit 1689 “Email Logging Install” (2 calls:
OnInstallAppPerCompany → HasUpgradeTag,OnInstallAppPerCompany → SetUpgradeTag) - Codeunit 1714 “Upgrade Bank Deposits” (2 calls:
OnUpgradePerCompany → HasUpgradeTag,OnUpgradePerCompany → SetUpgradeTag) - Codeunit 1809 “Assisted Setup Installation” (2 calls:
SetAllUpgradeTags → HasUpgradeTag,SetAllUpgradeTags → SetUpgradeTag) - Codeunit 1851 “Sales Forecast Upgrade” (2 calls:
SetConsentIfForecastAlreadyScheduled → HasUpgradeTag,SetConsentIfForecastAlreadyScheduled → SetUpgradeTag) - Codeunit 20119 “AMC Bank Upgrade” (2 calls:
UpgradeAMCConsent → HasUpgradeTag,UpgradeAMCConsent → SetUpgradeTag) - Codeunit 2015 “Entity Text AI Upgrade” (2 calls:
RegisterCapability → HasUpgradeTag,RegisterCapability → SetUpgradeTag) - Codeunit 327 “No. Series Copilot Register” (2 calls:
RegisterCapability → HasUpgradeTag,RegisterCapability → SetUpgradeTag) - Codeunit 328 “No. Series Upgrade” (2 calls:
SetupNoSeriesImplementation → HasUpgradeTag,SetupNoSeriesImplementation → SetUpgradeTag) - Codeunit 4001 “Hybrid Cloud Management” (2 calls:
BackupUpgradeTags → BackupUpgradeTags,RestoreDataPerDatabaseTables → RestoreUpgradeTagsFromBackup) - Codeunit 40010 “Cloud Mig. Upgrade” (2 calls:
OnUpgradePerCompany → HasUpgradeTag,OnUpgradePerCompany → SetUpgradeTag) - Codeunit 4326 “Agent Upgrade” (2 calls:
InsertDefaultPermissionIfEmpty → HasDatabaseUpgradeTag,InsertDefaultPermissionIfEmpty → SetDatabaseUpgradeTag) - Codeunit 4709 “VAT Group Upgrade” (2 calls:
UpgradeVATGroupAuthEnum → HasUpgradeTag,UpgradeVATGroupAuthEnum → SetUpgradeTag) - Codeunit 4711 “Install VAT Group” (2 calls:
OnInstallAppPerCompany → HasUpgradeTag,OnInstallAppPerCompany → SetUpgradeTag) - and 37 more: data/code/graph/29/calls.json
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Upgrade Tag"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.