Skip to content

[Extensibility Request] issue 30429: add events to disambiguate CRM integration table mappings - #10578

Open
Onat Buyukakkus (onbuyuka) wants to merge 1 commit into
mainfrom
bugs/647520-crm-integration-events
Open

[Extensibility Request] issue 30429: add events to disambiguate CRM integration table mappings#10578
Onat Buyukakkus (onbuyuka) wants to merge 1 commit into
mainfrom
bugs/647520-crm-integration-events

Conversation

@onbuyuka

@onbuyuka Onat Buyukakkus (onbuyuka) commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds four integration events so extensions can select the correct Integration Table Mapping when several mappings share the same Business Central Table ID — for example, a Sales Header mapping that syncs quotes alongside the standard sales order mapping. Today the base code disambiguates only by Table ID, so extensions with additional same-table mappings can resolve the wrong mapping during order-status updates, coupling, uncoupling, and match-based coupling.

Requested via ALAppExtensions #30429.

Changes

Object Procedure New event
Codeunit "CRM Order Status Update Job" UpdateSalesOrders OnUpdateSalesOrdersOnBeforeFindIntegrationTableMapping
Table "Coupling Record Buffer" Initialize OnAfterInitialize
Codeunit "CRM Integration Management" RemoveCoupling OnRemoveCouplingOnBeforeGetIntegrationTableMappingForUncoupling
Codeunit "CRM Integration Management" MatchBasedCoupling OnMatchBasedCouplingOnBeforeGetIntegrationTableMappingForMatchBasedCoupling

All events are thin [IntegrationEvent(false, false)] publishers. RecordRef context parameters are passed by value (read-only) so subscribers can inspect the source record to choose the mapping without mutating the caller's state, matching the existing input-only RecordRef events in the integration sync engine.

Fixes AB#647520

…ntegration table mappings

Adds four integration events so extensions can select the correct
"Integration Table Mapping" when multiple mappings share the same BC
"Table ID" (for example, a Sales Header mapping that syncs quotes
alongside the standard sales order mapping):

- Codeunit "CRM Order Status Update Job" (UpdateSalesOrders):
  OnUpdateSalesOrdersOnBeforeFindIntegrationTableMapping
- Table "Coupling Record Buffer" (Initialize):
  OnAfterInitialize
- Codeunit "CRM Integration Management" (RemoveCoupling):
  OnRemoveCouplingOnBeforeGetIntegrationTableMappingForUncoupling
- Codeunit "CRM Integration Management" (MatchBasedCoupling):
  OnMatchBasedCouplingOnBeforeGetIntegrationTableMappingForMatchBasedCoupling

RecordRef context parameters are passed by value (read-only) so
subscribers can inspect the source record without mutating caller state.

Fixes AB#647520

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4f698109-800e-4840-b9b5-603e3e682257
@onbuyuka
Onat Buyukakkus (onbuyuka) requested a review from a team August 24, 2026 22:42
@onbuyuka
Onat Buyukakkus (onbuyuka) requested a review from a team as a code owner August 24, 2026 22:42
@github-actions github-actions Bot added the Team: Integrations GitHub request for Integrations area label Aug 24, 2026
@github-actions github-actions Bot added this to the Version 29.0 milestone Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Team: Integrations GitHub request for Integrations area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant