Codeunit 6610 "FS Int. Table Subscriber"
FieldServiceIntegration · Microsoft.Integration.DynamicsFieldService
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 18 connected objects and pages
FieldServiceIntegration · Microsoft.Integration.DynamicsFieldService · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| SingleInstance | true |
Events published
OnSetUpNewLineOnNewLine(var JobJournalLine: Record "Job Journal Line"; var JobJournalTemplate: Record "Job Journal Template"; var JobJournalBatch: Record "Job Journal Batch"; var Handled: Boolean)(integration)
Event subscriptions
- OnEnsureConnectionSetupIsDisabled subscribes to Table “CDS Connection Setup” OnEnsureConnectionSetupIsDisabled
- OnEnableMultiCompanySynchronization subscribes to Table “Integration Table Mapping” OnEnableMultiCompanySynchronization
- IntegrationTableMappingOnAfterModifyEvent subscribes to Table “Integration Table Mapping” OnAfterModifyEvent
- OnBeforeTransferRecordFields subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeTransferRecordFields
- OnAfterTransferRecordFields subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterTransferRecordFields
- OnTransferFieldData subscribes to Codeunit “Integration Record Synch.” OnTransferFieldData
- OnFindNewValueForCoupledRecordPK subscribes to Codeunit “CRM Int. Table. Subscriber” OnFindNewValueForCoupledRecordPK
- HandleOnAfterInsertRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterInsertRecord
- HandleOnBeforeIgnoreUnchangedRecordHandled subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeIgnoreUnchangedRecordHandled
- HandleOnAfterUnchangedRecordHandled subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterUnchangedRecordHandled
- HandleOnBeforeModifyRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeModifyRecord
- HandleOnUpdateIntegrationRecordCoupling subscribes to Codeunit “Integration Rec. Synch. Invoke” OnUpdateIntegrationRecordCoupling
- AfterValidateLocationMandatory subscribes to Table “Inventory Setup” OnAfterValidateEvent (Location Mandatory)
- AddFieldServiceProductMappings subscribes to Codeunit “CRM Setup Defaults” OnResetItemProductMappingOnAfterInsertFieldsMapping
- HandleOnAfterModifyRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnAfterModifyRecord
- HandleOnBeforeInsertRecord subscribes to Codeunit “Integration Rec. Synch. Invoke” OnBeforeInsertRecord
- OnSynchNAVTableToCRMOnBeforeCheckLatestModifiedOn subscribes to Codeunit “CRM Integration Table Synch.” OnSynchNAVTableToCRMOnBeforeCheckLatestModifiedOn
- HandleOnDeletionConflictDetectedSetRecordStateAndSynchAction subscribes to Codeunit “Integration Rec. Synch. Invoke” OnDeletionConflictDetectedSetRecordStateAndSynchAction
- HandleOnAfterApplyUsage subscribes to Codeunit “Job Link Usage” OnAfterApplyUsage
- HandleOnAfterPostJnlLines subscribes to Codeunit “Job Jnl.-Post Batch” OnAfterPostJnlLines
- HandleOnHasCompanyIdField subscribes to Codeunit “CDS Integration Mgt.” OnHasCompanyIdField
- HandleOnBeforeUncoupleRecord subscribes to Codeunit “Int. Rec. Uncouple Invoke” OnBeforeUncoupleRecord
- OnQueryPostFilterIgnoreRecord subscribes to Codeunit “CRM Integration Table Synch.” OnQueryPostFilterIgnoreRecord
- LogTelemetryOnAfterInitSynchJob subscribes to Codeunit “Integration Table Synch.” OnAfterInitSynchJob
- ServiceMgtSetupOnBeforeValidateOneServiceItemLinePerOrder subscribes to Table “Service Mgt. Setup” OnBeforeValidateEvent (One Service Item Line/Order)
- HandleOnIsCRMIntegrationRecord subscribes to Codeunit “CRM Integration Management” OnIsCRMIntegrationRecord
- HandleOnAfterDeleteServiceHeader subscribes to Table “Service Header” OnAfterDeleteEvent
- OnAfterStoreServiceLineArchive subscribes to Codeunit “Service Document Archive Mgmt.” OnAfterStoreServiceLineArchive
- HandleOnAfterDeleteServiceItemLine subscribes to Table “Service Item Line” OnAfterDeleteEvent
- HandleOnAfterDeleteServiceLine subscribes to Table “Service Line” OnAfterDeleteEvent
- OnBeforeOpenCoupledNavRecordPage subscribes to Codeunit “CRM Integration Management” OnBeforeOpenCoupledNavRecordPage
- OnBeforeOpenRecordCardPage subscribes to Codeunit “CRM Integration Management” OnBeforeOpenRecordCardPage
- HandleOnBeforeFindCoupledToCRMField subscribes to Codeunit “CRM Integration Management” OnBeforeFindCoupledToCRMField
Procedures
UpdateQuantities(var FSWorkOrderProduct: Record "FS Work Order Product"; var ServiceLine: Record "Service Line"; ToFieldService: Boolean)(internal)UpdateQuantities(var FSWorkOrderService: Record "FS Work Order Service"; var ServiceLine: Record "Service Line"; ToFieldService: Boolean)(internal)UpdateQuantities(FSBookableResourceBooking: Record "FS Bookable Resource Booking"; var ServiceLine: Record "Service Line")(internal)GetMaxQuantity(Quantity1: Decimal; Quantity2: Decimal): DecimalGetMaxQuantity(Quantity1: Decimal; Quantity2: Decimal; Quantity3: Decimal): DecimalSynchRecordsToIntegrationTable(var RecordsToSynchRecordRef: RecordRef; TargetTable: Integer; IgnoreChanges: Boolean; IgnoreSynchOnlyCoupledRecords: Boolean): GuidArchiveServiceOrder(ServiceHeader: Record "Service Header"; ArchivedServiceOrders: List of [Code[20]])(internal)IgnorePostedJobJournalLinesOnQueryPostFilterIgnoreRecord(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(internal)IgnoreArchievedServiceOrdersOnQueryPostFilterIgnoreRecord(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(internal)IgnoreArchievedCRMWorkOrdersOnQueryPostFilterIgnoreRecord(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(internal)IgnoreArchivedWorkOrderLinesOnQueryPostFilterIgnoreRecord(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(internal)IgnoreServiceItemsByConvertToCustomerAssetFlag(SourceRecordRef: RecordRef; var IgnoreRecord: Boolean)(internal) (obsolete 30.0: Remove calls to this procedure. Service items are always synchronized to Field Service customer assets; item-product synchronization disables customer asset conversion.)MarkArchivedServiceOrder(ServiceHeader: Record "Service Header")(internal)MarkArchivedServiceOrderLine(var ServiceLine: Record "Service Line"; var ServiceLineArchive: Record "Service Line Archive")(internal)
Plus 39 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.
- Codeunit 5340 “CRM Integration Table Synch.” (6 calls:
OnSynchNAVTableToCRMOnBeforeCheckLatestModifiedOn → SynchRecordsToIntegrationTable,ResetFSWorkOrderIncidentFromServiceOrderItemLine → SynchRecordsToIntegrationTable,ResetServiceOrderItemLineFromFSWorkOrderIncident → SynchRecordsFromIntegrationTable, …) - Codeunit 7200 “CDS Integration Mgt.” (5 calls:
HandleOnBeforeUncoupleRecord → OnHasCompanyIdField,HandleOnBeforeUncoupleRecord → ResetCompanyId,OnEnableMultiCompanySynchronization → FindCompanyIdField, …) - Codeunit 6611 “FS Setup Defaults” (4 calls:
AfterValidateLocationMandatory → ResetLocationMapping,AfterValidateLocationMandatory → ResetProjectJournalLineWOProductMapping,AfterValidateLocationMandatory → SetLocationFieldMapping, …) - Codeunit 6615 “FS Integration Mgt.” (4 calls:
HandleOnBeforeInsertRecord → GetDefaultWorkOrderIncident,LogTelemetryOnAfterInitSynchJob → ReturnIntegrationTypeLabel,ResetServiceOrderLineFromFSBookableResourceBooking → GetBookingStatusCompleted, …) - Codeunit 5330 “CRM Integration Management” (3 calls:
HandleOnAfterApplyUsage → (object),HandleOnAfterPostJnlLines → (object),OnEnsureConnectionSetupIsDisabled → CheckCRMConnectionURL) - Codeunit 5335 “Integration Table Synch.” (3 calls:
SynchRecordsToIntegrationTable → BeginIntegrationSynchJob,SynchRecordsToIntegrationTable → EndIntegrationSynchJob,SynchRecordsToIntegrationTable → Synchronize) - Codeunit 5344 “CRM Product Name” (3 calls:
HandleOnBeforeInsertRecord → CDSServiceName,OnEnableMultiCompanySynchronization → FSServiceName,SetJobJournalLineTypesAndNo → FSServiceName) - Codeunit 1012 “Job Jnl.-Post Line” (2 calls:
ConditionallyPostJobJournalLine → RunWithCheck,PostJobJournalLine → RunWithCheck) - Codeunit 8703 “Feature Telemetry” (2 calls:
LogTelemetryOnAfterInitSynchJob → LogUptake,LogTelemetryOnAfterInitSynchJob → LogUsage) - Page 456 “No. Series” (2 calls:
SetDocumentNo → (object),SetPostingDocumentNo → (object)) - Codeunit 5334 “CRM Setup Defaults” (1 call:
AddFieldServiceProductMappings → InsertIntegrationFieldMapping) - Codeunit 5342 “CRM Synch. Helper” (1 call:
HandleOnBeforeInsertRecord → FindRecordIDByPK) - Codeunit 5345 “Integration Rec. Synch. Invoke” (1 call:
HandleOnDeletionConflictDetectedSetRecordStateAndSynchAction → PrepareNewDestination) - Codeunit 5402 “Unit of Measure Management” (1 call:
SetJobJournalLineTypesAndNo → RoundAndValidateQty) - Codeunit 6041 “Service Document Archive Mgmt.” (1 call:
ArchiveServiceOrder → ArchServiceDocumentNoConfirm) - Codeunit 7201 “CDS Integration Impl.” (1 call:
SetCompanyId → CheckCompanyIdNoTelemetry) - Page 5900 “Service Order” (1 call:
OnBeforeOpenRecordCardPage → (object)) - Page 6271 “Service Order Archive” (1 call:
OpenServiceHeaderArchive → (object))
Recent changes
- 2026-09-29 #11094 [FS] Prevent duplicate Field Service customer assets during item synchronization (main, BC30, fix)
- 2026-07-15 #9322 [FS Integration] SVCITEM-CUSTASSET mapping ignores “Convert to Customer Asset” flag — every Service Item synced to FS unconditionally (main, BC30, fix)
Deprecations
- procedure IgnoreServiceItemsByConvertToCustomerAssetFlag: Pending 30.0, “Remove calls to this procedure. Service items are always synchronized to Field Service customer assets; item-product synchronization disables customer asset conversion.”
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: "FS Int. Table Subscriber"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.