Why do you need this change?
this request should target the existing outgoing flow in codeunit 561 "IC Data Exchange API", procedure PostICSalesLineToICPartnerInbox.
The requested event is not intended to target a JsonObject serialization method directly, since this procedure currently does not expose such a sales-line JSON serialization point.
The exact target location is the following procedure:
procedure PostICSalesLineToICPartnerInbox(
ICPartner: Record "IC Partner";
var TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary)
Current implementation:
var
BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
begin
if not TempICPartnerICInboxSalesLine.IsEmpty() then begin
TempICPartnerICInboxSalesLine.FindSet();
repeat
BufferICInboxSalesLine.TransferFields(TempICPartnerICInboxSalesLine);
BufferICInboxSalesLine.Insert();
until TempICPartnerICInboxSalesLine.Next() = 0;
end;
end;
We would like to request an integration event after TransferFields and before BufferICInboxSalesLine.Insert().
Describe the request
Proposed event
[IntegrationEvent(false, false)]
local procedure OnPostICSalesLineToICPartnerInboxOnBeforeBufferICInboxSalesLineInsert(
var BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary;
ICPartner: Record "IC Partner")
begin
end;
Proposed implementation location
procedure PostICSalesLineToICPartnerInbox(
ICPartner: Record "IC Partner";
var TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary)
var
BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
begin
if not TempICPartnerICInboxSalesLine.IsEmpty() then begin
TempICPartnerICInboxSalesLine.FindSet();
repeat
BufferICInboxSalesLine.TransferFields(TempICPartnerICInboxSalesLine);
OnPostICSalesLineToICPartnerInboxOnBeforeBufferICInboxSalesLineInsert(
BufferICInboxSalesLine,
TempICPartnerICInboxSalesLine,
ICPartner);
BufferICInboxSalesLine.Insert();
until TempICPartnerICInboxSalesLine.Next() = 0;
end;
end;
We need to extend the standard outgoing Intercompany API flow by transporting additional line-level information together with each IC sales line.
Typical examples include:
- Item tracking information:
- Lot No.
- Serial No.
- Package No.
- Tracking quantity
- Expiration date
- Linked source document references
- Custom line-level metadata required by partner companies
In our scenario, item tracking must be propagated from the source company to the target company through the standard Intercompany API process.
The incoming flow already provides extensibility events such as:
- OnPopulateICInboxSalesLineFromJsonOnBeforeInsert
This allows custom values to be read from the incoming payload and populated into the IC Inbox Sales Line.
However, there is currently no equivalent event in the outgoing flow before the Buffer IC Inbox Sales Line is inserted.
Without this event, extensions cannot populate custom fields on the outgoing Buffer IC Inbox Sales Line in a supported way before the data is exposed through the API payload.
Why do you need this change?
this request should target the existing outgoing flow in codeunit 561 "IC Data Exchange API", procedure PostICSalesLineToICPartnerInbox.
The requested event is not intended to target a JsonObject serialization method directly, since this procedure currently does not expose such a sales-line JSON serialization point.
The exact target location is the following procedure:
procedure PostICSalesLineToICPartnerInbox(
ICPartner: Record "IC Partner";
var TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary)
Current implementation:
var
BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
begin
if not TempICPartnerICInboxSalesLine.IsEmpty() then begin
TempICPartnerICInboxSalesLine.FindSet();
repeat
BufferICInboxSalesLine.TransferFields(TempICPartnerICInboxSalesLine);
BufferICInboxSalesLine.Insert();
until TempICPartnerICInboxSalesLine.Next() = 0;
end;
end;
We would like to request an integration event after TransferFields and before BufferICInboxSalesLine.Insert().
Describe the request
Proposed event
[IntegrationEvent(false, false)]
local procedure OnPostICSalesLineToICPartnerInboxOnBeforeBufferICInboxSalesLineInsert(
var BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary;
ICPartner: Record "IC Partner")
begin
end;
Proposed implementation location
procedure PostICSalesLineToICPartnerInbox(
ICPartner: Record "IC Partner";
var TempICPartnerICInboxSalesLine: Record "IC Inbox Sales Line" temporary)
var
BufferICInboxSalesLine: Record "Buffer IC Inbox Sales Line";
begin
if not TempICPartnerICInboxSalesLine.IsEmpty() then begin
TempICPartnerICInboxSalesLine.FindSet();
repeat
BufferICInboxSalesLine.TransferFields(TempICPartnerICInboxSalesLine);
end;
We need to extend the standard outgoing Intercompany API flow by transporting additional line-level information together with each IC sales line.
Typical examples include:
In our scenario, item tracking must be propagated from the source company to the target company through the standard Intercompany API process.
The incoming flow already provides extensibility events such as:
This allows custom values to be read from the incoming payload and populated into the IC Inbox Sales Line.
However, there is currently no equivalent event in the outgoing flow before the Buffer IC Inbox Sales Line is inserted.
Without this event, extensions cannot populate custom fields on the outgoing Buffer IC Inbox Sales Line in a supported way before the data is exposed through the API payload.