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

Codeunit 5342 "CRM Synch. Helper"

Base Application · Microsoft.Integration.Dataverse

Across versions

  1. BC23present
  2. BC241 events changed
  3. BC25unchanged
  4. BC261 procedures added, 1 procedures removed
  5. BC271 events added
  6. BC28-30unchanged

Neighbourhood 30 connected objects and pages

Codeunit 7205 "CDS Int. Table. Subscriber" (event subscribers, 6 links)CDS Int. Table. SubscriberCodeunit 7237 "Master Data Mgt. Subscribers" (event subscribers)Master Data Mgt. SubscribersCodeunit 5341 "CRM Int. Table. Subscriber" (calls, 70 links)CRM Int. Table. SubscriberCodeunit 7205 "CDS Int. Table. Subscriber" (calls, 22 links)CDS Int. Table. SubscriberCodeunit 6276 "Sust. Int. Table Subscriber" (calls, 7 links)Codeunit 5344 "CRM Product Name" (calls, 6 links)CRM Product NameCodeunit 5340 "CRM Integration Table Synch." (calls, 3 links)CRM Integration Table Synch.Codeunit 5350 "CRM Statistics Job" (calls, 3 links)CRM Statistics JobCodeunit 7237 "Master Data Mgt. Subscribers" (calls, 2 links)Master Data Mgt. SubscribersTable 6610 "FS Bookable Resource" (calls, 2 links)Table 6611 "FS Bookable Resource Booking" (calls, 2 links)FS Bookable Resource BookingTable 6617 "FS Work Order" (calls, 2 links)FS Work OrderTable 6619 "FS Work Order Product" (calls, 2 links)FS Work Order ProductTable 6620 "FS Work Order Service" (calls, 2 links)Codeunit 10 "Type Helper" (calls)Type HelperCodeunit 5056 "CustCont-Update" (calls)CustCont-UpdateCodeunit 5057 "VendCont-Update" (calls)VendCont-UpdateCodeunit 5302 "Outlook Synch. Type Conv" (calls)Codeunit 5330 "CRM Integration Management" (calls)Codeunit 5334 "CRM Setup Defaults" (calls)Codeunit 5343 "CRM Sales Order to Sales Order" (calls)Codeunit 5348 "CRM Quote to Sales Quote" (calls)Codeunit 5397 "CDS Transformation Rule Mgt." (calls)Codeunit 6610 "FS Int. Table Subscriber" (calls)Codeunit 700 "Page Management" (calls)Codeunit 7201 "CDS Integration Impl." (calls)Table 10 "Shipment Method" (calls)Table 291 "Shipping Agent" (calls)Table 3 "Payment Terms" (calls)Table 5373 "CRM Full Synch. Review Line" (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
Permissions TableData “Sales Invoice Header” = m

Events published

  • OnAfterGetFieldRelation(RecRef: RecordRef; FldRef: FieldRef; var TableID: Integer) (integration)
  • OnGetCDSBaseCurrencyId(var BaseCurrencyId: Guid; var handled: Boolean) (integration)
  • OnGetCDSOwnershipModel(var OwnershipModel: Option; var handled: Boolean) (integration)
  • OnGetCDSBaseCurrencySymbol(var BaseCurrencySymbol: Text[5]; var handled: Boolean) (integration)
  • OnGetCDSBaseCurrencyPrecision(var BaseCurrencyPrecision: Integer; var handled: Boolean) (integration)
  • OnGetCDSCurrencyDecimalPrecision(var CurrencyDecimalPrecision: Integer; var handled: Boolean) (integration)
  • OnGetVendorSyncEnabled(var Enabled: Boolean) (integration)
  • OnGetIsContactBusinessRelationOptional(var Optional: Boolean) (integration)
  • OnGetIsContactTypeCheckIgnored(var Ignored: Boolean) (integration)
  • OnFindAndSynchRecordIDFromIntegrationSystemId(IntegrationSystemId: Guid; TableId: Integer; var LocalRecordID: RecordID; var IsHandled: Boolean) Δ BC24 (integration)
  • OnUpdateCRMInvoiceStatusFromEntryOnBeforeModify(var CRMInvoice: Record "CRM Invoice"; var NewCRMInvoice: Record "CRM Invoice"; CustLedgerEntry: Record "Cust. Ledger Entry") (integration)
  • OnUpdateCRMInvoiceStatusFromEntryOnBeforeCheckFieldsChanged(var CRMInvoice: Record "CRM Invoice"; var NewCRMInvoice: Record "CRM Invoice"; CustLedgerEntry: Record "Cust. Ledger Entry"; var ChangeNeeded: Boolean) (integration)
  • OnBeforeCalculateActualStatusCode(CustLedgerEntry: Record "Cust. Ledger Entry"; var CRMInvoice: Record "CRM Invoice"; var IsHandled: Boolean) (integration)
  • OnConvertOptionToTableOnBeforeSetRangeForIntegrationFieldID(var CRMOptionMapping: Record "CRM Option Mapping"; SourceFieldRef: FieldRef; var IsHandled: Boolean) (integration)
  • OnCancelCRMInvoiceOnBeforeModifyCRMInvoice(var CRMInvoice: Record "CRM Invoice"; var NewCRMInvoice: Record "CRM Invoice") (integration)
  • OnCancelCRMInvoiceOnBeforeCheckFieldsChanged(var CRMInvoice: Record "CRM Invoice"; var NewCRMInvoice: Record "CRM Invoice"; var ChangeNeeded: Boolean) (integration)
  • OnBeforeFulfillSalesOrder(var SalesOrderId: Guid) + BC26 (integration)
  • OnFailedFindContactByAccountId(DestinationContactRecordRef: RecordRef; var CompanyContact: Record Contact; AccountID: Guid; var OutOfMapFilter: Boolean; var Result: Boolean) + BC27 (integration)

Procedures

  • ClearCache()
  • GetDefaultPriceListName(): Text[100]
  • CreateCRMPricelevelInCurrency(var CRMPricelevel: Record "CRM Pricelevel"; CurrencyCode: Code[10]; NewExchangeRate: Decimal)
  • CreateCRMPriceList(SalesHeader: Record "Sales Header"; var CRMPricelevel: Record "CRM Pricelevel")
  • UpdateCRMPriceList(SalesHeader: Record "Sales Header"; CRMPricelevelId: Guid)
  • CreateCRMProductpricelevelForProductAndUom(CRMProduct: Record "CRM Product"; NewPriceLevelId: Guid; CRMUom: Record "CRM Uom")
  • CreateCRMProductpriceIfAbsent(CRMInvoicedetail: Record "CRM Invoicedetail")
  • FindCRMDefaultPriceList(var CRMPricelevel: Record "CRM Pricelevel")
  • FindCRMPriceListByCurrencyCode(var CRMPricelevel: Record "CRM Pricelevel"; CurrencyCode: Code[10]): Boolean
  • FindCRMProductPriceFromCRMInvoicedetail(CRMInvoicedetail: Record "CRM Invoicedetail"): Boolean
  • FindNAVLocalCurrencyInCRM(var CRMTransactioncurrency: Record "CRM Transactioncurrency"): Guid
  • GetBaseCurrencyPrecision(): Decimal
  • GetCRMCurrencyDefaultPrecision(): Integer
  • GetCRMLCYToFCYExchangeRate(ToCurrencyISOCode: Text[10]): Decimal
  • GetFCYtoFCYExchangeRate(FromFCY: Code[10]; ToFCY: Code[10]): Decimal
  • GetUnitGroupName(UnitOfMeasureCode: Text): Text[200]
  • GetUnitOfMeasureName(UnitOfMeasureRecordRef: RecordRef): Text[100]
  • SetCRMDecimalsSupportedValue(var CRMProduct: Record "CRM Product")
  • SetCRMDefaultPriceListOnProduct(var CRMProduct: Record "CRM Product"): Boolean
  • SetCRMProductStateToActive(var CRMProduct: Record "CRM Product")
  • SetCRMProductStateToRetired(var CRMProduct: Record "CRM Product")
  • SetContactParentCompany(AccountID: Guid; DestinationContactRecordRef: RecordRef): Boolean
  • SynchRecordIfMappingExists(TableNo: Integer; IntegrationTableNo: Integer; PrimaryKey: Variant): Boolean
  • SynchRecordIfMappingExists(TableNo: Integer; IntegrationTableNo: Integer; PrimaryKey: Variant; var OutOfMapFilter: Boolean): Boolean
  • UpdateCRMCurrencyIdIfChanged(CurrencyCode: Text; var DestinationCurrencyIDFieldRef: FieldRef): Boolean
  • UpdateCRMInvoiceStatus(var CRMInvoice: Record "CRM Invoice"; SalesInvoiceHeader: Record "Sales Invoice Header")
  • CancelCRMInvoice(var CRMInvoice: Record "CRM Invoice"): Integer (internal)
  • UpdateCRMInvoiceStatusFromEntry(var CRMInvoice: Record "CRM Invoice"; CustLedgerEntry: Record "Cust. Ledger Entry"): Integer
  • UpdateCRMPriceListItem(var CRMProduct: Record "CRM Product"): Boolean
  • UpdateCRMPriceListItems(var CRMProduct: Record "CRM Product"): Boolean
  • UpdateCRMPriceListItemForUom(var CRMProduct: Record "CRM Product"; CRMUom: Record "CRM Uom"): Boolean
  • UpdateCRMProductPriceIfNegative(var CRMProduct: Record "CRM Product"): Boolean
  • UpdateCRMProductQuantityOnHandIfNegative(var CRMProduct: Record "CRM Product"): Boolean
  • UpdateCRMProductTypeCodeIfChanged(var CRMProduct: Record "CRM Product"; NewProductTypeCode: Integer): Boolean
  • UpdateCRMProductStateCodeIfChanged(var CRMProduct: Record "CRM Product"; NewBlocked: Boolean): Boolean
  • UpdateItemBlockedIfChanged(var Item: Record Item; NewBlocked: Boolean): Boolean
  • UpdateResourceBlockedIfChanged(var Resource: Record Resource; NewBlocked: Boolean): Boolean
  • UpdateCRMProductUoMFieldsIfChanged(var CRMProduct: Record "CRM Product"; UnitOfMeasureCode: Code[10]): Boolean
  • UpdateCRMProductUomscheduleId(var CRMProduct: Record "CRM Product"; SourceRecordRef: RecordRef): Boolean
  • UpdateCRMProductVendorNameIfChanged(var CRMProduct: Record "CRM Product"): Boolean
  • UpdateOwnerIfChanged(SourceRecordRef: RecordRef; DestinationRecordRef: RecordRef; SourceSalespersonCodeFieldNo: Integer; DestinationOwnerFieldNo: Integer; DestinationOwnerTypeFieldNo: Integer; DestinationOwnerTypeValue: Option): Boolean
  • UpdateContactOnModifyCustomer(RecRef: RecordRef)
  • UpdateContactOnModifyVendor(RecRef: RecordRef)
  • FindOpportunityRelatedCustomer(SourceRecordRef: RecordRef; var ContactBusinessRelation: Record "Contact Business Relation"): Boolean (internal)
  • FindContactRelatedCustomer(SourceRecordRef: RecordRef; var ContactBusinessRelation: Record "Contact Business Relation"): Boolean
  • FindContactRelatedVendor(SourceRecordRef: RecordRef; var ContactBusinessRelation: Record "Contact Business Relation"): Boolean
  • UpdateSalesPersonCodeIfChanged(SourceRecordRef: RecordRef; var DestinationRecordRef: RecordRef; SourceOwnerIDFieldNo: Integer; SourceOwnerTypeFieldNo: Integer; AllowedOwnerTypeValue: Option; DestinationSalesPersonCodeFieldNo: Integer): Boolean
  • UpdateFieldRefValueIfChanged(var DestinationFieldRef: FieldRef; NewFieldValue: Text): Boolean
  • GetValidCRMUnitOfMeasureRecords(var CRMUom: Record "CRM Uom"; var CRMUomschedule: Record "CRM Uomschedule"; UnitOfMeasureCode: Code[10])
  • GetNavCurrencyCode(TransactionCurrencyId: Guid): Code[10]
  • GetCRMTransactioncurrency(CurrencyCode: Text): Guid
  • ShowPage(RecordID: RecordID)
  • FindNewValueForSpecialMapping(SourceFieldRef: FieldRef; var NewValue: Variant): Boolean
  • FindPKByRecordID(RecID: RecordID; var PrimaryKey: Variant): Boolean
  • FindRecordIDByPK(TableID: Integer; PrimaryKey: Variant; var RecID: RecordID): Boolean
  • FindSourceIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping"; SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef): Boolean
  • IsClearValueOnFailedSync(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef): Boolean
  • AreFieldsRelatedToMappedTables(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var IntegrationTableMapping: Record "Integration Table Mapping"): Boolean
  • GetCoupledCDSUserId(SourceRecordRef: RecordRef): Guid
  • ConvertBaseUnitOfMeasureToUomId(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var NewValue: Variant)
  • ConvertUomIdToBaseUnitOfMeasure(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var NewValue: Variant)
  • PrefixUnitGroupCode(SourceFieldRef: FieldRef; var NewValue: Variant)
  • ConvertTableToOption(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var OptionValue: Integer): Boolean − BC26
  • ConvertOptionToTable(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var TableValue: Text): Boolean
  • UpdateCDSOptionMapping(OldRecId: RecordId; NewRecId: RecordId)
  • FindNewValueForSpecialMapping(SourceFieldRef: FieldRef; DestinationFieldRef: FieldRef; var NewValue: Variant): Boolean (internal)
  • IsContactBusinessRelationOptional(): Boolean (internal)
  • IsContactTypeCheckIgnored(): Boolean (internal)
  • TransformValue(SourceRecordRef: RecordRef; DestinationRecordRef: RecordRef; TransformationRule: Record "Transformation Rule"; SourceFieldNo: Integer; DestinationFieldNo: Integer)
  • FulfillSalesOrder(SalesOrderId: Guid) + BC26 (internal)

Plus 42 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.

Called by

Countries that replace it

ES

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

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: "CRM Synch. Helper"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources