KVSEDX GS1 BMS Manangement#
Procedures#
OnRun#
procedure OnRun(Rec: Record "KVSEDX Inbound")
PartyIdentification(XmlElement, Text, Text, Text, Text, Text, Boolean) :#
Summary: Create Party Identification XmlElements
procedure PartyIdentification(var GS1PartyXmlElement: XmlElement; VendorOrCustomerNo: Text; OurAccount: Text; GLN: Text; VATRegistrationNo: Text; PlantOrUnloadingPoint: Text; IsSales: Boolean):
Parameters:
GS1PartyXmlElement: GS1 Party XML element to add identification elements toVendorOrCustomerNo: Vendor or Customer number for identificationOurAccount: Our account number with the partyGLN: Global Location Number for the partyVATRegistrationNo: VAT registration number of the partyPlantOrUnloadingPoint: The unloading point is transferred at the ship to addressIsSales: True if this is a sales transaction, false for purchase
PartyavpList(RecordId, XmlElement) :#
Summary: Creates and adds an avpList element for a party with dynamic attribute/value data.
procedure PartyavpList(SourceRecordId: RecordId; var PartyXmlElement: XmlElement):
Parameters:
SourceRecordId: Source record used to collect additional party dataPartyXmlElement: Party XmlElement that receives the avpList element
CreateAddress(XmlElement, Text, Text, Text, Text, Text, Text, Text) : XmlElement#
Summary: Creates an address XML element and adds it to the specified GS1 party element.
procedure CreateAddress(GS1PartyElement: XmlElement; Name: Text; Address: Text; Address2: Text; CountryRegionCode: Text; County: Text; PostCode: Text; City: Text): XmlElement
Parameters:
GS1PartyElement: GS1 party XML element to which the address element is added.Name: Name of the address contact or company.Address: First address line.Address2: Second address line.CountryRegionCode: Country/region code in ISO format.County: County or region.PostCode: Postal code.City: City name.
Returns: The created address XML element.
AddAttributeValuePair(XmlElement, Text, Variant) : XmlElement#
Summary: Adds an AttributeValuePair to the avpList from Variant
procedure AddAttributeValuePair(var GS1avpListXmlElement: XmlElement; AttributeName: Text; ValueVariant: Variant): XmlElement
Parameters:
GS1avpListXmlElement: avp ListAttributeName: Attribute NameValueVariant: Value as Variant
Returns: Created XmlElement
Events#
OnMapFieldValue(RecordRef, FieldRef, Text, Text, Text, Enum KVSEDX Channel, Boolean) :#
Summary: The event is fired when the value of a field needs to be mapped. If it is an outbound mapping (see Direction), the current value of the field can be queried via SourceFieldRef.Value. The mapped value is returned with MappedFieldValue. In the case of inbound mapping, the incoming value can be queried with XmlNodeInnerText. The mapped value is returned with MappedFieldValue.
[IntegrationEvent(true, false)]
local procedure OnMapFieldValue(SourceRecordRef: RecordRef; SourceFieldRef: FieldRef; XmlNodeName: Text; SourceValue: Text; var MappedValue: Text; Direction: Enum "KVSEDX Channel"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS Manangement", 'OnMapFieldValue', '', false, false)]
local procedure DoSomethingOnMapFieldValue(SourceRecordRef: RecordRef; SourceFieldRef: FieldRef; XmlNodeName: Text; SourceValue: Text; var MappedValue: Text; Direction: Enum "KVSEDX Channel"; var IsHandled: Boolean)
begin
end;
Parameters:
SourceRecordRef: Current RecordRefSourceFieldRef: Current FieldRefXmlNodeName: Name of the XmlNodeSourceValue: Source ValueMappedValue: Mapped ValueDirection: Message Direction In-/OutboundIsHandled: true if MappedValue is set
OnPreXMLPartyData(RecordId, XmlElement, Record KVSEDX Outbound, Boolean) :#
Summary: The OnPreXMLPartyData event is fired when the avpList (Attribute Value Pair List) is created for the party. Project-related additional data can be transmitted.
[IntegrationEvent(true, false)]
local procedure OnPreXMLPartyData(SourceRecordId: RecordId; var PartyXmlElement: XmlElement; var TempKVSEDXOutbound: Record "KVSEDX Outbound" temporary; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS Manangement", 'OnPreXMLPartyData', '', false, false)]
local procedure DoSomethingOnPreXMLPartyData(SourceRecordId: RecordId; var PartyXmlElement: XmlElement; var TempKVSEDXOutbound: Record "KVSEDX Outbound" temporary; var IsHandled: Boolean)
begin
end;
Parameters:
SourceRecordId: Source Record Purchase Header, Sales Header..PartyXmlElement: XmlElement for the Party Seller, Buyer...TempKVSEDXOutbound: Dynamic DataIsHandled: Is Handled
OnPreXMLTransactionalTradeItemData(RecordId, XmlElement, Record KVSEDX Outbound, Boolean) :#
Summary: The OnPreXMLPartyData event is fired when the avpList (Attribute Value Pair List) is created for the party. Project-related additional data can be transmitted.
[IntegrationEvent(true, false)]
local procedure OnPreXMLTransactionalTradeItemData(SourceRecordId: RecordId; var TransactionalTradeItemXmlElement: XmlElement; var TempKVSEDXOutbound: Record "KVSEDX Outbound" temporary; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS Manangement", 'OnPreXMLTransactionalTradeItemData', '', false, false)]
local procedure DoSomethingOnPreXMLTransactionalTradeItemData(SourceRecordId: RecordId; var TransactionalTradeItemXmlElement: XmlElement; var TempKVSEDXOutbound: Record "KVSEDX Outbound" temporary; var IsHandled: Boolean)
begin
end;
Parameters:
SourceRecordId: Source Record Purchase Header, Sales Header..TransactionalTradeItemXmlElement: XmlElement for the TransactionalTradeItem XmlElementTempKVSEDXOutbound: Dynamic DataIsHandled: Is Handled
OnGS1Process_ApplicationReceiptAcknowledgementMessage(RecordId, Text, XmlNodeList, Boolean) :#
Summary: Integration event fired when processing a GS1 Application Receipt Acknowledgement message. This event allows subscribers to implement custom handling of receipt acknowledgement messages and error processing. Use this event to implement custom business logic for handling document confirmations, rejections, or error responses.
[IntegrationEvent(true, false)]
local procedure OnGS1Process_ApplicationReceiptAcknowledgementMessage(ParRecordID: RecordId; ParapplicationResponseStatusCode: Text; ParXmlNodeListErrors: XmlNodeList; ParHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS Manangement", 'OnGS1Process_ApplicationReceiptAcknowledgementMessage', '', false, false)]
local procedure DoSomethingOnGS1Process_ApplicationReceiptAcknowledgementMessage(ParRecordID: RecordId; ParapplicationResponseStatusCode: Text; ParXmlNodeListErrors: XmlNodeList; ParHandled: Boolean)
begin
end;
Parameters:
ParRecordID: The RecordId of the source document that received the acknowledgementParapplicationResponseStatusCode: The application response status code (e.g., ACCEPTED, REJECTED, RECEIVED)ParXmlNodeListErrors: XML node list containing any error information from the acknowledgementParHandled: Set to true if the subscriber has handled the acknowledgement processing
OnGS1Process_ApplicationReceiptAcknowledgementMessageV2(RecordId, XmlElement, Boolean) :#
Summary: Integration event fired when processing a GS1 Application Receipt Acknowledgement message (Version 2). This enhanced version provides access to the complete XML root element for more comprehensive processing. Use this event to implement advanced custom handling of receipt acknowledgements with full XML document access.
[IntegrationEvent(true, false)]
local procedure OnGS1Process_ApplicationReceiptAcknowledgementMessageV2(ParRecordID: RecordId; ParXmlRootElement: XmlElement; ParHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS Manangement", 'OnGS1Process_ApplicationReceiptAcknowledgementMessageV2', '', false, false)]
local procedure DoSomethingOnGS1Process_ApplicationReceiptAcknowledgementMessageV2(ParRecordID: RecordId; ParXmlRootElement: XmlElement; ParHandled: Boolean)
begin
end;
Parameters:
ParRecordID: The RecordId of the source document that received the acknowledgementParXmlRootElement: The complete XML root element of the acknowledgement message for detailed processingParHandled: Set to true if the subscriber has handled the acknowledgement processing