Codeunit 9017 "Azure AD User Mgmt. Impl."
System Application · System.Azure.Identity
Across versions
- BC23-30present
Neighbourhood 10 connected objects and pages
System Application · System.Azure.Identity · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata User = rm, tabledata “User Personalization” = r, tabledata “User Property” = r |
Events published
OnIsUserTenantAdmin(var IsUserTenantAdmin: Boolean; var Handled: Boolean)(internal)OnBeforeCreateUserFromAzureADObjectId(AADObjectID: Text; var NewUserSecurityId: Guid; var Handled: Boolean)(internal)
Event subscriptions
- OnBeforeDeleteUser subscribes to Table “User” OnBeforeDeleteEvent
Procedures
Run(ForUserSecurityId: Guid)CreateNewUsersFromAzureAD()CreateNewUserFromGraphUser(GraphUserInfo: DotNet UserInfo): BooleanCreateNewUserInternal(AuthenticationEmail: Text; AADObjectID: Text): GuidIsUserTenantAdmin(): BooleanIsUserDelegated(UserSecID: Guid): BooleanSynchronizeLicensedUserFromDirectory(AuthenticationEmail: Text): BooleanSynchronizeAllLicensedUsersFromDirectory()ArePermissionsCustomized(UserSecId: Guid): Boolean
Plus 2 local procedures.
Triggers
OnRun
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 9024 “Azure AD Graph User” (8 calls:
CreateNewUserInternal → EnsureAuthenticationEmailIsNotInUse,CreateNewUsersFromAzureAD → GetUser,IsUserTenantAdmin → GetGraphUser, …) - Codeunit 9016 “Azure AD Plan” (7 calls:
CreateNewUserFromGraphUser → IsGraphUserEntitledFromServicePlan,InitializeAsNewUser → UpdateUserPlans,IsUserDelegated → IsPlanAssignedToUser, …) - Codeunit 9027 “Plan Ids” (4 calls:
IsUserDelegated → GetD365AdminPartnerPlanId,IsUserDelegated → GetDelegatedAdminPlanId,IsUserDelegated → GetDelegatedBCAdminPlanId, …) - Codeunit 9825 “Plan Configuration” (3 calls:
ArePermissionsCustomized → GetCustomPermissions,ArePermissionsCustomized → GetDefaultPermissions,ArePermissionsCustomized → IsCustomized) - Codeunit 9012 “Azure AD Graph” (2 calls:
CreateNewUsersFromAzureAD → GetUsersPage,SynchronizeLicensedUserFromDirectory → GetUser) - Codeunit 9026 “User Login Time Tracker” (2 calls:
OnBeforeDeleteUser → UserLoggedInEnvironment,Run → UserLoggedInEnvironment) - Codeunit 4030 “Client Type Management” (1 call:
OnRun → GetCurrentClientType) - Codeunit 457 “Environment Information” (1 call:
Run → IsSaaS)
Called by
- Codeunit 9010 “Azure AD User Management” (8 calls:
ArePermissionsCustomized → ArePermissionsCustomized,CreateNewUserFromGraphUser → CreateNewUserFromGraphUser,CreateNewUsersFromAzureAD → CreateNewUsersFromAzureAD, …) - Codeunit 9029 “Azure AD User Sync Impl.” (2 calls:
CreateUser → CreateNewUserInternal,HandleRemovedUsers → IsUserDelegated)
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: "Azure AD User Mgmt. Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.