Codeunit 7201 "CDS Integration Impl."
Base Application · Microsoft.Integration.Dataverse
Across versions
- BC23present
- BC247 procedures added, 3 procedures changed
- BC2523 procedures added, 18 procedures removed
- BC26unchanged
- BC271 procedures removed
- BC283 procedures removed, 2 procedures added
- BC291 procedures added, 1 events removed
- BC301 procedures added
Neighbourhood 53 connected objects and pages
Base Application · Microsoft.Integration.Dataverse · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| SingleInstance | true |
Events published
OnBeforeCleanCRMIntegrationRecords(var DisableIntegrationRecordCleanup: Boolean)+ BC24 (integration)OnBeforeCheckGLSetupLCYCode(GLSetup: Record "General Ledger Setup"; CRMTransactioncurrency: Record "CRM Transactioncurrency"; var IsHandled: Boolean)(integration)OnGetCDSConnectionClientId(var ClientId: Text)(integration)OnGetCDSConnectionClientSecret(var ClientSecret: Text)(integration)OnAfterIntegrationEnabled()(integration)OnBeforeGetBusinessEventsSupported(var Supported: Boolean; var Handled: Boolean)(integration)OnBeforeGetDefaultBusinessUnitName(var BusinessUnitName: Text[160]; var IsHandled: Boolean)(integration)OnGetIntegrationUserEmail(var IntegrationUsernameEmailTxt: Text[100]; var IsHandled: Boolean)(integration)
Event subscriptions
- HandleOnRegisterServiceConnection subscribes to Table “Service Connection” OnRegisterServiceConnection
- IsDataIntegrationEnabled subscribes to Table “Integration Synch. Job Errors” OnIsDataIntegrationEnabled
- InsertDefaultStateOnInitializingNotificationWithDefaultState subscribes to Page “My Notifications” OnInitializingNotificationWithDefaultState
Procedures
GetBaseSolutionUniqueName(): TextGetBaseSolutionDisplayName(): TextIsConnectionActive(): BooleanIsConnectionActive(ConnectionName: Text): BooleanActivateConnection(): BooleanActivateConnection(ConnectionName: Text): BooleanHasConnection(): BooleanRegisterConnection(): BooleanΔ BC25RegisterConnection(KeepExisting: Boolean): BooleanΔ BC25RegisterConnection(ConnectionName: Text): BooleanΔ BC25RegisterConnection(ConnectionName: Text; KeepExisting: Boolean): BooleanΔ BC25RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; KeepExisting: Boolean): BooleanΔ BC25RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionName: Text): BooleanΔ BC25RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionName: Text; KeepExisting: Boolean): BooleanΔ BC25UnregisterConnection(): BooleanUnregisterConnection(ConnectionName: Text)IsIntegrationEnabled(): BooleanIsBusinessEventsEnabled(): BooleanIsTeamOwnershipModelSelected(): BooleanGetConnectionDefaultName(): TextIsSolutionInstalled(): BooleanIsSolutionInstalled(var CDSConnectionSetup: Record "CDS Connection Setup"): BooleanIsSolutionInstalled(UniqueName: Text): BooleanIsSolutionInstalled(var CDSConnectionSetup: Record "CDS Connection Setup"; UniqueName: Text): BooleanGetSolutionVersion(var Version: Text): BooleanGetSolutionVersion(var CDSConnectionSetup: Record "CDS Connection Setup"; var Version: Text): BooleanGetSolutionVersion(UniqueName: Text; var Version: Text): BooleanGetSolutionVersion(var CDSConnectionSetup: Record "CDS Connection Setup"; UniqueName: Text; var Version: Text): BooleanGetVirtualTablesAppSourceLink(): Text(internal)OpenVirtualTablesApp(ErrorInfo: ErrorInfo)+ BC25 (internal)SetupVirtualTables(var CDSConnectionSetup: Record "CDS Connection Setup"; var ConfigId: Guid)Δ BC25 + BC25 − BC25SetupVirtualTables(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; AccessToken: SecretText; var ConfigId: Guid)Δ BC25 + BC25 − BC25 (internal)SetupCertificateAuthentication(var CDSConnectionSetup: Record "CDS Connection Setup")Δ BC25SetupCertificatetAuthenticationNoPrompt(var CDSConnectionSetup: Record "CDS Connection Setup")AddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"): IntegerAddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var TempCRMSystemuser: Record "CRM Systemuser" temporary): IntegerAddUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var TempCRMSystemuser: Record "CRM Systemuser" temporary): IntegerAddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper): IntegerAddUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; var TempCRMSystemuser: Record "CRM Systemuser" temporary): IntegerGetTempConnectionSetup(var TempCDSConnectionSetup: Record "CDS Connection Setup" temporary; var CDSConnectionSetup: Record "CDS Connection Setup"; AccessToken: SecretText)+ BC25 − BC25TestActiveConnection(): BooleanTestSystemUsersAvailability()CheckIntegrationRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanCheckIntegrationSolutionRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanCheckIntegrationUserRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanCheckOwningTeamRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanCheckIntegrationUserPrerequisites(var CDSConnectionSetup: Record "CDS Connection Setup"; AdminUserName: text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text)Δ BC25 + BC25 − BC28CheckAdminUserPrerequisites(var CDSConnectionSetup: Record "CDS Connection Setup"; AdminUserName: Text; AdminPassword: Text; AccessToken: Text; AdminADDomain: Text)IsVirtualTablesAppInstalled(var TempAdminCDSConnectionSetup: Record "CDS Connection Setup" temporary)Δ BC25CheckEntitiesAvailability(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanSelectSDKVersion(var CDSConnectionSetup: Record "CDS Connection Setup"): BooleanSelectBusinessUnit(var CDSConnectionSetup: Record "CDS Connection Setup"): BooleanCheckConnectionRequiredFields(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanCheckConnectionRequiredFieldsMatch(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): BooleanRegisterAssistedSetup()UpdateConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup")GetConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup"): TextSetConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionString: Text)Δ BC25TryGetCDSCompany(var CDSCompany: Record "CDS Company")GetCDSCompany(var CDSCompany: Record "CDS Company")TryGetCompanyId(var CompanyId: Guid)GetCoupledBusinessUnitId(): GuidGetIntegrationUserId(var CDSConnectionSetup: Record "CDS Connection Setup"): GuidGetOwningTeamId(var CDSConnectionSetup: Record "CDS Connection Setup"): GuidGetDefaultOwningTeamMembership(var TempCDSTeammembership: Record "CDS Teammembership" temporary)GetDefaultOwningTeamMembership(var CDSConnectionSetup: Record "CDS Connection Setup"; var TempCDSTeammembership: Record "CDS Teammembership" temporary)AssignIntegrationRole(var CrmHelper: DotNet CrmHelper; UserName: Text)AssignTeamRole(var CrmHelper: DotNet CrmHelper; TeamId: Guid; RoleId: Guid): BooleanImportAndConfigureIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; RenewSolution: Boolean): BooleanImportAndConfigureIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; RenewSolution: Boolean; GetTokenFromCache: Boolean): Boolean(internal)SignInCDSAdminUser(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; var AdminUser: Text; var AdminPassword: SecretText; var AccessToken: SecretText; var AdminADDomain: Text; GetTokenFromCache: Boolean)+ BC25 − BC25ReplaceUserNamePasswordInConnectionString(CDSConnectionSetup: Record "CDS Connection Setup"; NewUserName: Text; NewPassword: SecretText): SecretTextΔ BC25 + BC25 − BC28GetDataverseCloudEndpoints(): Interface "Dataverse Cloud Endpoints"+ BC29 (internal)GetAccessToken(ResourceURL: Text; GetTokenFromCache: Boolean; var AccessToken: SecretText)Δ BC25 + BC25 − BC28GetBusinessEventAccessToken(ResourceURL: Text; GetTokenFromCache: Boolean; var AccessToken: SecretText)+ BC25 − BC25GetRedirectURL(): TextGetCDSConnectionClientId(): TextΔ BC25GetCDSConnectionFirstPartyAppId(): TextGetCDSConnectionClientSecret(): SecretTextΔ BC25GetCDSConnectionFirstPartyAppCertificate(): TextImportIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; AdminUsername: Text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text; RenewSolution: Boolean)+ BC25 − BC25ConfigureIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; AdminUserName: Text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text; IsSilent: Boolean)+ BC25 − BC25JITProvisionFirstPartyApp(var CrmHelper: DotNet CrmHelper)Δ BC25HasCompanyIdField(TableId: Integer): BooleanCheckCompanyId(var RecRef: RecordRef): BooleanSetCompanyId(var RecRef: RecordRef): BooleanCheckCompanyIdNoTelemetry(var RecRef: RecordRef): BooleanResetCompanyId(var RecRef: RecordRef): BooleanCheckOwningTeam(var RecRef: RecordRef): BooleanCheckOwningTeam(var RecRef: RecordRef; SkipBusinessUnitCheck: Boolean): BooleanCheckOwningTeam(var RecRef: RecordRef; TeamId: Guid; SkipBusinessUnitCheck: Boolean): BooleanCheckOwningUser(var RecRef: RecordRef; UserId: Guid): BooleanCheckOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): BooleanSetOwningTeam(var RecRef: RecordRef): BooleanSetOwningTeam(var RecRef: RecordRef; TeamId: Guid; SkipBusinessUnitCheck: Boolean): BooleanSetOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): BooleanFindCompanyIdField(var RecRef: RecordRef; var CompanyIdFldRef: FieldRef): Boolean(internal)FindOwnerTypeField(var RecRef: RecordRef; var OwnerIdTypeFldRef: FieldRef): BooleanResetCache()GetIntegrationSolutions(var SolutionUniqueNameList: List of [Text])GetIntegrationRequiredRoles(var RequiredRoleIdList: List of [Guid])CheckModifyConnectionURL(var ServerAddress: Text[250])InitializeConnection(var CrmHelper: DotNet CrmHelper): Boolean+ BC25 − BC25InitializeConnection(var CrmHelper: DotNet CrmHelper; var CDSConnectionSetup: Record "CDS Connection Setup"): Boolean+ BC25 − BC25SendConnectionDisabledNotification(DisableReason: Text[250])(internal)SendMultipleCompaniesNotification()Δ BC24MultipleCompanyNotificationHelpLink(Notification: Notification)− BC27DisableMultipleCompanyNotification(Notification: Notification)OpenIntegrationTableMappings(Notification: Notification)InsertBusinessUnitCoupling(var CDSConnectionSetup: Record "CDS Connection Setup")ModifyBusinessUnitCoupling(var CDSConnectionSetup: Record "CDS Connection Setup")DeleteBusinessUnitCoupling(var CDSConnectionSetup: Record "CDS Connection Setup")TestConnection(var CDSConnectionSetup: Record "CDS Connection Setup"): BooleanTryCheckCredentials(var CDSConnectionSetup: Record "CDS Connection Setup")CheckCredentials(var CDSConnectionSetup: Record "CDS Connection Setup")GetCDSVersion(var CDSConnectionSetup: Record "CDS Connection Setup"; var CDSVersion: Text)InitializeProxyVersionList(var TempStack: Record TempStack temporary)GetLastProxyVersionItem(): IntegerClearConnectionDisableReason(var CDSConnectionSetup: Record "CDS Connection Setup")UpdateDomainName(var CDSConnectionSetup: Record "CDS Connection Setup")CheckUserName(var CDSConnectionSetup: Record "CDS Connection Setup")GetAuthenticationTypeToken(var CDSConnectionSetup: Record "CDS Connection Setup"): TextGetAuthenticationTypeToken(var CDSConnectionSetup: Record "CDS Connection Setup"; Domain: Text): TextIsCDSVersionValid(CDSVersion: Text): BooleanIsSolutionVersionValid(SolutionVersion: Text): BooleanMultipleCompaniesConnected(): BooleanΔ BC24GetBusinessEventsSupported(): Boolean(internal)UpdateBusinessEventsSetupFromWizard(var SourceCDSConnectionSetup: Record "CDS Connection Setup")Δ BC25UpdateConnectionSetupFromWizard(var SourceCDSConnectionSetup: Record "CDS Connection Setup"; PasswordText: SecretText)+ BC25 − BC25GetTempConnectionName(): TextGetDefaultBusinessUnitName(): Text[160]GetCompanyExternalId(): Text[36]ShowIntegrationUser(CDSConnectionSetup: Record "CDS Connection Setup")ShowOwningTeam(CDSConnectionSetup: Record "CDS Connection Setup")ShowSyntheticRelationsConfig()+ BC24 (internal)ShowVirtualTablesConfig(CDSConnectionSetup: Record "CDS Connection Setup")(internal)GetCRMEntityUrlFromCRMID(ServerAddress: Text; TableId: Integer; CRMId: Guid; AppName: Text): Text(internal)GetCRMEntityListUrl(var CDSConnectionSetup: Record "CDS Connection Setup"; EntityTypeName: Text; AppName: Text): Text(internal)ScheduleRebuildingOfCouplingTable()GetOptionSetMetadata(EntityName: Text; FieldName: Text): Dictionary of [Integer, Text]InsertOptionSetMetadata(EntityName: Text; FieldName: Text; NewOptionLabel: Text): IntegerInsertOptionSetMetadataWithOptionValue(EntityName: Text; FieldName: Text; NewOptionLabel: Text; NewOptionValue: Integer): IntegerUpdateOptionSetMetadata(EntityName: Text; FieldName: Text; OptionValue: Integer; NewOptionLabel: Text)RegisterConfiguredConnection(var CrmHelper: DotNet CrmHelper): Text+ BC24 (internal)LoadAvailableVirtualTables(var CDSAvVirtualTableBuffer: Record "CDS Av. Virtual Table Buffer"; LoadOnlyVisible: Boolean)+ BC24 − BC24 Δ BC25 (internal)EnableVirtualTables(FilterTxt: Text)(internal)ScheduleEnablingVirtualTables(FilterList: List of [Text])Δ BC25OpenEnableVirtualTablesJobFromNotification(ScheduledJobNotification: Notification)Δ BC25LearnMoreDisablingCRMConnection(ErrorInfo: ErrorInfo)+ BC24CleanCDSIntegration(CompanyName: Text)+ BC24 + BC24 − BC25 (internal)GetEntityMetadata(TableNo: Integer): Text+ BC28 (internal)GetEntityFields(TableNo: Integer; var IntegrationField: Record "Integration Field")+ BC28 (internal)
Plus 97 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 457 “Environment Information” (12 calls:
ConfigureVirtualTables → GetEnvironmentName,EnableAADApp → IsSaaSInfrastructure,GetBusinessEventsSupported → IsSaaSInfrastructure, …) - Codeunit 501 “OAuth2” (8 calls:
GetAccessToken → AcquireAuthorizationCodeTokenFromCache,GetAccessToken → AcquireAuthorizationCodeTokenFromCacheWithCertificate,GetAccessToken → AcquireTokenByAuthorizationCode, …) - Codeunit 1291 “DotNet Exception Handler” (7 calls:
EnrichWithDotNetException → Collect,EnrichWithDotNetException → GetMessage,ProcessConnectionFailures → CastToType, …) - Codeunit 7200 “CDS Integration Mgt.” (6 calls:
GetIntegrationRequiredRoles → OnGetIntegrationRequiredRoles,GetIntegrationSolutions → OnGetIntegrationSolutions,HasCompanyIdField → OnHasCompanyIdField, …) - Codeunit 2200 “Azure Key Vault” (5 calls:
GetCDSConnectionClientId → GetAzureKeyVaultSecret,GetCDSConnectionClientSecret → GetAzureKeyVaultSecret,GetCDSConnectionFirstPartyAppCertificate → GetAzureKeyVaultCertificate, …) - Codeunit 5330 “CRM Integration Management” (5 calls:
GetCRMEntityUrlFromCRMID → GetCRMEntityTypeName,ShowIntegrationUser → GetCRMEntityUrlFromCRMID,ShowOwningTeam → GetCRMEntityUrlFromCRMID, …) - Codeunit 1990 “Guided Experience” (3 calls:
RegisterAssistedSetup → AddTranslationForSetupObjectTitle,RegisterAssistedSetup → Exists,RegisterAssistedSetup → InsertAssistedSetup) - Codeunit 43 “Language” (2 calls:
GetVirtualTablesAppSourceLink → GetCultureName,RegisterAssistedSetup → GetDefaultApplicationLanguageId) - Codeunit 150 “System Initialization” (1 call:
ShowError → IsInProgress) - Codeunit 433 “Azure AD Tenant” (1 call:
GetAadTenantId → GetAadTenantId) - Codeunit 453 “Job Queue - Enqueue” (1 call:
ScheduleEnablingVirtualTables → (object)) - Codeunit 9005 “Url Helper” (1 call:
ConfigureVirtualTables → IsPPE) - Codeunit 9557 “Table Key” (1 call:
CleanCDSIntegration → DisableAll) - Codeunit 9801 “Identity Management” (1 call:
EnableAADApp → IsUserNamePasswordAuthentication) - Page 1313 “Dynamics CRM Admin Credentials” (1 call:
PromptForAdminCredentials → (object)) - Page 5332 “SDK Version List” (1 call:
SelectSDKVersion → (object)) - Page 5335 “Integration Table Mapping List” (1 call:
OpenIntegrationTableMappings → (object)) - Page 672 “Job Queue Entries” (1 call:
OpenEnableVirtualTablesJobFromNotification → (object)) - Page 7203 “CDS Business Units” (1 call:
SelectBusinessUnit → (object)) - Page extension 9204 “User Settings” (1 call:
GetVirtualTablesAppSourceLink → (object))
Called by
- Codeunit 7200 “CDS Integration Mgt.” (28 calls:
ActivateConnection → ActivateConnection,CheckCompanyId → CheckCompanyId,CheckOwningTeam → CheckOwningTeam, …) - Codeunit 7205 “CDS Int. Table. Subscriber” (26 calls:
AddCoupledUserToDefaultOwningTeam → AddUsersToDefaultOwningTeam,AddCoupledUserToDefaultOwningTeam → IsIntegrationEnabled,AddCoupledUserToDefaultOwningTeam → SignInCDSAdminUser, …) - Page 7200 “CDS Connection Setup” (17 calls:
InitializeDefaultProxyVersion → GetLastProxyVersionItem,OnInit → GetBaseSolutionDisplayName,OnInit → GetBaseSolutionUniqueName, …) - Page 7201 “CDS Connection Setup Wizard” (15 calls:
AddCoupledUsersToDefaultOwningTeam → AddCoupledUsersToDefaultOwningTeam,ConfigureCDSSolution → ActivateConnection,ConfigureCDSSolution → CheckCredentials, …) - Table 6623 “FS Connection Setup” (13 calls:
DeployFSSolution → GetAccessToken,GetConnectionStringWithCredentials → GetCDSConnectionClientId,GetConnectionStringWithCredentials → GetCDSConnectionClientSecret, …) - Codeunit 5341 “CRM Int. Table. Subscriber” (12 calls:
OnFindingIfJobNeedsToBeRun → IsIntegrationEnabled,OnFindingIfJobNeedsToBeRun → RegisterConnection,OnFindingIfJobNeedsToBeRun → UnregisterConnection, …) - Codeunit 5330 “CRM Integration Management” (10 calls:
CheckOrEnableCRMConnection → RegisterAssistedSetup,ImportCRMSolution → ActivateConnection,ImportCRMSolution → AssignTeamRole, …) - Codeunit 6615 “FS Integration Mgt.” (10 calls:
ImportFSSolution → ActivateConnection,ImportFSSolution → AssignTeamRole,ImportFSSolution → GetAuthenticationTypeToken, …) - Codeunit 7203 “CDS Environment” (9 calls:
GetCDSEnvironmentCount → GetDataverseCloudEndpoints,GetGlobalDiscoverabilityOnBehalfTokenAsSecretText → GetDataverseCloudEndpoints,GetGlobalDiscoverabilityOnBehalfTokenAsSecretText → GetRedirectURL, …) - Table 5330 “CRM Connection Setup” (8 calls:
DeployCRMSolution → GetAccessToken,GetSecretConnectionStringWithCredentials → GetCDSConnectionClientId,GetSecretConnectionStringWithCredentials → GetCDSConnectionClientSecret, …) - Table 7200 “CDS Connection Setup” (8 calls:
DisableConnection → UnregisterConnection,EnableConnection → CheckIntegrationRequirements,EnableConnection → ClearConnectionDisableReason, …) - Codeunit 7202 “Synthetic Relations” (6 calls:
CreateAlternateKeyForColumns → RegisterConfiguredConnection,CreateSyntheticRelation → RegisterConfiguredConnection,DeleteSyntheticRelation → RegisterConfiguredConnection, …) - Page 7205 “CDS Integration User Roles” (5 calls:
OnInit → CheckConnectionRequiredFields,OnInit → GetIntegrationRequiredRoles,OnInit → GetIntegrationUserId, …) - Page 7206 “CDS Owning Team Roles” (5 calls:
OnInit → CheckConnectionRequiredFields,OnInit → GetIntegrationRequiredRoles,OnInit → GetOwningTeamId, …) - Page 7213 “CRM BC Virtual Table Config.” (5 calls:
InitAsAdmin → GetAccessToken,InitAsAdmin → GetTempConnectionSetup,Initialize → GetTempConnectionName, …) - Codeunit 5337 “CDS Int. Table Uncouple” (4 calls:
ResetStuckCompanyId → FindCompanyIdField,ResetStuckCompanyId → HasCompanyIdField,ResetStuckCompanyId → ResetCompanyId, …) - Page 7204 “CDS Integration Solutions” (4 calls:
OnInit → CheckConnectionRequiredFields,OnInit → GetIntegrationSolutions,OnInit → GetTempConnectionName, …) - Page 5330 “CRM Connection Setup” (3 calls:
OnOpenPage → SendMultipleCompaniesNotification,TryDetectMultipleCompanies → MultipleCompaniesConnected,UpdateEnableFlags → IsIntegrationEnabled) - Page 5340 “CRM Systemuser List” (3 calls:
AddUsersToDefaultOwningTeam → AddUsersToDefaultOwningTeam,AddUsersToDefaultOwningTeam → GetDefaultOwningTeamMembership,OnInit → GetDefaultOwningTeamMembership) - Page 6612 “FS Connection Setup” (3 calls:
OnOpenPage → SendMultipleCompaniesNotification,TryDetectMultipleCompanies → MultipleCompaniesConnected,UpdateEnableFlags → IsIntegrationEnabled) - Page 7202 “CDS Admin Credentials” (3 calls:
SetConnectionSetupProperties → CheckAdminUserPrerequisites,SetConnectionSetupProperties → GetLastProxyVersionItem,SetConnectionSetupProperties → UpdateConnectionString) - Page 7209 “CDS Couple Salespersons” (3 calls:
AddUsersToDefaultOwningTeam → AddUsersToDefaultOwningTeam,AddUsersToDefaultOwningTeam → GetDefaultOwningTeamMembership,OnInit → GetDefaultOwningTeamMembership) - Table 5335 “Integration Table Mapping” (2 calls:
DisableMultiCompanySynchronization → FindCompanyIdField,EnableMultiCompanySynchronization → FindCompanyIdField) - Codeunit 5342 “CRM Synch. Helper” (1 call:
FulfillSalesOrder → InitializeConnection) - Codeunit 5343 “CRM Sales Order to Sales Order” (1 call:
SetCompanyId → IsIntegrationEnabled) - Codeunit 5372 “Enable CDS Virtual Tables” (1 call:
OnRun → EnableVirtualTables) - Codeunit 6154 “API Webhook Notification Send” (1 call:
AddTokenToRequestHeader → GetBusinessEventAccessToken) - Codeunit 6610 “FS Int. Table Subscriber” (1 call:
SetCompanyId → CheckCompanyIdNoTelemetry) - Codeunit 7206 “CDS Setup Certificate Auth” (1 call:
OnRun → SetupCertificatetAuthenticationNoPrompt) - Codeunit 8912 “Environment Cleanup Subs” (1 call:
ClearCompanyConfigGeneral → CleanCDSIntegration) - Page 1817 “CRM Connection Setup Wizard” (1 call:
FinalizeSetup → GetAccessToken) - Page 5331 “CRM Full Synch. Review” (1 call:
OnOpenPage → MultipleCompaniesConnected) - Page 5372 “CDS Available Virtual Tables” (1 call:
OnOpenPage → LoadAvailableVirtualTables) - Page 6613 “FS Connection Setup Wizard” (1 call:
FinalizeSetup → GetAccessToken) - Page 7208 “CDS Full Synch. Review” (1 call:
OnOpenPage → MultipleCompaniesConnected)
Recent changes
- 2026-10-05 #9953 Rename AppSource UI text to Marketplace (main, BC30, other)
- 2026-09-22 #11171 [Security][Hardening] Validate integration URLs stored in setup tables (main, BC30, fix)
- 2026-08-19 #10207 [Dataverse] Use Truncate for CRM Integration Record cleanup during environment copy (main, BC30, performance)
- 2026-07-09 #9127 Add Dataverse Cloud endpoints override for sovereign clouds (main, BC30, feature)
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: "CDS Integration Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.