Codeunit 9002 "Permission Manager"
Base Application · System.Security.AccessControl
Across versions
- BC23-24present
- BC258 procedures removed, 1 events removed
- BC261 procedures added, 1 procedures removed
- BC271 procedures changed
- BC281 procedures added, 1 procedures removed
- BC291 procedures removed
- BC30unchanged
Neighbourhood 16 connected objects and pages
Base Application · System.Security.AccessControl · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| SingleInstance | true |
| Permissions | TableData “Permission Set Link” = rd, TableData “Aggregate Permission Set” = rimd |
Event subscriptions
- OnBeforeDeleteTenantPermissionSet subscribes to Table “Tenant Permission Set” OnBeforeDeleteEvent
- CheckCurrentUserCanModifyUser subscribes to Table “User” OnBeforeModifyEvent
Procedures
AssignDefaultPermissionsToUser(UserSecurityID: Guid): BooleanAssignDefaultPermissionsToUser(UserSecurityID: Guid; Company: Text[30]): BooleanResetUserToDefaultPermissions(UserSecurityID: Guid)GetOfficePortalUserAdminUrl(): TextUpdateUserAccessForSaaS(UserSID: Guid): BooleanCanCurrentUserManagePlansAndGroups(): BooleanGenerateHashForPermissionSet(PermissionSetId: Code[30]): Text[250]IsFirstPermissionHigherThanSecond(First: Option; Second: Option): BooleanResetUsersToIntelligentCloudPermissions()IsIntelligentCloud(): BooleanSetTestabilityIntelligentCloud(EnableIntelligentCloudForTest: Boolean)
Plus 7 local procedures.
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 152 “User Permissions” (2 calls:
CheckCurrentUserCanModifyUser → CanManageUsersOnTenant,ResetUsersToIntelligentCloudPermissions → IsSuper) - Codeunit 457 “Environment Information” (2 calls:
AllowUpdateUserAccessForSaaS → IsSaaS,ResetUsersToIntelligentCloudPermissions → IsSaaS) - Codeunit 1266 “Cryptography Management” (1 call:
GenerateHashForPermissionSet → GenerateHash) - Codeunit 9843 “User Selection” (1 call:
ResetUsersToIntelligentCloudPermissions → FilterSystemUserAndAADGroupUsers)
Called by
- Page 4003 “Intelligent Cloud Management” (2 calls:
OnOpenPage → IsIntelligentCloud,UpdateEditablityOfControls → IsIntelligentCloud) - Page 40063 “Cloud Migration Management” (2 calls:
OnOpenPage → IsIntelligentCloud,UpdateControlProperties → IsIntelligentCloud) - Table 9802 “Permission Set Link” (2 calls:
MarkWithChangedSource → GenerateHashForPermissionSet,UpdateSourceHashesOnAllLinks → GenerateHashForPermissionSet) - Codeunit 4001 “Hybrid Cloud Management” (1 call:
AddCloudMigrationWizardToAssistedSetup → IsIntelligentCloud) - Codeunit 9020 “User Access Update” (1 call:
OnUpdateUserAccessForSaaS → UpdateUserAccessForSaaS) - Codeunit 9852 “Effective Permissions Mgt.” (1 call:
IsPermissionRestrictedByLicense → IsFirstPermissionHigherThanSecond) - Page 4007 “Intelligent Cloud Ready” (1 call:
OnOpenPage → IsIntelligentCloud) - Page 4017 “Intelligent Cloud Update” (1 call:
OnInit → IsIntelligentCloud) - Page 9192 “Company Creation Wizard” (1 call:
FinishAction → AssignDefaultPermissionsToUser) - Page 9802 “Permission Sets” (1 call:
OnOpenPage → IsIntelligentCloud) - Page extension 4009 “Hybrid O365 Activities” (1 call:
OnOpenPage → IsIntelligentCloud) - Page extension 4011 “Hybrid Accountant Activities” (1 call:
OnOpenPage → IsIntelligentCloud)
Recent changes
- 2026-08-10 #9946 Fix Retrieve Users overwriting existing users’ custom Role Center (AB#641534) (main, BC30, fix)
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: "Permission Manager"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.