Skip to content

KVSEDX GS1 BMS ORDER IMP#

Events#

OnAfterAssignVariableHeaderData(Record KVSEDX Sales Header, XmlAttributeCollection, XmlNode, Boolean) :#

Summary: The OnAfterAssignVariableHeaderData event is fired when an avpList is processed in the order header. The "KVSEDX Sales Header" is already inserted at this time. The GS1XmlAttributeCollection can be used to query the attribute of the avpList element. GS1AttributeValuePairXmlNode contains the corresponding value.

[IntegrationEvent(true, false)]
local procedure OnAfterAssignVariableHeaderData(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; GS1XmlAttributeCollection: XmlAttributeCollection; GS1AttributeValuePairXmlNode: XmlNode; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnAfterAssignVariableHeaderData', '', false, false)]
local procedure DoSomethingOnAfterAssignVariableHeaderData(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; GS1XmlAttributeCollection: XmlAttributeCollection; GS1AttributeValuePairXmlNode: XmlNode; var IsHandled: Boolean)
begin
end;

Parameters:

  • KVSEDXSalesHeader: Current KVSEDX Sales Header
  • GS1XmlAttributeCollection: Attribute Collection for this AttributeValuePair
  • GS1AttributeValuePairXmlNode: Node with Value
  • IsHandled:

Example:

foreach GS1XmlAttribute in GS1XmlAttributeCollection do
    if (GS1XmlAttribute.Name = 'attributeName') then
        case GS1XmlAttribute.Value of
            'PROJ_DATA_1':
                KVSEDXSalesHeader."Project Field 1" := CopyStr(GS1XmlNode.AsXmlElement().InnerText, 1, MaxStrLen(KVSEDXSalesHeader."Project Field 1"));
            'PROJ_DATA_2':
                KVSEDXSalesHeader."Project Field 2" := CopyStr(GS1XmlNode.AsXmlElement().InnerText, 1, MaxStrLen(KVSEDXSalesHeader."Project Field 2"));
        end;
KVSEDXSalesHeader.Modify(true);

OnBeforeProcessHeader(Record KVSEDX Sales Header, XmlNamespaceManager, XmlElement, XmlNode, Boolean) :#

[IntegrationEvent(true, false)]
local procedure OnBeforeProcessHeader(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1XmlRootElement: XmlElement; var GS1OrderXmlNode: XmlNode; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnBeforeProcessHeader', '', false, false)]
local procedure DoSomethingOnBeforeProcessHeader(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1XmlRootElement: XmlElement; var GS1OrderXmlNode: XmlNode; var IsHandled: Boolean)
begin
end;

OnAfterProcessHeader(Record KVSEDX Sales Header, XmlNamespaceManager, XmlElement, XmlNode, Boolean) :#

[IntegrationEvent(true, false)]
local procedure OnAfterProcessHeader(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1XmlRootElement: XmlElement; var GS1OrderXmlNode: XmlNode; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnAfterProcessHeader', '', false, false)]
local procedure DoSomethingOnAfterProcessHeader(var KVSEDXSalesHeader: Record "KVSEDX Sales Header"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1XmlRootElement: XmlElement; var GS1OrderXmlNode: XmlNode; var IsHandled: Boolean)
begin
end;

OnAfterAssignVariableLineData(Record KVSEDX Sales Line, XmlNodeList, Boolean) :#

Summary: The OnAfterAssignVariableLineData event is fired when an avpList is processed in the order line. The "KVSEDX Sales Line" is already inserted at this time. The GS1XmlAttributeCollection can be used to query the attribute of the avpList element. GS1AttributeValuePairXmlNode contains the corresponding value.

[IntegrationEvent(true, false)]
local procedure OnAfterAssignVariableLineData(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; GS1AttributeValuePairXmlNodeList: XmlNodeList; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnAfterAssignVariableLineData', '', false, false)]
local procedure DoSomethingOnAfterAssignVariableLineData(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; GS1AttributeValuePairXmlNodeList: XmlNodeList; var IsHandled: Boolean)
begin
end;

Parameters:

  • KVSEDXSalesHeader: Current KVSEDX Sales Header
  • GS1XmlAttributeCollection: Attribute Collection for this AttributeValuePair
  • GS1AttributeValuePairXmlNode: Node with Value
  • IsHandled:

Example:

foreach GS1AttributeValuePairXmlNode in GS1AttributeValuePairXmlNodeList do begin
  GS1XmlAttributeCollection := GS1AttributeValuePairXmlNode.AsXmlElement().Attributes();
  if (GS1XmlAttributeCollection.Count > 0) then begin
      foreach GS1XmlAttribute in GS1XmlAttributeCollection do
        if (GS1XmlAttribute.Name = 'attributeName') then
          case GS1XmlAttribute.Value of
              'PROJ_DATA_1':
                  KVSEDXSalesLine."Project Field 1" := CopyStr(GS1XmlNode.AsXmlElement().InnerText, 1, MaxStrLen(KVSEDXSalesLine."Project Field 1"));
              'PROJ_DATA_2':
                  KVSEDXSalesLine."Project Field 2" := CopyStr(GS1XmlNode.AsXmlElement().InnerText, 1, MaxStrLen(KVSEDXSalesLine."Project Field 2"));
  end;
KVSEDXSalesLine.Modify(true);

OnBeforeProcessLine(Record KVSEDX Sales Line, XmlNamespaceManager, XmlNode, Boolean) :#

[IntegrationEvent(true, false)]
local procedure OnBeforeProcessLine(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1LineXmlNode: XmlNode; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnBeforeProcessLine', '', false, false)]
local procedure DoSomethingOnBeforeProcessLine(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1LineXmlNode: XmlNode; var IsHandled: Boolean)
begin
end;

OnAfterProcessLine(Record KVSEDX Sales Line, XmlNamespaceManager, XmlNode, Boolean) :#

[IntegrationEvent(true, false)]
local procedure OnAfterProcessLine(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1LineXmlNode: XmlNode; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX GS1 BMS ORDER IMP", 'OnAfterProcessLine', '', false, false)]
local procedure DoSomethingOnAfterProcessLine(var KVSEDXSalesLine: Record "KVSEDX Sales Line"; var GS1XmlNamespaceManager: XmlNamespaceManager; var GS1LineXmlNode: XmlNode; var IsHandled: Boolean)
begin
end;