codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 561 "IC Data Exchange API"

Base Application · Microsoft.Intercompany.DataExchange

Across versions

  1. BC23-24present
  2. BC252 events added
  3. BC26-27unchanged
  4. BC2810 events added, 1 procedures added
  5. BC29-30unchanged

Neighbourhood 8 connected objects and pages

Codeunit 560 "CrossIntercompany Connector" (calls, 8 links)CrossIntercompany ConnectorCodeunit 534 "IC Read Notification JR" (calls, 4 links)IC Read Notification JRCodeunit 428 "IC Mapping" (calls)IC MappingCodeunit 43 "Language" (calls)LanguageCodeunit 533 "IC New Notification JR" (calls)IC New Notification JRCodeunit 8703 "Feature Telemetry" (calls)Feature TelemetryPage 30415 "API IC Incoming Notification" (calls)API IC Incoming NotificationPage 30425 "API IC Outgoing Notification" (calls)API IC Outgoing Notification

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.Intercompany.DataExchange · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Permissions tabledata “IC Inbox Transaction” = i, tabledata “IC Inbox Jnl. Line” = i, tabledata “IC Inbox Purchase Header” = i, tabledata “IC Inbox Purchase Line” = i, tabledata “IC Inbox Sales Header” = i, tabledata “IC Inbox Sales Line” = i, tabledata “IC Inbox/Outbox Jnl. Line Dim.” = i, tabledata “IC Docume…

