XmlPort 12 IC Outbox Imp/Exp, source in 29
Source29
src/Layers/W1/BaseApp/Finance/Intercompany/Outbox/ICOutboxImpExp.XmlPort.al917 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Intercompany.Outbox;
using Microsoft.Intercompany.Dimension;
using Microsoft.Intercompany.Setup;
/// <summary>
/// XML import/export port for intercompany outbox transaction data exchange.
/// Handles serialization and deserialization of intercompany transactions for transmission between partner companies.
/// </summary>
/// <remarks>
/// Core XML processing component for intercompany data exchange. Supports journal lines, sales documents, purchase documents, and dimensions.
/// Key workflows: Export outbox transactions to XML format, import transaction responses from partners.
/// Extensible via customization of XML schema elements and data mapping logic.
/// </remarks>
xmlport 12 "IC Outbox Imp/Exp"
{
Caption = 'IC Outbox Imp/Exp';
FormatEvaluate = Xml;
schema
{
textelement(ICTransactions)
{
tableelement(icoutboxtrans; "IC Outbox Transaction")
{
XmlName = 'ICOutboxTrans';
UseTemporary = true;
fieldattribute(TransNo; ICOutboxTrans."Transaction No.")
{
}
fieldattribute(ToICPartnerCode; ICOutboxTrans."IC Partner Code")
{
trigger OnAfterAssignField()
begin
ToICPartnerCode2 := ICOutboxTrans."IC Partner Code";
end;
}
textattribute(FromICPartnerCode)
{
trigger OnBeforePassVariable()
begin
FromICPartnerCode := ICSetup."IC Partner Code";
end;
}
fieldattribute(SourceType; ICOutboxTrans."IC Source Type")
{
}
fieldattribute(DocType; ICOutboxTrans."Document Type")
{
}
fieldattribute(DocNo; ICOutboxTrans."Document No.")
{
}
fieldattribute(PostingDate; ICOutboxTrans."Posting Date")
{
}
fieldattribute(TransSource; ICOutboxTrans."Transaction Source")
{
}
fieldattribute(DocDate; ICOutboxTrans."Document Date")
{
}
fieldattribute(TransICAccountType; ICOutboxTrans."IC Account Type")
{
}
fieldattribute(TransICAccountNo; ICOutboxTrans."IC Account No.")
{
}
textelement(ICOutBoxJnlLines)
{
MinOccurs = Zero;
tableelement(icoutboxjnlline; "IC Outbox Jnl. Line")
{
LinkFields = "Transaction No." = field("Transaction No.");
LinkTable = ICOutboxTrans;
MinOccurs = Zero;
XmlName = 'ICOutBoxJnlLine';
UseTemporary = true;
fieldattribute(LineNo; ICOutBoxJnlLine."Line No.")
{
}
fieldattribute(AccType; ICOutBoxJnlLine."Account Type")
{
}
fieldattribute(AccNo; ICOutBoxJnlLine."Account No.")
{
}
fieldattribute(Amount; ICOutBoxJnlLine.Amount)
{
}
fieldattribute(Description; ICOutBoxJnlLine.Description)
{
}
fieldattribute(VATAmount; ICOutBoxJnlLine."VAT Amount")
{
}
fieldattribute(CurrencyCode; ICOutBoxJnlLine."Currency Code")
{
}
fieldattribute(DueDate; ICOutBoxJnlLine."Due Date")
{
}
fieldattribute(PmtDiscPct; ICOutBoxJnlLine."Payment Discount %")
{
}
fieldattribute(PmtDiscDate; ICOutBoxJnlLine."Payment Discount Date")
{
}
fieldattribute(Quantity; ICOutBoxJnlLine.Quantity)
{
}
fieldattribute(TransSource; ICOutBoxJnlLine."Transaction Source")
{
}
fieldattribute(ICPartnerCode; ICOutBoxJnlLine."IC Partner Code")
{
}
fieldattribute(ICTransNo; ICOutBoxJnlLine."Transaction No.")
{
}
fieldattribute(DocumentNo; ICOutBoxJnlLine."Document No.")
{
}
textelement(ICIOBoxJnlDims)
{
tableelement(icioboxjnldim; "IC Inbox/Outbox Jnl. Line Dim.")
{
LinkFields = "IC Partner Code" = field("IC Partner Code"), "Transaction No." = field("Transaction No."), "Transaction Source" = field("Transaction Source"), "Line No." = field("Line No.");
LinkTable = ICOutBoxJnlLine;
MinOccurs = Zero;
XmlName = 'ICIOBoxJnlDim';
SourceTableView = where("Table ID" = const(415));
UseTemporary = true;
fieldattribute(TableID; ICIOBoxJnlDim."Table ID")
{
}
fieldattribute(TransSource; ICIOBoxJnlDim."Transaction Source")
{
}
fieldattribute(ICPartnerCode; ICIOBoxJnlDim."IC Partner Code")
{
}
fieldattribute(ICTransNo; ICIOBoxJnlDim."Transaction No.")
{
}
fieldattribute(LineNo; ICIOBoxJnlDim."Line No.")
{
}
fieldattribute(DimCode; ICIOBoxJnlDim."Dimension Code")
{
}
fieldattribute(DimValCode; ICIOBoxJnlDim."Dimension Value Code")
{
}
}
}
}
}
textelement(ICOutBoxSalesHeaders)
{
MinOccurs = Zero;
tableelement(icoutboxsaleshdr; "IC Outbox Sales Header")
{
LinkFields = "IC Transaction No." = field("Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutboxTrans;
MinOccurs = Zero;
XmlName = 'ICOutBoxSalesHdr';
UseTemporary = true;
fieldattribute(DocType; ICOutBoxSalesHdr."Document Type")
{
}
fieldattribute(SellToCustNo; ICOutBoxSalesHdr."Sell-to Customer No.")
{
}
fieldattribute(DocNo; ICOutBoxSalesHdr."No.")
{
}
fieldattribute(BillToCustNo; ICOutBoxSalesHdr."Bill-to Customer No.")
{
}
fieldattribute(ShipToName; ICOutBoxSalesHdr."Ship-to Name")
{
}
fieldattribute(ShipToAddress; ICOutBoxSalesHdr."Ship-to Address")
{
}
fieldattribute(ShipToCity; ICOutBoxSalesHdr."Ship-to City")
{
}
fieldattribute(PostingDate; ICOutBoxSalesHdr."Posting Date")
{
}
fieldattribute(DueDate; ICOutBoxSalesHdr."Due Date")
{
}
fieldattribute(PmtDiscPct; ICOutBoxSalesHdr."Payment Discount %")
{
}
fieldattribute(PmtDiscDate; ICOutBoxSalesHdr."Pmt. Discount Date")
{
}
fieldattribute(CurrencyCode; ICOutBoxSalesHdr."Currency Code")
{
}
fieldattribute(PricesInclVAT; ICOutBoxSalesHdr."Prices Including VAT")
{
}
fieldattribute(DocDate; ICOutBoxSalesHdr."Document Date")
{
}
fieldattribute(ExtDocNo; ICOutBoxSalesHdr."External Document No.")
{
}
fieldattribute(ICPartnerCode; ICOutBoxSalesHdr."IC Partner Code")
{
}
fieldattribute(ICTransNo; ICOutBoxSalesHdr."IC Transaction No.")
{
}
fieldattribute(TransSource; ICOutBoxSalesHdr."Transaction Source")
{
}
fieldattribute(ReqDelivDate; ICOutBoxSalesHdr."Requested Delivery Date")
{
}
fieldattribute(PromDelivDate; ICOutBoxSalesHdr."Promised Delivery Date")
{
}
fieldattribute(OrderNo; ICOutBoxSalesHdr."Order No.")
{
}
textelement(ICDocDimensions)
{
tableelement(icsalesdocdim; "IC Document Dimension")
{
LinkFields = "Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutBoxSalesHdr;
MinOccurs = Zero;
XmlName = 'ICSalesDocDim';
SourceTableView = where("Table ID" = const(426), "Line No." = const(0));
UseTemporary = true;
fieldattribute(TableID; ICSalesDocDim."Table ID")
{
}
fieldattribute(TransNo; ICSalesDocDim."Transaction No.")
{
}
fieldattribute(ICPartnerCode; ICSalesDocDim."IC Partner Code")
{
}
fieldattribute(TransSource; ICSalesDocDim."Transaction Source")
{
}
fieldattribute(LineNo; ICSalesDocDim."Line No.")
{
}
fieldattribute(DimCode; ICSalesDocDim."Dimension Code")
{
}
fieldattribute(DimValCode; ICSalesDocDim."Dimension Value Code")
{
}
}
}
textelement(ICOutBoxSalesLines)
{
tableelement(icoutboxsalesline; "IC Outbox Sales Line")
{
LinkFields = "Document No." = field("No."), "IC Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutBoxSalesHdr;
MinOccurs = Zero;
XmlName = 'ICOutBoxSalesLine';
UseTemporary = true;
fieldattribute(DocType; ICOutBoxSalesLine."Document Type")
{
}
fieldattribute(DocNo; ICOutBoxSalesLine."Document No.")
{
}
fieldattribute(LineNo; ICOutBoxSalesLine."Line No.")
{
}
fieldattribute(Description; ICOutBoxSalesLine.Description)
{
}
fieldattribute(Quantity; ICOutBoxSalesLine.Quantity)
{
}
fieldattribute(UnitPrice; ICOutBoxSalesLine."Unit Price")
{
}
fieldattribute(LineDiscAmount; ICOutBoxSalesLine."Line Discount Amount")
{
}
fieldattribute(AmountInclVAT; ICOutBoxSalesLine."Amount Including VAT")
{
}
fieldattribute(JobNo; ICOutBoxSalesLine."Job No.")
{
}
fieldattribute(DropShipment; ICOutBoxSalesLine."Drop Shipment")
{
}
fieldattribute(CurrencyCode; ICOutBoxSalesLine."Currency Code")
{
}
fieldattribute(VATBaseAmount; ICOutBoxSalesLine."VAT Base Amount")
{
}
fieldattribute(LineAmount; ICOutBoxSalesLine."Line Amount")
{
}
fieldattribute(ICPartnerRefType; ICOutBoxSalesLine."IC Partner Ref. Type")
{
}
fieldattribute(ICPartnerRef; ICOutBoxSalesLine."IC Partner Reference")
{
}
fieldattribute(ICItemRefNo; ICOutBoxSalesLine."IC Item Reference No.")
{
}
fieldattribute(TransSource; ICOutBoxSalesLine."Transaction Source")
{
}
fieldattribute(UnitOfMeasureCode; ICOutBoxSalesLine."Unit of Measure Code")
{
}
fieldattribute(TransNo; ICOutBoxSalesLine."IC Transaction No.")
{
}
fieldattribute(ReqDelivDate; ICOutBoxSalesLine."Requested Delivery Date")
{
}
fieldattribute(PromDelivDate; ICOutBoxSalesLine."Promised Delivery Date")
{
}
fieldattribute(ShipmentNo; ICOutBoxSalesLine."Shipment No.")
{
}
fieldattribute(ShipmentLineNo; ICOutBoxSalesLine."Shipment Line No.")
{
}
textelement(LineDimensions)
{
tableelement(icsalesdoclinedim; "IC Document Dimension")
{
LinkFields = "Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source"), "Line No." = field("Line No.");
LinkTable = ICOutBoxSalesLine;
MinOccurs = Zero;
XmlName = 'ICSalesDocLineDim';
SourceTableView = where("Table ID" = const(427));
UseTemporary = true;
fieldattribute(TableID; ICSalesDocLineDim."Table ID")
{
}
fieldattribute(TransNo; ICSalesDocLineDim."Transaction No.")
{
}
fieldattribute(ICPartnerCode; ICSalesDocLineDim."IC Partner Code")
{
}
fieldattribute(TransSource; ICSalesDocLineDim."Transaction Source")
{
}
fieldattribute(LineNo; ICSalesDocLineDim."Line No.")
{
}
fieldattribute(DimCode; ICSalesDocLineDim."Dimension Code")
{
}
fieldattribute(DimValCode; ICSalesDocLineDim."Dimension Value Code")
{
}
}
}
}
}
}
}
textelement(ICOutBoxPurchHeaders)
{
MinOccurs = Zero;
tableelement(icoutboxpurchhdr; "IC Outbox Purchase Header")
{
LinkFields = "IC Transaction No." = field("Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutboxTrans;
MinOccurs = Zero;
XmlName = 'ICOutBoxPurchHdr';
UseTemporary = true;
fieldattribute(DocType; ICOutBoxPurchHdr."Document Type")
{
}
fieldattribute(BuyFromVendNo; ICOutBoxPurchHdr."Buy-from Vendor No.")
{
}
fieldattribute(DocNo; ICOutBoxPurchHdr."No.")
{
}
fieldattribute(PayToVendNo; ICOutBoxPurchHdr."Pay-to Vendor No.")
{
}
fieldattribute(YourRef; ICOutBoxPurchHdr."Your Reference")
{
}
fieldattribute(ShipToName; ICOutBoxPurchHdr."Ship-to Name")
{
}
fieldattribute(ShipToAddress; ICOutBoxPurchHdr."Ship-to Address")
{
}
fieldattribute(ShipToCity; ICOutBoxPurchHdr."Ship-to City")
{
}
fieldattribute(PostingDate; ICOutBoxPurchHdr."Posting Date")
{
}
fieldattribute(ExpRecDate; ICOutBoxPurchHdr."Expected Receipt Date")
{
}
fieldattribute(DueDate; ICOutBoxPurchHdr."Due Date")
{
}
fieldattribute(PmtDiscPct; ICOutBoxPurchHdr."Payment Discount %")
{
}
fieldattribute(PmtDiscDate; ICOutBoxPurchHdr."Pmt. Discount Date")
{
}
fieldattribute(CurrencyCode; ICOutBoxPurchHdr."Currency Code")
{
}
fieldattribute(PricesInclVAT; ICOutBoxPurchHdr."Prices Including VAT")
{
}
fieldattribute(VendInvNo; ICOutBoxPurchHdr."Vendor Invoice No.")
{
}
fieldattribute(VendCrMemoNo; ICOutBoxPurchHdr."Vendor Cr. Memo No.")
{
}
fieldattribute(SellToCustNo; ICOutBoxPurchHdr."Sell-to Customer No.")
{
}
fieldattribute(DocDate; ICOutBoxPurchHdr."Document Date")
{
}
fieldattribute(ICPartnerCode; ICOutBoxPurchHdr."IC Partner Code")
{
}
fieldattribute(ICTransNo; ICOutBoxPurchHdr."IC Transaction No.")
{
}
fieldattribute(TransSource; ICOutBoxPurchHdr."Transaction Source")
{
}
fieldattribute(ReqRecDate; ICOutBoxPurchHdr."Requested Receipt Date")
{
}
fieldattribute(PromRecDate; ICOutBoxPurchHdr."Promised Receipt Date")
{
}
textelement(ICPurDocDimensions)
{
tableelement(icpurdocdim; "IC Document Dimension")
{
LinkFields = "Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutBoxPurchHdr;
MinOccurs = Zero;
XmlName = 'ICPurDocDim';
SourceTableView = where("Table ID" = const(428), "Line No." = const(0));
UseTemporary = true;
fieldattribute(TableID; ICPurDocDim."Table ID")
{
}
fieldattribute(TransNo; ICPurDocDim."Transaction No.")
{
}
fieldattribute(ICPartnerCode; ICPurDocDim."IC Partner Code")
{
}
fieldattribute(TransSource; ICPurDocDim."Transaction Source")
{
}
fieldattribute(LineNo; ICPurDocDim."Line No.")
{
}
fieldattribute(DimCode; ICPurDocDim."Dimension Code")
{
}
fieldattribute(DimValCode; ICPurDocDim."Dimension Value Code")
{
}
}
}
textelement(ICOutBoxPurchLines)
{
tableelement(icoutboxpurchline; "IC Outbox Purchase Line")
{
LinkFields = "Document No." = field("No."), "IC Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source");
LinkTable = ICOutBoxPurchHdr;
MinOccurs = Zero;
XmlName = 'ICOutBoxPurchLine';
UseTemporary = true;
fieldattribute(DocType; ICOutBoxPurchLine."Document Type")
{
}
fieldattribute(DocNo; ICOutBoxPurchLine."Document No.")
{
}
fieldattribute(LineNo; ICOutBoxPurchLine."Line No.")
{
}
fieldattribute(Description; ICOutBoxPurchLine.Description)
{
}
fieldattribute(Quantity; ICOutBoxPurchLine.Quantity)
{
}
fieldattribute(DirUnitCost; ICOutBoxPurchLine."Direct Unit Cost")
{
}
fieldattribute(LineDiscAmount; ICOutBoxPurchLine."Line Discount Amount")
{
}
fieldattribute(AmountInclVAT; ICOutBoxPurchLine."Amount Including VAT")
{
}
fieldattribute(JobNo; ICOutBoxPurchLine."Job No.")
{
}
fieldattribute(IndCostPct; ICOutBoxPurchLine."Indirect Cost %")
{
}
fieldattribute(DropShipment; ICOutBoxPurchLine."Drop Shipment")
{
}
fieldattribute(CurrencyCode; ICOutBoxPurchLine."Currency Code")
{
}
fieldattribute(VATBaseAmount; ICOutBoxPurchLine."VAT Base Amount")
{
}
fieldattribute(UnitCost; ICOutBoxPurchLine."Unit Cost")
{
}
fieldattribute(LineAmount; ICOutBoxPurchLine."Line Amount")
{
}
fieldattribute(ICPartnerRefType; ICOutBoxPurchLine."IC Partner Ref. Type")
{
}
fieldattribute(ICPartnerRef; ICOutBoxPurchLine."IC Partner Reference")
{
}
fieldattribute(ICItemRefNo; ICOutBoxPurchLine."IC Item Reference No.")
{
}
fieldattribute(TransSource; ICOutBoxPurchLine."Transaction Source")
{
}
fieldattribute(UnitOfMeasureCode; ICOutBoxPurchLine."Unit of Measure Code")
{
}
fieldattribute(TransNo; ICOutBoxPurchLine."IC Transaction No.")
{
}
fieldattribute(ReqRecDate; ICOutBoxPurchLine."Requested Receipt Date")
{
}
fieldattribute(PromRecDate; ICOutBoxPurchLine."Promised Receipt Date")
{
}
textelement(PurLineDimensions)
{
tableelement(icpurdoclinedim; "IC Document Dimension")
{
LinkFields = "Transaction No." = field("IC Transaction No."), "IC Partner Code" = field("IC Partner Code"), "Transaction Source" = field("Transaction Source"), "Line No." = field("Line No.");
LinkTable = ICOutBoxPurchLine;
MinOccurs = Zero;
XmlName = 'ICPurDocLineDim';
SourceTableView = where("Table ID" = const(429));
UseTemporary = true;
fieldattribute(TableID; ICPurDocLineDim."Table ID")
{
}
fieldattribute(TransNo; ICPurDocLineDim."Transaction No.")
{
}
fieldattribute(ICPartnerCode; ICPurDocLineDim."IC Partner Code")
{
}
fieldattribute(TransSource; ICPurDocLineDim."Transaction Source")
{
}
fieldattribute(LineNo; ICPurDocLineDim."Line No.")
{
}
fieldattribute(DimCode; ICPurDocLineDim."Dimension Code")
{
}
fieldattribute(DimValCode; ICPurDocLineDim."Dimension Value Code")
{
}
}
}
}
}
}
}
}
}
}
requestpage
{
layout
{
}
actions
{
}
}
trigger OnPreXmlPort()
begin
ICSetup.Get();
ICSetup.TestField("IC Partner Code");
end;
var
ICSetup: Record "IC Setup";
ToICPartnerCode2: Code[20];
/// <summary>
/// Sets up the XmlPort for export by copying outbox transaction data to internal tables.
/// Prepares all related transaction data including journal lines, sales documents, purchase documents, and dimensions.
/// </summary>
/// <param name="NewICOutboxTrans">IC Outbox Transaction records to prepare for export</param>
procedure SetICOutboxTrans(var NewICOutboxTrans: Record "IC Outbox Transaction")
var
NewICOutBoxJnlLine: Record "IC Outbox Jnl. Line";
NewICIOBoxJnlDim: Record "IC Inbox/Outbox Jnl. Line Dim.";
NewICOutBoxSalesHdr: Record "IC Outbox Sales Header";
NewICOutBoxSalesLine: Record "IC Outbox Sales Line";
NewICOutBoxPurchHdr: Record "IC Outbox Purchase Header";
NewICOutBoxPurchLine: Record "IC Outbox Purchase Line";
NewICDocDim: Record "IC Document Dimension";
begin
ICOutboxTrans.DeleteAll();
ICOutBoxJnlLine.DeleteAll();
ICIOBoxJnlDim.DeleteAll();
ICOutBoxSalesHdr.DeleteAll();
ICOutBoxSalesLine.DeleteAll();
ICOutBoxPurchHdr.DeleteAll();
ICOutBoxPurchLine.DeleteAll();
ICSalesDocDim.DeleteAll();
ICSalesDocLineDim.DeleteAll();
ICPurDocDim.DeleteAll();
ICPurDocLineDim.DeleteAll();
if NewICOutboxTrans.Find('-') then
repeat
ICOutboxTrans := NewICOutboxTrans;
ICOutboxTrans.Insert();
NewICOutBoxJnlLine.SetRange("Transaction No.", NewICOutboxTrans."Transaction No.");
NewICOutBoxJnlLine.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICOutBoxJnlLine.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICOutBoxJnlLine.Find('-') then
repeat
ICOutBoxJnlLine := NewICOutBoxJnlLine;
ICOutBoxJnlLine.Insert();
until NewICOutBoxJnlLine.Next() = 0;
NewICIOBoxJnlDim.SetRange("Table ID", DATABASE::"IC Outbox Jnl. Line");
NewICIOBoxJnlDim.SetRange("Transaction No.", NewICOutboxTrans."Transaction No.");
NewICIOBoxJnlDim.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICIOBoxJnlDim.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICIOBoxJnlDim.Find('-') then
repeat
ICIOBoxJnlDim := NewICIOBoxJnlDim;
ICIOBoxJnlDim.Insert();
until NewICIOBoxJnlDim.Next() = 0;
NewICOutBoxSalesHdr.SetRange("IC Transaction No.", NewICOutboxTrans."Transaction No.");
NewICOutBoxSalesHdr.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICOutBoxSalesHdr.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICOutBoxSalesHdr.Find('-') then
repeat
ICOutBoxSalesHdr := NewICOutBoxSalesHdr;
ICOutBoxSalesHdr.Insert();
until NewICOutBoxSalesHdr.Next() = 0;
NewICOutBoxSalesLine.SetRange("IC Transaction No.", NewICOutboxTrans."Transaction No.");
NewICOutBoxSalesLine.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICOutBoxSalesLine.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICOutBoxSalesLine.Find('-') then
repeat
ICOutBoxSalesLine := NewICOutBoxSalesLine;
ICOutBoxSalesLine.Insert();
until NewICOutBoxSalesLine.Next() = 0;
NewICOutBoxPurchHdr.SetRange("IC Transaction No.", NewICOutboxTrans."Transaction No.");
NewICOutBoxPurchHdr.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICOutBoxPurchHdr.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICOutBoxPurchHdr.Find('-') then
repeat
ICOutBoxPurchHdr := NewICOutBoxPurchHdr;
ICOutBoxPurchHdr.Insert();
until NewICOutBoxPurchHdr.Next() = 0;
NewICOutBoxPurchLine.SetRange("IC Transaction No.", NewICOutboxTrans."Transaction No.");
NewICOutBoxPurchLine.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICOutBoxPurchLine.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
if NewICOutBoxPurchLine.Find('-') then
repeat
ICOutBoxPurchLine := NewICOutBoxPurchLine;
ICOutBoxPurchLine.Insert();
until NewICOutBoxPurchLine.Next() = 0;
NewICDocDim.SetRange("Transaction No.", NewICOutboxTrans."Transaction No.");
NewICDocDim.SetRange("IC Partner Code", NewICOutboxTrans."IC Partner Code");
NewICDocDim.SetRange("Transaction Source", NewICOutboxTrans."Transaction Source");
NewICDocDim.SetRange("Table ID", DATABASE::"IC Outbox Sales Header");
NewICDocDim.SetRange("Line No.", 0);
SetICDocDim(NewICDocDim, ICSalesDocDim);
NewICDocDim.SetRange("Table ID", DATABASE::"IC Outbox Sales Line");
NewICDocDim.SetRange("Line No.");
SetICDocDim(NewICDocDim, ICSalesDocLineDim);
NewICDocDim.SetRange("Table ID", DATABASE::"IC Outbox Purchase Header");
NewICDocDim.SetRange("Line No.", 0);
SetICDocDim(NewICDocDim, ICPurDocDim);
NewICDocDim.SetRange("Table ID", DATABASE::"IC Outbox Purchase Line");
NewICDocDim.SetRange("Line No.");
SetICDocDim(NewICDocDim, ICPurDocLineDim);
until NewICOutboxTrans.Next() = 0;
end;
local procedure SetICDocDim(var NewICDocDim: Record "IC Document Dimension"; var DestDocDim: Record "IC Document Dimension")
begin
if NewICDocDim.Find('-') then
repeat
DestDocDim := NewICDocDim;
DestDocDim.Insert();
until NewICDocDim.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox transaction records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutboxTrans">Record variable to receive the IC outbox transaction data</param>
procedure GetICOutboxTrans(var NewICOutboxTrans: Record "IC Outbox Transaction")
begin
ICOutboxTrans.Reset();
if ICOutboxTrans.Find('-') then
repeat
NewICOutboxTrans := ICOutboxTrans;
NewICOutboxTrans.Insert();
until ICOutboxTrans.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox journal line records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutBoxJnlLine">Record variable to receive the IC outbox journal line data</param>
procedure GetICOutBoxJnlLine(var NewICOutBoxJnlLine: Record "IC Outbox Jnl. Line")
begin
ICOutBoxJnlLine.Reset();
if ICOutBoxJnlLine.Find('-') then
repeat
NewICOutBoxJnlLine := ICOutBoxJnlLine;
NewICOutBoxJnlLine.Insert();
until ICOutBoxJnlLine.Next() = 0;
end;
/// <summary>
/// Retrieves all IC inbox/outbox journal line dimension records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICIOBoxJnlDim">Record variable to receive the IC journal line dimension data</param>
procedure GetICIOBoxJnlDim(var NewICIOBoxJnlDim: Record "IC Inbox/Outbox Jnl. Line Dim.")
begin
ICIOBoxJnlDim.Reset();
if ICIOBoxJnlDim.Find('-') then
repeat
NewICIOBoxJnlDim := ICIOBoxJnlDim;
NewICIOBoxJnlDim.Insert();
until ICIOBoxJnlDim.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox sales header records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutBoxSalesHdr">Record variable to receive the IC outbox sales header data</param>
procedure GetICOutBoxSalesHdr(var NewICOutBoxSalesHdr: Record "IC Outbox Sales Header")
begin
ICOutBoxSalesHdr.Reset();
if ICOutBoxSalesHdr.Find('-') then
repeat
NewICOutBoxSalesHdr := ICOutBoxSalesHdr;
NewICOutBoxSalesHdr.Insert();
until ICOutBoxSalesHdr.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox sales line records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutBoxSalesLine">Record variable to receive the IC outbox sales line data</param>
procedure GetICOutBoxSalesLine(var NewICOutBoxSalesLine: Record "IC Outbox Sales Line")
begin
ICOutBoxSalesLine.Reset();
if ICOutBoxSalesLine.Find('-') then
repeat
NewICOutBoxSalesLine := ICOutBoxSalesLine;
NewICOutBoxSalesLine.Insert();
until ICOutBoxSalesLine.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox purchase header records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutBoxPurchHdr">Record variable to receive the IC outbox purchase header data</param>
procedure GetICOutBoxPurchHdr(var NewICOutBoxPurchHdr: Record "IC Outbox Purchase Header")
begin
ICOutBoxPurchHdr.Reset();
if ICOutBoxPurchHdr.Find('-') then
repeat
NewICOutBoxPurchHdr := ICOutBoxPurchHdr;
NewICOutBoxPurchHdr.Insert();
until ICOutBoxPurchHdr.Next() = 0;
end;
/// <summary>
/// Retrieves all IC outbox purchase line records and inserts them into the provided record variable.
/// </summary>
/// <param name="NewICOutBoxPurchLine">Record variable to receive the IC outbox purchase line data</param>
procedure GetICOutBoxPurchLine(var NewICOutBoxPurchLine: Record "IC Outbox Purchase Line")
begin
ICOutBoxPurchLine.Reset();
if ICOutBoxPurchLine.Find('-') then
repeat
NewICOutBoxPurchLine := ICOutBoxPurchLine;
NewICOutBoxPurchLine.Insert();
until ICOutBoxPurchLine.Next() = 0;
end;
/// <summary>
/// Retrieves IC sales document dimension records and transfers them to the provided record variable.
/// </summary>
/// <param name="NewICDocDim">Record variable to receive the IC sales document dimension data</param>
procedure GetICSalesDocDim(var NewICDocDim: Record "IC Document Dimension")
begin
ICSalesDocDim.Reset();
SetICDocDim(ICSalesDocDim, NewICDocDim);
end;
/// <summary>
/// Retrieves IC sales document line dimension records and transfers them to the provided record variable.
/// </summary>
/// <param name="NewICDocDim">Record variable to receive the IC sales document line dimension data</param>
procedure GetICSalesDocLineDim(var NewICDocDim: Record "IC Document Dimension")
begin
ICSalesDocLineDim.Reset();
SetICDocDim(ICSalesDocLineDim, NewICDocDim);
end;
/// <summary>
/// Retrieves IC purchase document dimension records and transfers them to the provided record variable.
/// </summary>
/// <param name="NewICDocDim">Record variable to receive the IC purchase document dimension data</param>
procedure GetICPurchDocDim(var NewICDocDim: Record "IC Document Dimension")
begin
ICPurDocDim.Reset();
SetICDocDim(ICPurDocDim, NewICDocDim);
end;
/// <summary>
/// Retrieves IC purchase document line dimension records and transfers them to the provided record variable.
/// </summary>
/// <param name="NewICDocDim">Record variable to receive the IC purchase document line dimension data</param>
procedure GetICPurchDocLineDim(var NewICDocDim: Record "IC Document Dimension")
begin
ICPurDocLineDim.Reset();
SetICDocDim(ICPurDocLineDim, NewICDocDim);
end;
/// <summary>
/// Returns the source IC partner code for the import/export operation.
/// </summary>
/// <returns>IC partner code from which data is being imported</returns>
procedure GetFromICPartnerCode(): Code[20]
begin
exit(FromICPartnerCode);
end;
/// <summary>
/// Returns the destination IC partner code for the import/export operation.
/// </summary>
/// <returns>IC partner code to which data is being exported</returns>
procedure GetToICPartnerCode(): Code[20]
begin
exit(ToICPartnerCode2);
end;
}