Codeunit 7200 "CDS Integration Mgt."
Base Application · Microsoft.Integration.Dataverse
Across versions
- BC23present
- BC241 procedures added
- BC25-27unchanged
- BC2830 procedures changed, 12 events changed
- BC29-30unchanged
Neighbourhood 29 connected objects and pages
Base Application · Microsoft.Integration.Dataverse · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
| SingleInstance | true |
Events published
OnBeforeRegisterConnection()Δ BC28 (integration): Integration event raised before registering the Dataverse connection.OnAfterRegisterConnection()Δ BC28 (integration): Integration event raised after registering the Dataverse connection.OnBeforeUnregisterConnection()Δ BC28 (integration): Integration event raised before unregistering the Dataverse connection.OnAfterUnregisterConnection()Δ BC28 (integration): Integration event raised after unregistering the Dataverse connection.OnBeforeActivateConnection()Δ BC28 (integration): Integration event raised before activating the Dataverse connection.OnAfterActivateConnection()Δ BC28 (integration): Integration event raised after activating the Dataverse connection.OnEnableIntegration()Δ BC28 (integration): Integration event raised when the Dataverse integration is enabled.- subscribers: Codeunit 7204 “CDS Setup Defaults” HandleOnEnableIntegration
OnDisableIntegration()Δ BC28 (integration): Integration event raised when the Dataverse integration is disabled.OnGetIntegrationRequiredRoles(var RequiredRoleIdList: List of [Guid])Δ BC28 (integration): Integration event to retrieve the list of required Dataverse security roles for integration.- subscribers: Codeunit 5330 “CRM Integration Management” HandleOnGetIntegrationRequiredRoles
OnGetIntegrationSolutions(var SolutionUniqueNameList: List of [Text])Δ BC28 (integration): Integration event to retrieve the list of required Dataverse solutions for integration.- subscribers: Codeunit 5330 “CRM Integration Management” HandleOnGetIntegrationSolutions
OnGetDetailedLoggingEnabled(var Enabled: Boolean)Δ BC28 (integration): Integration event to determine if detailed logging is enabled for Dataverse integration.OnHasCompanyIdField(TableId: Integer; var HasField: Boolean)Δ BC28 (integration): Integration event to check if a table has a company ID field.- subscribers: Codeunit 6610 “FS Int. Table Subscriber” HandleOnHasCompanyIdField, Codeunit 7205 “CDS Int. Table. Subscriber” HandleOnHasCompanyIdField
Procedures
TestConnection(): BooleanΔ BC28: Tests if the active connection to Dataverse is working.ActivateConnection(): BooleanΔ BC28: Activates the connection to Dataverse.RegisterConnection(): BooleanΔ BC28: Registers the connection to Dataverse.IsIntegrationEnabled(): BooleanΔ BC28: Checks if the Dataverse integration is enabled.IsBusinessEventsEnabled(): BooleanΔ BC28: Checks if business events are enabled for the Dataverse integration.IsConnectionActive(): BooleanΔ BC28: Checks if the connection to Dataverse is currently active.IsSolutionInstalled(): BooleanΔ BC28 Δ BC28: Checks if the default Dataverse integration solution is installed.IsSolutionInstalled(UniqueName: Text): BooleanΔ BC28 Δ BC28: Checks if a specific Dataverse solution is installed.GetSolutionVersion(var Version: Text): BooleanΔ BC28 Δ BC28: Gets the version of the default Dataverse integration solution.GetSolutionVersion(UniqueName: Text; var Version: Text): BooleanΔ BC28 Δ BC28: Gets the version of a specific Dataverse solution.CheckCompanyId(var RecRef: RecordRef): BooleanΔ BC28: Checks if the company ID on the record matches the current company.CheckOwningTeam(var RecRef: RecordRef): BooleanΔ BC28: Checks if the record is owned by the configured owning team.CheckOwningUser(var RecRef: RecordRef; UserId: Guid): BooleanΔ BC28 Δ BC28: Checks if the record is owned by the specified user.CheckOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): BooleanΔ BC28 Δ BC28: Checks if the record is owned by the specified user with an option to skip business unit check.HasCompanyIdField(TableId: Integer): BooleanΔ BC28: Checks if the specified table has a company ID field.ResetCompanyId(var RecRef: RecordRef): BooleanΔ BC28: Resets the company ID field on the record to empty.SetCompanyId(var RecRef: RecordRef): BooleanΔ BC28: Sets the company ID field on the record to the current company.SetOwningTeam(var RecRef: RecordRef): BooleanΔ BC28: Sets the owning team on the record to the configured default team.SetOwningUser(var RecRef: RecordRef; UserId: Guid): BooleanΔ BC28 Δ BC28: Sets the owning user on the record to the specified user.SetOwningUser(var RecRef: RecordRef; UserId: Guid; SkipBusinessUnitCheck: Boolean): BooleanΔ BC28 Δ BC28: Sets the owning user on the record to the specified user with an option to skip business unit check.GetCDSCompany(var CDSCompany: Record "CDS Company"): BooleanΔ BC28: Gets the Dataverse company record that corresponds to the current Business Central company.GetCoupledBusinessUnitId(): GuidΔ BC28: Gets the ID of the business unit that is coupled with the current company.IsTeamOwnershipModelSelected(): BooleanΔ BC28: Checks if the team ownership model is selected for the integration.RegisterAssistedSetup()Δ BC28: Registers the Dataverse integration assisted setup.ResetCache()Δ BC28: Resets the cached integration data.GetOptionSetMetadata(EntityName: Text; FieldName: Text): Dictionary of [Integer, Text]Δ BC28: Gets the metadata for an option set field in Dataverse.InsertOptionSetMetadata(EntityName: Text; FieldName: Text; NewOptionLabel: Text): IntegerΔ BC28: Inserts a new option into an option set field in Dataverse.InsertOptionSetMetadataWithOptionValue(EntityName: Text; FieldName: Text; NewOptionLabel: Text; NewOptionValue: Integer): IntegerΔ BC28: Inserts a new option into an option set field in Dataverse with a specific option value.UpdateOptionSetMetadata(EntityName: Text; FieldName: Text; OptionValue: Integer; NewOptionLabel: Text)Δ BC28: Updates the label of an existing option in an option set field in Dataverse.FindCompanyIdField(var RecRef: RecordRef; var CompanyIdFldRef: FieldRef): Boolean+ BC24 Δ BC28: Finds the company ID field in a record reference.GetEntityMetadata(TableNo: Integer): Text+ BC28: Gets the entity metadata for a Dataverse table.GetEntityFields(TableNo: Integer; var IntegrationField: Record "Integration Field")+ BC28: Gets the field metadata for a Dataverse entity and populates a temporary Field record.
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 7201 “CDS Integration Impl.” (28 calls:
ActivateConnection → ActivateConnection,CheckCompanyId → CheckCompanyId,CheckOwningTeam → CheckOwningTeam, …)
Called by
- Codeunit 6611 “FS Setup Defaults” (14 calls:
InsertIntegrationTableMapping → HasCompanyIdField,ResetConfiguration → ActivateConnection,ResetConfiguration → RegisterConnection, …) - Codeunit 7205 “CDS Int. Table. Subscriber” (12 calls:
HandleOnBeforeUncoupleRecord → OnHasCompanyIdField,HandleOnBeforeUncoupleRecord → ResetCompanyId,HandleOnIsCDSIntegrationEnabled → IsIntegrationEnabled, …) - Codeunit 5334 “CRM Setup Defaults” (10 calls:
InsertIntegrationTableMapping → HasCompanyIdField,ResetBidirectionalSalesOrderMapping → GetCDSCompany,ResetConfiguration → IsTeamOwnershipModelSelected, …) - Codeunit 7204 “CDS Setup Defaults” (7 calls:
InsertIntegrationTableMapping → HasCompanyIdField,ResetConfiguration → ActivateConnection,ResetConfiguration → IsTeamOwnershipModelSelected, …) - Codeunit 7201 “CDS Integration Impl.” (6 calls:
GetIntegrationRequiredRoles → OnGetIntegrationRequiredRoles,GetIntegrationSolutions → OnGetIntegrationSolutions,HasCompanyIdField → OnHasCompanyIdField, …) - Codeunit 6610 “FS Int. Table Subscriber” (5 calls:
HandleOnBeforeUncoupleRecord → OnHasCompanyIdField,HandleOnBeforeUncoupleRecord → ResetCompanyId,OnEnableMultiCompanySynchronization → FindCompanyIdField, …) - Table 7200 “CDS Connection Setup” (4 calls:
DisableConnection → OnDisableIntegration,EnableConnection → OnEnableIntegration,SetBaseCurrencyData → ActivateConnection, …) - Codeunit 6277 “Sust. Setup Defaults” (3 calls:
InsertIntegrationTableMapping → HasCompanyIdField,ResetConfiguration → ActivateConnection,ResetConfiguration → RegisterConnection) - Table 5335 “Integration Table Mapping” (3 calls:
CreateRecord → HasCompanyIdField,DisableMultiCompanySynchronization → GetCDSCompany,EnableMultiCompanySynchronization → GetCDSCompany) - Codeunit 5330 “CRM Integration Management” (2 calls:
CheckSolutionVersionOutdated → GetSolutionVersion,ResetIntTableMappingDefaultConfiguration → IsTeamOwnershipModelSelected) - Codeunit 5364 “Int. Option Synch. Invoke” (2 calls:
InsertCRMOption → InsertOptionSetMetadata,ModifyCRMOption → UpdateOptionSetMetadata) - Codeunit 5348 “CRM Quote to Sales Quote” (1 call:
OnRun → GetCDSCompany) - Codeunit 5391 “Man. Int. Field Mapping” (1 call:
TryCreateRuntimeFields → GetEntityMetadata) - Codeunit 6153 “API Webhook Notification Mgt.” (1 call:
GetSubscriptions → IsBusinessEventsEnabled) - Page 1279 “Service Connections” (1 call:
OnInit → RegisterAssistedSetup) - Page 1310 “O365 Activities” (1 call:
OnOpenPage → IsIntegrationEnabled) - Page 5351 “CRM Sales Quote List” (1 call:
OnOpenPage → GetCDSCompany) - Page 9062 “User Security Activities” (1 call:
OnOpenPage → IsIntegrationEnabled) - Page 9072 “IT Operations Activities” (1 call:
OnOpenPage → IsIntegrationEnabled) - Page 9076 “Sales & Relationship Mgr. Act.” (1 call:
OnOpenPage → IsIntegrationEnabled) - Table 5332 “Coupling Record Buffer” (1 call:
FindCRMOptionByName → GetOptionSetMetadata) - Table 5384 “Man. Int. Field Mapping” (1 call:
GetAllValidIntegrationFields → GetEntityFields) - Table 7203 “CRM Payment Terms” (1 call:
Load → GetOptionSetMetadata) - Table 7204 “CRM Freight Terms” (1 call:
Load → GetOptionSetMetadata) - Table 7205 “CRM Shipping Method” (1 call:
Load → GetOptionSetMetadata)
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 Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.