Events published

  • OnPopulateTransactionDataFromICOutgoingNotification(IndividualObject: JsonObject; var Success: Boolean) (internal): Internal event for populating transaction data from intercompany outgoing notifications.
  • OnPostICPurchaseHeaderToICPartnerInboxOnBeforeBufferICInboxPurchaseHeaderInsert(var BufferICInboxPurchaseHeader: Record "Buffer IC Inbox Purch Header"; TempICPartnerICInboxPurchaseHeader: Record "IC Inbox Purchase Header" temporary; ICPartner: Record "IC Partner"; RegisteredPartner: Record "IC Partner" temporary) + BC25 (integration): Integration event raised before inserting buffer IC inbox purchase header data.
  • OnPostICSalesHeaderToICPartnerInboxOnBeforeBufferICInboxSalesHeaderInsert(var BufferICInboxSalesHeader: Record "Buffer IC Inbox Sales Header"; TempICPartnerICInboxSalesHeader: Record "IC Inbox Sales Header" temporary; ICPartner: Record "IC Partner"; RegisteredPartner: Record "IC Partner" temporary) + BC25 (integration): Integration event raised before inserting buffer IC inbox sales header data.
  • OnPostICSalesLineToICPartnerInboxOnBeforeBufferICInboxSalesLineInsert(var BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line"; TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary; ICPartner: Record "IC Partner") + BC28 (integration)
  • OnPopulateICInboxTransactionFromJsonOnBeforeInsert(var ICInboxTransaction: Record "IC Inbox Transaction"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxJournalLineFromJsonOnBeforeInsert(var ICInboxJournalLine: Record "IC Inbox Jnl. Line"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxPurchaseLineFromJsonOnBeforeInsert(var ICInboxPurchaseLine: Record "IC Inbox Purchase Line"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxSalesHeaderFromJsonOnBeforeInsert(var ICInboxSalesHeader: Record "IC Inbox Sales Header"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxSalesLineFromJsonOnBeforeInsert(var ICInboxSalesLine: Record "IC Inbox Sales Line"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxOutboxJnlLineDimFromJsonOnBeforeInsert(var ICInboxOutboxJnlLineDim: Record "IC Inbox/Outbox Jnl. Line Dim."; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICDocumentDimensionFromJsonOnBeforeInsert(var ICDocumentDimension: Record "IC Document Dimension"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICInboxPurchaseHeaderFromJsonOnBeforeInsert(var ICInboxPurchaseHeader: Record "IC Inbox Purchase Header"; IndividualToken: JsonToken) + BC28 (integration)
  • OnPopulateICCommentLineFromJsonOnBeforeInsert(var ICCommentLine: Record "IC Comment Line"; IndividualToken: JsonToken) + BC28 (integration)

Event subscriptions

  • OnAfterICInboxTransactionMovedToBuffer subscribes to Report “Move IC Trans. to Partner Comp” OnICInboxTransactionCreated
  • HandledOnPopulate subscribes to Codeunit “IC Data Exchange API” OnPopulateTransactionDataFromICOutgoingNotification

Procedures

  • GetICPartnerICGLAccount(ICPartner: Record "IC Partner"; var TempICPartnerICGLAccount: Record "IC G/L Account" temporary): Retrieves intercompany G/L accounts from a partner company via API connection. Populates temporary table with partner’s G/L account structure for mapping and synchronization.
  • GetICPartnerICDimension(ICPartner: Record "IC Partner"; var TempICPartnerICDimension: Record "IC Dimension" temporary): Retrieves intercompany dimensions from a partner company via API connection. Populates temporary table with partner’s dimension structure for validation and mapping.
  • GetICPartnerICDimensionValue(ICPartner: Record "IC Partner"; var TempICPartnerICDimensionValue: Record "IC Dimension Value" temporary): Retrieves intercompany dimension values from a partner company via API connection. Populates temporary table with partner’s dimension values for transaction validation.
  • GetICPartnerFromICPartner(ICPartner: Record "IC Partner"; var TempRegisteredICPartner: Record "IC Partner" temporary): Retrieves intercompany partner data from the specified partner via API call. Uses current company’s IC Partner Code for authentication and partner identification.
  • GetICPartnerFromICPartner(ICPartner: Record "IC Partner"; ICPartnerCode: Code[20]; var TempRegisteredICPartner: Record "IC Partner" temporary): Retrieves intercompany partner data using specified partner code for identification. Allows cross-partner data retrieval with explicit partner code specification.
  • GetICPartnerICSetup(ICPartnerName: Text; var TempICPartnerICSetup: Record "IC Setup" temporary): Retrieves intercompany setup configuration from a partner company by name.
  • GetICPartnerICSetup(ICPartner: Record "IC Partner"; var TempICPartnerICSetup: Record "IC Setup" temporary): Retrieves intercompany setup configuration from a partner company.
  • GetICPartnerGeneralLedgerSetup(ICPartnerName: Text; var TempICPartnerGeneralLedgerSetup: Record "General Ledger Setup" temporary): Retrieves general ledger setup configuration from a partner company by name.
  • GetICPartnerGeneralLedgerSetup(ICPartner: Record "IC Partner"; var TempICPartnerGeneralLedgerSetup: Record "General Ledger Setup" temporary): Retrieves general ledger setup configuration from a partner company.
  • GetICPartnerCompanyInformation(ICPartnerName: Text; var TempICPartnerCompanyInformation: Record "Company Information" temporary): Retrieves company information from a partner company by name.
  • GetICPartnerCompanyInformation(ICPartner: Record "IC Partner"; var TempICPartnerCompanyInformation: Record "Company Information" temporary): Retrieves company information from a partner company.
  • GetICPartnerBankAccount(ICPartner: Record "IC Partner"; var TempICPartnerBankAccount: Record "Bank Account" temporary): Retrieves bank account information from a partner company.
  • GetICPartnerICInboxTransaction(ICPartner: Record "IC Partner"; var TempICPartnerICInboxTransaction: Record "IC Inbox Transaction" temporary): Retrieves intercompany inbox transactions from a partner company.
  • GetICPartnerHandledICInboxTransaction(ICPartner: Record "IC Partner"; var TempICPartnerHandledICInboxTransaction: Record "Handled IC Inbox Trans." temporary): Retrieves handled intercompany inbox transactions from a partner company.
  • PostICTransactionToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxTransaction: Record "IC Inbox Transaction" temporary): Posts intercompany transaction data to partner’s inbox via API connection. Handles secure transmission of transaction headers with proper validation and telemetry tracking.
  • PostICJournalLineToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxJnlLine: Record "IC Inbox Jnl. Line" temporary): Posts intercompany journal line data to partner’s inbox via API for transaction processing. Transfers journal entries between partner companies using staging buffer tables.
  • PostICPurchaseHeaderToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxPurchaseHeader: Record "IC Inbox Purchase Header" temporary; var RegisteredPartner: Record "IC Partner" temporary): Posts intercompany purchase header data to partner’s inbox via API connection.
  • PostICPurchaseLineToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxPurchaseLine: Record "IC Inbox Purchase Line" temporary): Posts intercompany purchase line data to partner’s inbox via API connection.
  • PostICSalesHeaderToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxSalesHeader: Record "IC Inbox Sales Header" temporary; var RegisteredPartner: Record "IC Partner" temporary): Posts intercompany sales header data to partner’s inbox via API connection.
  • PostICSalesLineToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary): Posts intercompany sales line data to partner’s inbox via API connection.
  • PostICJournalLineDimensionToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxOutboxJnlLineDim: Record "IC Inbox/Outbox Jnl. Line Dim." temporary): Posts intercompany journal line dimension data to partner’s inbox via API connection.
  • PostICDocumentDimensionToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICDocDim: Record "IC Document Dimension" temporary): Posts intercompany document dimension data to partner’s inbox via API connection.
  • PostICCommentLineToICPartnerInbox(ICPartner: Record "IC Partner"; var TempICPartnerICInboxCommentLine: Record "IC Comment Line" temporary): Posts intercompany comment line data to partner’s inbox via API connection.
  • EnqueueAutoAcceptedICInboxTransaction(ICPartner: Record "IC Partner"; ICInboxTransaction: Record "IC Inbox Transaction"): Enqueues auto-accepted intercompany inbox transactions for asynchronous processing via job queue. Automatically processes transactions marked for auto-acceptance to streamline partner transaction flow.
  • PopulateICInboxTransactionFromJson(IndividualToken: JsonToken; var TempICPartnerICInboxTransaction: Record "IC Inbox Transaction" temporary) (internal)
  • PopulateTransactionDataFromICOutgoingNotification(IndividualObject: JsonObject) (internal)
  • PopulateICInboxTransactionFromJson(IndividualToken: JsonToken) (internal)
  • CreateJsonContentFromICIncomingNotification(var TempICIncomingNotification: Record "IC Incoming Notification" temporary; var ContentJsonText: Text) (internal)
  • CreateJsonContentFromICOutgoingNotification(var TempICOutgoingNotification: Record "IC Outgoing Notification" temporary; var ContentJsonText: Text) (internal)
  • InsertICIncomingNotification(var ICIncomingNotification: Record "IC Incoming Notification"): Creates and inserts a new incoming notification record for intercompany data exchange tracking. Initializes notification status and sets up job queue processing for partner communication.
  • CleanupICOutgoingNotification(var ICOutgoingNotification: Record "IC Outgoing Notification"): Schedules cleanup of completed outgoing notification records via job queue processing. Removes processed notifications to maintain optimal system performance and data hygiene.

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

Called by

Implements

Recent changes

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: "IC Data Exchange API"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources