---
title: "Codeunit 9170 Conf./Personalization Mgt."
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/9170-conf-personalization-mgt/
type: codeunit
id: 9170
name: "Conf./Personalization Mgt."
app: "Base Application"
namespace: System.Environment.Configuration
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/9170-conf-personalization-mgt/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 9170 Conf./Personalization Mgt.

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/9170-conf-personalization-mgt/

| | |
| --- | --- |
| App | Base Application |
| Namespace | System.Environment.Configuration |
| Versions | 17-28 |
| Source file | Modules/System/Profile/ConfPersonalizationMgt.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| DefaultRoleCenterID | () | Integer | public | 17-28 | - | - |
| GetCurrentProfile | (var Record All Profile) | - | public | 17-28 | - | - |
| GetCurrentProfileNoError | (var Record All Profile) | Boolean | public | 17-28 | - | - |
| TryGetDefaultProfileForCurrentUser | (var Record All Profile) | Boolean | public | 17-28 | - | - |
| IsCurrentProfile | (Option, Guid, Code[30]) | Boolean | public | 17-28 | - | - |
| SetCurrentProfile | (Record All Profile) | - | public | 17-28 | - | - |
| CopyProfileWithUserInput | (Record All Profile, var Record All Profile) | - | public | 17-28 | - | - |
| CopyProfile | (Record All Profile, Code[30], Text[100], var Record All Profile) | - | public | 17-28 | - | - |
| ResolveAppNameFromAppId | (Guid) | Text | public | 17-21 | Pending 19.0 | Use function "GetAppName" from Codeunit "Extension Management". |
| ClearProfileConfiguration | (Record All Profile) | - | public | 17-28 | - | - |
| ClearUserPersonalization | (Record User Personalization) | - | public | 17-24 | Pending 22.0 | This procedure cleared old "User Metadata" as well. Use ClearPersonalizedPagesForUser instead. |
| ChangeDefaultRoleCenter | (Record All Profile) | - | public | 17-28 | - | - |
| ValidateDeleteProfile | (Record All Profile) | - | public | 17-28 | - | - |
| ValidateDisableProfile | (Record All Profile) | - | public | 17-28 | - | - |
| FilterToInstalledLanguages | (var Record Windows Language) | - | public | 17-28 | - | - |
| ValidateTimeZone | (var Text) | - | public | 17-21 | Pending 19.0 | Please use the method "ValidateTimeZone" from codeunit "Time Zone Selection". |
| LookupTimeZone | (var Text) | Boolean | public | 17-21 | Pending 19.0 | Please use the method "LookupTimeZone" from codeunit "Time Zone Selection". |
| DownloadProfileConfigurationPackage | () | - | public | 17-28 | - | - |
| CopyProfilePageMetadata | (Record All Profile, Record All Profile) | - | public | 17-24 | Pending 18.0 | Use procedure CopyProfile instead, which also handles copying page metadata. |
| GetSettingsPageID | () | Integer | public | 17-21 | Pending 19.0 | Use function "GetPageId" from codeunit "User Settings" instead. |
| RaiseOnOpenRoleCenterEvent | () | - | public | 17-28 | - | - |
| SetOtherProfilesAsNonDefault | (Record All Profile) | - | public | 17-28 | - | - |
| ChangePersonalizationForUserGroupMembers | (Code[20], Code[30], Code[30]) | - | public | 17-24 | - | - |
| ExtractZipFile | (Text, Text) | - | public | 17-28 | - | - |
| GetProfileConfigurationUrlForWeb | (Record All Profile) | Text | public | 17-28 | - | - |
| CanDeleteProfile | (Record All Profile) | Boolean | public | 17-28 | - | - |
| GetProfileUrlParameterForEvaluationCompany | () | Text | public | 17-28 | - | - |
| OpenProfileCustomizationUrl | (Record All Profile) | - | public | 17-28 | - | - |
| IsProfileIdAmbiguous | (Record All Profile) | Boolean | public | 17-28 | - | - |
| ClearPersonalizedPagesForUser | (Guid) | - | public | 22-28 | - | - |
| ChangePersonalizationForUserGroupMembers | (Record User Group, Record User Group) | - | public | 22-24 | - | - |
| GetDefaultProfileID | (Guid, var Record All Profile) | - | public | 27-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnProfileChanged | (Record All Profile, Record All Profile) | 17-28 | - | - |
| Integration event | OnAfterCopyProfile | (var Record All Profile, Record All Profile) | 17-28 | - | - |
| Integration event | OnAfterGetDefaultRoleCenter | (var Integer) | 17-28 | - | - |
| Integration event | OnRoleCenterOpen | () | 17-28 | - | - |
| Integration event | OnBeforeOpenSettings | (var Integer, var Boolean) | 17-21 | Pending 19.0 | Use the event OnBeforeOpenSettings from Codeunit User Settings instead. |
| Integration event | OnBeforeValidateDeleteProfile | (Record All Profile, var Boolean) | 20-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
