Codeunit 5343 "CRM Sales Order to Sales Order"
Base Application · Microsoft.Integration.D365Sales
Across versions
- BC23-25present
- BC262 events added
- BC27-30unchanged
Neighbourhood 16 connected objects and pages
Base Application · Microsoft.Integration.D365Sales · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | CRM Salesorder |
Events published
OnAfterCopyShipToInformationIfNotEmpty(CRMSalesorder: Record "CRM Salesorder"; var SalesHeader: Record "Sales Header")(integration)OnBeforeGetCoupledCustomer(CRMSalesorder: Record "CRM Salesorder"; var Customer: Record Customer; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeSetLineDescription(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var CRMSalesorderdetail: Record "CRM Salesorderdetail"; var IsHandled: Boolean)(integration)OnBeforeGetCRMAccountOfCRMSalesOrder(CRMSalesorder: Record "CRM Salesorder"; var CRMAccount: Record "CRM Account"; var Result: Boolean; var IsHandled: Boolean)(integration)OnCreateSalesOrderHeaderOnBeforeSalesHeaderInsert(var SalesHeader: Record "Sales Header"; CRMSalesorder: Record "CRM Salesorder")(integration)OnCreateSalesOrderLinesOnBeforeSalesLineInsert(var SalesLine: Record "Sales Line"; CRMSalesorderdetail: Record "CRM Salesorderdetail")(integration)OnCreateInNAVOnBeforeCheckState(CRMSalesorder: Record "CRM Salesorder"; var IsHandled: Boolean)(integration)OnCreateNAVSalesOrderOnAfterSetLastBackOfficeSubmit(var SalesHeader: Record "Sales Header"; CRMSalesorder: Record "CRM Salesorder")(integration)OnHideSalesOrderDiscountsDialog(var Hide: Boolean)(integration)OnInitializeSalesOrderLineOnBeforeUnexpectedProductTypeErr(CRMSalesorderdetail: Record "CRM Salesorderdetail"; CRMProduct: Record "CRM Product"; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnInitializeSalesOrderLineOnAfterCalcUpdateItemUnitPriceNeeded(CRMSalesorderdetail: Record "CRM Salesorderdetail"; CRMProduct: Record "CRM Product"; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var UpdateItemUnitPriceNeeded: Boolean)(integration)OnCopyBillToInformationIfNotEmptyOnBeforeValidateBillToCountryRegionCode(var SalesHeader: Record "Sales Header"; CRMSalesorder: Record "CRM Salesorder"; var IsHandled: Boolean)(integration)OnCopyShipToInformationIfNotEmptyOnBeforeValidateShipToCountryRegionCode(var SalesHeader: Record "Sales Header"; CRMSalesorder: Record "CRM Salesorder"; var IsHandled: Boolean)(integration)OnSetSalesHeaderPaymentDiscountFromCRM(var SalesHeader: Record "Sales Header"; var CRMSalesOrder: Record "CRM Salesorder"; var IsHandled: Boolean)(integration)OnBeforeCopyBillToInformationIfNotEmpty(CRMSalesorder: Record "CRM Salesorder"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnInitializeSalesOrderLineOnBeforeInitializeWriteInOrderLine(var SalesLine: Record "Sales Line"; var CRMSalesorderdetail: Record "CRM Salesorderdetail"; var IsHandled: Boolean)+ BC26 (integration)OnAfterCreateNAVSalesOrder(CRMSalesorder: Record "CRM Salesorder"; var SalesHeader: Record "Sales Header"; var SalesInvoiceHeader: Record "Sales Invoice Header")+ BC26 (integration)
Event subscriptions
- RemoveCouplingToCRMSalesOrderOnSalesHeaderDelete subscribes to Table “Sales Header” OnBeforeDeleteEvent
- OnBeforeSalesLineCheckAvailShowWarning subscribes to Table “Assemble-to-Order Link” OnBeforeSalesLineCheckAvailShowWarning
Procedures
CreateInNAV(CRMSalesorder: Record "CRM Salesorder"; var SalesHeader: Record "Sales Header"): BooleanCreateNote(SalesHeader: Record "Sales Header"; CRMAnnotation: Record "CRM Annotation"; var RecordLink: Record "Record Link")CreateExtendedDescriptionOrderLines(SalesHeader: Record "Sales Header"; FullDescription: Text; SalesLineNo: Integer)CRMIsCoupledToValidRecord(CRMSalesorder: Record "CRM Salesorder"; NAVTableID: Integer): BooleanGetCRMSalesOrder(var CRMSalesorder: Record "CRM Salesorder"; YourReference: Text[35]): BooleanGetCoupledCRMSalesorder(SalesHeader: Record "Sales Header"; var CRMSalesorder: Record "CRM Salesorder")GetCoupledCustomer(CRMSalesorder: Record "CRM Salesorder"; var Customer: Record Customer): BooleanGetCoupledSalesHeader(CRMSalesorder: Record "CRM Salesorder"; var SalesHeader: Record "Sales Header"): BooleanGetCRMAccountOfCRMSalesOrder(CRMSalesorder: Record "CRM Salesorder"; var CRMAccount: Record "CRM Account"): BooleanGetCRMContactOfCRMSalesOrder(CRMSalesorder: Record "CRM Salesorder"; var CRMContact: Record "CRM Contact"): BooleanSetLastBackOfficeSubmit(var CRMSalesorder: Record "CRM Salesorder"; NewDate: Date)
Plus 20 local procedures.
Triggers
OnRun
Relations
- runs on Table 5353 “CRM Salesorder”
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 5344 “CRM Product Name” (17 calls:
ApplySalesOrderDiscounts → CDSServiceName,CreateInNAV → SHORT,CreateNAVSalesOrder → CDSServiceName, …) - Codeunit 5330 “CRM Integration Management” (8 calls:
CRMIsCoupledToValidRecord → IsCRMIntegrationEnabled,GetCoupledCRMSalesorder → RemoveCoupling,GetCoupledSalesHeader → RemoveCoupling, …) - Codeunit 5336 “Integration Record Synch.” (2 calls:
CreateSalesOrderHeader → GetTextValue,CreateSalesOrderHeader → SetTextValue) - Codeunit 447 “Record Link Management” (1 call:
CreateNote → WriteNote) - Codeunit 5063 “ArchiveManagement” (1 call:
CreateSalesOrderHeader → ArchSalesDocumentNoConfirm) - Codeunit 5331 “CRM Coupling Management” (1 call:
CRMIsCoupledToValidRecord → IsRecordCoupledToNAV) - Codeunit 5342 “CRM Synch. Helper” (1 call:
CreateSalesOrderHeader → GetNavCurrencyCode) - Codeunit 56 “Sales - Calc Discount By Type” (1 call:
ApplySalesOrderDiscounts → ApplyInvDiscBasedOnAmt) - Codeunit 7201 “CDS Integration Impl.” (1 call:
SetCompanyId → IsIntegrationEnabled) - Codeunit 7205 “CDS Int. Table. Subscriber” (1 call:
SetCompanyId → SetCompanyId)
Called by
- Codeunit 5341 “CRM Int. Table. Subscriber” (3 calls:
UpdateCRMInvoiceBeforeInsertRecord → GetCoupledCustomer,UpdateCRMInvoiceBeforeInsertRecord → GetCRMAccountOfCRMSalesOrder,UpdateCRMInvoiceBeforeInsertRecord → GetCRMSalesOrder) - Page 5380 “CRM Sales Order” (3 calls:
RecalculateRecordCouplingStatus → CRMIsCoupledToValidRecord,SetCRMAccountAndContactName → GetCRMAccountOfCRMSalesOrder,SetCRMAccountAndContactName → GetCRMContactOfCRMSalesOrder) - Codeunit 5348 “CRM Quote to Sales Quote” (1 call:
ProcessWonQuote → (object)) - Codeunit 5349 “Auto Create Sales Orders” (1 call:
CreateNAVSalesOrdersFromSubmittedCRMSalesorders → (object)) - Codeunit 5355 “CRM Notes Synch Job” (1 call:
CreateAndCoupleNote → CreateNote)
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 Sales Order to Sales Order"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.