codeunitIntegration & APIsofficial - Microsoftderived - from the source, no model text

Codeunit 7201 "CDS Integration Impl."

Base Application · Microsoft.Integration.Dataverse

Across versions

  1. BC23present
  2. BC247 procedures added, 3 procedures changed
  3. BC2523 procedures added, 18 procedures removed
  4. BC26unchanged
  5. BC271 procedures removed
  6. BC283 procedures removed, 2 procedures added
  7. BC291 procedures added, 1 events removed
  8. BC301 procedures added

Neighbourhood 53 connected objects and pages

Codeunit 7200 "CDS Integration Mgt." (calls, 34 links)CDS Integration Mgt.Codeunit 7205 "CDS Int. Table. Subscriber" (calls, 26 links)CDS Int. Table. SubscriberPage 7200 "CDS Connection Setup" (calls, 17 links)Codeunit 5330 "CRM Integration Management" (calls, 15 links)CRM Integration ManagementPage 7201 "CDS Connection Setup Wizard" (calls, 15 links)Table 6623 "FS Connection Setup" (calls, 13 links)FS Connection SetupCodeunit 457 "Environment Information" (calls, 12 links)Codeunit 5341 "CRM Int. Table. Subscriber" (calls, 12 links)CRM Int. Table. SubscriberCodeunit 6615 "FS Integration Mgt." (calls, 10 links)Codeunit 7203 "CDS Environment" (calls, 9 links)CDS EnvironmentCodeunit 501 "OAuth2" (calls, 8 links)OAuth2Table 5330 "CRM Connection Setup" (calls, 8 links)CRM Connection SetupTable 7200 "CDS Connection Setup" (calls, 8 links)CDS Connection SetupCodeunit 1291 "DotNet Exception Handler" (calls, 7 links)Codeunit 7202 "Synthetic Relations" (calls, 6 links)Synthetic RelationsCodeunit 2200 "Azure Key Vault" (calls, 5 links)Azure Key VaultPage 7205 "CDS Integration User Roles" (calls, 5 links)CDS Integration User RolesPage 7206 "CDS Owning Team Roles" (calls, 5 links)Page 7213 "CRM BC Virtual Table Config." (calls, 5 links)CRM BC Virtual Table Config.Codeunit 5337 "CDS Int. Table Uncouple" (calls, 4 links)Page 7204 "CDS Integration Solutions" (calls, 4 links)CDS Integration SolutionsCodeunit 1990 "Guided Experience" (calls, 3 links)Page 5330 "CRM Connection Setup" (calls, 3 links)Page 5340 "CRM Systemuser List" (calls, 3 links)Page 6612 "FS Connection Setup" (calls, 3 links)Page 7202 "CDS Admin Credentials" (calls, 3 links)Page 7209 "CDS Couple Salespersons" (calls, 3 links)Codeunit 43 "Language" (calls, 2 links)Table 5335 "Integration Table Mapping" (calls, 2 links)Codeunit 150 "System Initialization" (calls)Codeunit 433 "Azure AD Tenant" (calls)Codeunit 453 "Job Queue - Enqueue" (calls)Codeunit 5342 "CRM Synch. Helper" (calls)Codeunit 5343 "CRM Sales Order to Sales Order" (calls)Codeunit 5372 "Enable CDS Virtual Tables" (calls)Codeunit 6154 "API Webhook Notification Send" (calls)Codeunit 6610 "FS Int. Table Subscriber" (calls)Codeunit 7206 "CDS Setup Certificate Auth" (calls)Codeunit 8912 "Environment Cleanup Subs" (calls)Codeunit 9005 "Url Helper" (calls)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

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(): Text
  • GetBaseSolutionDisplayName(): Text
  • IsConnectionActive(): Boolean
  • IsConnectionActive(ConnectionName: Text): Boolean
  • ActivateConnection(): Boolean
  • ActivateConnection(ConnectionName: Text): Boolean
  • HasConnection(): Boolean
  • RegisterConnection(): Boolean Δ BC25
  • RegisterConnection(KeepExisting: Boolean): Boolean Δ BC25
  • RegisterConnection(ConnectionName: Text): Boolean Δ BC25
  • RegisterConnection(ConnectionName: Text; KeepExisting: Boolean): Boolean Δ BC25
  • RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; KeepExisting: Boolean): Boolean Δ BC25
  • RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionName: Text): Boolean Δ BC25
  • RegisterConnection(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionName: Text; KeepExisting: Boolean): Boolean Δ BC25
  • UnregisterConnection(): Boolean
  • UnregisterConnection(ConnectionName: Text)
  • IsIntegrationEnabled(): Boolean
  • IsBusinessEventsEnabled(): Boolean
  • IsTeamOwnershipModelSelected(): Boolean
  • GetConnectionDefaultName(): Text
  • IsSolutionInstalled(): Boolean
  • IsSolutionInstalled(var CDSConnectionSetup: Record "CDS Connection Setup"): Boolean
  • IsSolutionInstalled(UniqueName: Text): Boolean
  • IsSolutionInstalled(var CDSConnectionSetup: Record "CDS Connection Setup"; UniqueName: Text): Boolean
  • GetSolutionVersion(var Version: Text): Boolean
  • GetSolutionVersion(var CDSConnectionSetup: Record "CDS Connection Setup"; var Version: Text): Boolean
  • GetSolutionVersion(UniqueName: Text; var Version: Text): Boolean
  • GetSolutionVersion(var CDSConnectionSetup: Record "CDS Connection Setup"; UniqueName: Text; var Version: Text): Boolean
  • OpenVirtualTablesApp(ErrorInfo: ErrorInfo) + BC25 (internal)
  • SetupVirtualTables(var CDSConnectionSetup: Record "CDS Connection Setup"; var ConfigId: Guid) Δ BC25 + BC25 − BC25
  • SetupVirtualTables(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") Δ BC25
  • SetupCertificatetAuthenticationNoPrompt(var CDSConnectionSetup: Record "CDS Connection Setup")
  • AddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"): Integer
  • AddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var TempCRMSystemuser: Record "CRM Systemuser" temporary): Integer
  • AddUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var TempCRMSystemuser: Record "CRM Systemuser" temporary): Integer
  • AddCoupledUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper): Integer
  • AddUsersToDefaultOwningTeam(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; var TempCRMSystemuser: Record "CRM Systemuser" temporary): Integer
  • GetTempConnectionSetup(var TempCDSConnectionSetup: Record "CDS Connection Setup" temporary; var CDSConnectionSetup: Record "CDS Connection Setup"; AccessToken: SecretText) + BC25 − BC25
  • TestActiveConnection(): Boolean
  • TestSystemUsersAvailability()
  • CheckIntegrationRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • CheckIntegrationSolutionRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • CheckIntegrationUserRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • CheckOwningTeamRequirements(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • CheckIntegrationUserPrerequisites(var CDSConnectionSetup: Record "CDS Connection Setup"; AdminUserName: text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text) Δ BC25 + BC25 − BC28
  • CheckAdminUserPrerequisites(var CDSConnectionSetup: Record "CDS Connection Setup"; AdminUserName: Text; AdminPassword: Text; AccessToken: Text; AdminADDomain: Text)
  • IsVirtualTablesAppInstalled(var TempAdminCDSConnectionSetup: Record "CDS Connection Setup" temporary) Δ BC25
  • CheckEntitiesAvailability(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • SelectSDKVersion(var CDSConnectionSetup: Record "CDS Connection Setup"): Boolean
  • SelectBusinessUnit(var CDSConnectionSetup: Record "CDS Connection Setup"): Boolean
  • CheckConnectionRequiredFields(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • CheckConnectionRequiredFieldsMatch(var CDSConnectionSetup: Record "CDS Connection Setup"; Silent: Boolean): Boolean
  • RegisterAssistedSetup()
  • UpdateConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup")
  • GetConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup"): Text
  • SetConnectionString(var CDSConnectionSetup: Record "CDS Connection Setup"; ConnectionString: Text) Δ BC25
  • TryGetCDSCompany(var CDSCompany: Record "CDS Company")
  • GetCDSCompany(var CDSCompany: Record "CDS Company")
  • TryGetCompanyId(var CompanyId: Guid)
  • GetCoupledBusinessUnitId(): Guid
  • GetIntegrationUserId(var CDSConnectionSetup: Record "CDS Connection Setup"): Guid
  • GetOwningTeamId(var CDSConnectionSetup: Record "CDS Connection Setup"): Guid
  • GetDefaultOwningTeamMembership(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): Boolean
  • ImportAndConfigureIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; RenewSolution: Boolean): Boolean
  • ImportAndConfigureIntegrationSolution(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 − BC25
  • ReplaceUserNamePasswordInConnectionString(CDSConnectionSetup: Record "CDS Connection Setup"; NewUserName: Text; NewPassword: SecretText): SecretText Δ BC25 + BC25 − BC28
  • GetDataverseCloudEndpoints(): Interface "Dataverse Cloud Endpoints" + BC29 (internal)
  • GetAccessToken(ResourceURL: Text; GetTokenFromCache: Boolean; var AccessToken: SecretText) Δ BC25 + BC25 − BC28
  • GetBusinessEventAccessToken(ResourceURL: Text; GetTokenFromCache: Boolean; var AccessToken: SecretText) + BC25 − BC25
  • GetRedirectURL(): Text
  • GetCDSConnectionClientId(): Text Δ BC25
  • GetCDSConnectionFirstPartyAppId(): Text
  • GetCDSConnectionClientSecret(): SecretText Δ BC25
  • GetCDSConnectionFirstPartyAppCertificate(): Text
  • ImportIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; AdminUsername: Text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text; RenewSolution: Boolean) + BC25 − BC25
  • ConfigureIntegrationSolution(var CDSConnectionSetup: Record "CDS Connection Setup"; var CrmHelper: DotNet CrmHelper; AdminUserName: Text; AdminPassword: SecretText; AccessToken: SecretText; AdminADDomain: Text; IsSilent: Boolean) + BC25 − BC25
  • JITProvisionFirstPartyApp(var CrmHelper: DotNet CrmHelper) Δ BC25
  • HasCompanyIdField(TableId: Integer): Boolean
  • CheckCompanyId(var RecRef: RecordRef): Boolean
  • SetCompanyId(var RecRef: RecordRef): Boolean
  • CheckCompanyIdNoTelemetry(var RecRef: RecordRef): Boolean
  • ResetCompanyId(var RecRef: RecordRef): Boolean
  • CheckOwningTeam(var RecRef: RecordRef): Boolean
  • CheckOwningTeam(var RecRef: RecordRef; SkipBusinessUnitCheck: Boolean): Boolean
  • CheckOwningTeam(var RecRef: RecordRef; TeamId: Guid; SkipBusinessUnitCheck: Boolean): Boolean
  • CheckOwningUser(var RecRef: RecordRef; UserId: Guid): Boolean
  • CheckOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): Boolean
  • SetOwningTeam(var RecRef: RecordRef): Boolean
  • SetOwningTeam(var RecRef: RecordRef; TeamId: Guid; SkipBusinessUnitCheck: Boolean): Boolean
  • SetOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): Boolean
  • FindCompanyIdField(var RecRef: RecordRef; var CompanyIdFldRef: FieldRef): Boolean (internal)
  • FindOwnerTypeField(var RecRef: RecordRef; var OwnerIdTypeFldRef: FieldRef): Boolean
  • ResetCache()
  • GetIntegrationSolutions(var SolutionUniqueNameList: List of [Text])
  • GetIntegrationRequiredRoles(var RequiredRoleIdList: List of [Guid])
  • CheckModifyConnectionURL(var ServerAddress: Text[250])
  • InitializeConnection(var CrmHelper: DotNet CrmHelper): Boolean + BC25 − BC25
  • InitializeConnection(var CrmHelper: DotNet CrmHelper; var CDSConnectionSetup: Record "CDS Connection Setup"): Boolean + BC25 − BC25
  • SendConnectionDisabledNotification(DisableReason: Text[250]) (internal)
  • SendMultipleCompaniesNotification() Δ BC24
  • DisableMultipleCompanyNotification(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"): Boolean
  • TryCheckCredentials(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(): Integer
  • ClearConnectionDisableReason(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"): Text
  • GetAuthenticationTypeToken(var CDSConnectionSetup: Record "CDS Connection Setup"; Domain: Text): Text
  • IsCDSVersionValid(CDSVersion: Text): Boolean
  • IsSolutionVersionValid(SolutionVersion: Text): Boolean
  • MultipleCompaniesConnected(): Boolean Δ BC24
  • GetBusinessEventsSupported(): Boolean (internal)
  • UpdateBusinessEventsSetupFromWizard(var SourceCDSConnectionSetup: Record "CDS Connection Setup") Δ BC25
  • UpdateConnectionSetupFromWizard(var SourceCDSConnectionSetup: Record "CDS Connection Setup"; PasswordText: SecretText) + BC25 − BC25
  • GetTempConnectionName(): Text
  • GetDefaultBusinessUnitName(): 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): Integer
  • InsertOptionSetMetadataWithOptionValue(EntityName: Text; FieldName: Text; NewOptionLabel: Text; NewOptionValue: Integer): Integer
  • UpdateOptionSetMetadata(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]) Δ BC25
  • OpenEnableVirtualTablesJobFromNotification(ScheduledJobNotification: Notification) Δ BC25
  • LearnMoreDisablingCRMConnection(ErrorInfo: ErrorInfo) + BC24
  • CleanCDSIntegration(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.

Called by

Recent changes

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.

Evidence 1 sources