Table of Contents

KVSEDX WMS AddOn

Procedures

InitializeBOM(Record Warehouse Shipment Line, Record Production BOM Header, Record Production BOM Line) :

Summary: Initializes Bill of Materials (BOM) information from a warehouse shipment line's associated assembly order. This procedure extracts BOM data from assemble-to-order links and populates temporary BOM header and line records. The BOM information is used for WMS integration when sending assembly component details to external warehouse systems. Only processes lines with assembly orders and when the "Send BOM" setting is enabled in EDX setup.

procedure InitializeBOM(ParWarehouseShipmentLine: Record "Warehouse Shipment Line"; var TempVarProductionBOMHeader: Record "Production BOM Header" temporary; var TempVarProductionBOMLine: Record "Production BOM Line" temporary): 

Parameters:

  • ParWarehouseShipmentLine: The warehouse shipment line containing the assembly order reference
  • TempVarProductionBOMHeader: Temporary record to store the production BOM header information
  • TempVarProductionBOMLine: Temporary record to store the production BOM line details including components, quantities, and positions

ShowPacklist(Record KVSEDX WMS Whse.Rcpt.Header) :

Summary: Displays the package list (packlist) page for a warehouse receipt header. Shows all packages and their hierarchical structure associated with the warehouse receipt document. This includes outer packages, inner packages, and contained items with their SSCC/NVE codes.

procedure ShowPacklist(var VarKVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"): 

Parameters:

  • VarKVSEDXWMSWhseRcptHeader: The warehouse receipt header record for which to display the package list

ShowPacklist(Record KVSEDX WMS Whse.Ship.Header) :

Summary: Displays the package list (packlist) page for a warehouse shipment header. Shows all packages and their hierarchical structure associated with the warehouse shipment document. This includes outer packages, inner packages, and contained items with their SSCC/NVE codes.

procedure ShowPacklist(var VarKVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"): 

Parameters:

  • VarKVSEDXWMSWhseShipHeader: The warehouse shipment header record for which to display the package list

ShowPacklist(Record Sales Shipment Header) :

Summary: Displays the package list (packlist) page for a posted sales shipment. Shows all packages and their hierarchical structure associated with the posted sales shipment document. This includes outer packages, inner packages, and contained items with their SSCC/NVE codes.

procedure ShowPacklist(var VarSalesShipmentHeader: Record "Sales Shipment Header"): 

Parameters:

  • VarSalesShipmentHeader: The posted sales shipment header record for which to display the package list

ShowPacklist(Record Purch. Rcpt. Header) :

Summary: Displays the package list (packlist) page for a posted purchase receipt. Shows all packages and their hierarchical structure associated with the posted purchase receipt document. This includes outer packages, inner packages, and contained items with their SSCC/NVE codes.

procedure ShowPacklist(var VarPurchRcptHeader: Record "Purch. Rcpt. Header"): 

Parameters:

  • VarPurchRcptHeader: The posted purchase receipt header record for which to display the package list

ShowPacklist(Code[20], Enum KVSEDX WMS Document Type) :

Summary: Displays the package list (packlist) page for a specified document number and type. This is the core implementation used by all ShowPacklist overloads. It recursively builds a hierarchical package tree showing outer packages, inner packages, and contained items with their SSCC/NVE codes, quantities, and source document references. The package tree is displayed with proper indentation to show parent-child relationships between packages.

procedure ShowPacklist(ParNo: Code[20]; ParType: Enum "KVSEDX WMS Document Type"): 

Parameters:

  • ParNo: The document number (e.g., warehouse receipt no., warehouse shipment no., sales shipment no., purchase receipt no.)
  • ParType: The document type enum indicating whether this is a warehouse receipt, warehouse shipment, sales shipment, or purchase receipt

Summary: Checks if an assemble-to-order link exists for a given warehouse shipment line and returns the link record by reference. This is the recommended version to use instead of the obsolete AsmExistsForWhseShptLine. Validates that the shipment line is marked as assemble-to-order, is for a sales line source, and has a valid corresponding assembly order linked through the sales line. If found, the AssembletoOrderLink parameter is populated with the found assembly order link record.

procedure AsmExistsForWhseShptLineV2(var AssembletoOrderLink: Record "Assemble-to-Order Link"; ParWarehouseShipmentLine: Record "Warehouse Shipment Line"): Boolean

Parameters:

  • AssembletoOrderLink: Output parameter that will contain the found assembly order link record if one exists
  • ParWarehouseShipmentLine: The warehouse shipment line to check for assembly order links

Returns: True if an assemble-to-order link exists for the warehouse shipment line, otherwise false

Events

OnBeforeInitializeWarehouseShipmentHeader(Record Warehouse Shipment Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeInitializeWarehouseShipmentHeader(var VarWarehouseShipmentHeader: Record "Warehouse Shipment Header"; var Handled: Boolean): 

OnAfterInitializeWarehouseShipmentHeader(Record Warehouse Shipment Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterInitializeWarehouseShipmentHeader(var VarWarehouseShipmentHeader: Record "Warehouse Shipment Header"; var Handled: Boolean): 

OnBeforeInitializeWarehouseReceiptHeader(Record Warehouse Receipt Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeInitializeWarehouseReceiptHeader(var VarWarehouseReceiptHeader: Record "Warehouse Receipt Header"; var Handled: Boolean): 

OnAfterInitializeWarehouseReceiptHeader(Record Warehouse Receipt Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterInitializeWarehouseReceiptHeader(var VarWarehouseReceiptHeader: Record "Warehouse Receipt Header"; var Handled: Boolean): 

OnAfterPostSalesDocPackages(Record Sales Shipment Line, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterPostSalesDocPackages(var VarSalesShipmentLine: Record "Sales Shipment Line"; var Handled: Boolean): 

OnAfterPostPurchaseDocPackages(Record Purch. Rcpt. Line, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterPostPurchaseDocPackages(var VarPurchRcptLine: Record "Purch. Rcpt. Line"; var Handled: Boolean): 

OnBeforePostSalesDocPackages(Record Sales Shipment Line, Record KVSEDX WMS Packages, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforePostSalesDocPackages(var VarSalesShipmentLine: Record "Sales Shipment Line"; var VarKVSEDXWMSPackages: Record "KVSEDX WMS Packages"; var Handled: Boolean): 

OnBeforePostPurchaseDocPackages(Record Purch. Rcpt. Line, Record KVSEDX WMS Packages, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforePostPurchaseDocPackages(var VarPurchRcptLine: Record "Purch. Rcpt. Line"; var VarKVSEDXWMSPackages: Record "KVSEDX WMS Packages"; var Handled: Boolean): 

OnBeforeCreateWarehouseReceiptV2(Record KVSEDX WMS Whse.Rcpt.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateWarehouseReceiptV2(var VarKVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; var RunOnlyCheck: Boolean): 

OnAfterCreateWarehouseReceiptV2(Record KVSEDX WMS Whse.Rcpt.Header) :

[IntegrationEvent(true, false)]
local procedure OnAfterCreateWarehouseReceiptV2(var VarKVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"): 

OnBeforeCheckWarehouseReceipt(Record KVSEDX WMS Whse.Rcpt.Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCheckWarehouseReceipt(var VarKVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; var ErrorsFound: Boolean; var Handled: Boolean): 

OnAfterCheckWarehouseReceipt(Record KVSEDX WMS Whse.Rcpt.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterCheckWarehouseReceipt(var VarKVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; var Handled: Boolean): 

OnBeforeCreateWarehouseShipmentV2(Record KVSEDX WMS Whse.Ship.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateWarehouseShipmentV2(var VarKVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; var RunOnlyCheck: Boolean): 

OnAfterCreateWarehouseShipmentV2(Record KVSEDX WMS Whse.Ship.Header) :

[IntegrationEvent(true, false)]
local procedure OnAfterCreateWarehouseShipmentV2(var VarKVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"): 

OnBeforeCheckWarehouseShipment(Record KVSEDX WMS Whse.Ship.Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCheckWarehouseShipment(var VarKVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; var ErrorsFound: Boolean; var Handled: Boolean): 

OnAfterCheckWarehouseShipment(Record KVSEDX WMS Whse.Ship.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterCheckWarehouseShipment(var VarKVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; var Handled: Boolean): 

OnBeforeCreateInventoryV2(Record KVSEDX WMS Inventory Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateInventoryV2(var VarKVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"; var RunOnlyCheck: Boolean): 

OnAfterCreateInventoryV2(Record KVSEDX WMS Inventory Header) :

[IntegrationEvent(true, false)]
local procedure OnAfterCreateInventoryV2(var VarKVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"): 

OnBeforeCheckInventory(Record KVSEDX WMS Inventory Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCheckInventory(var VarKVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"; var ErrorsFound: Boolean; var Handled: Boolean): 

OnAfterCheckInventory(Record KVSEDX WMS Inventory Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterCheckInventory(var VarKVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"; var Handled: Boolean): 

OnBeforeCreateWarehouseShipmentStateV2(Record KVSEDX WMS Whse.Ship.State Hdr, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateWarehouseShipmentStateV2(var VarKVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"; var RunOnlyCheck: Boolean): 

OnAfterCreateWarehouseShipmentStateV2(Record KVSEDX WMS Whse.Ship.State Hdr) :

[IntegrationEvent(true, false)]
local procedure OnAfterCreateWarehouseShipmentStateV2(var VarKVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"): 

OnBeforeCheckWarehouseShipmentState(Record KVSEDX WMS Whse.Ship.State Hdr, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCheckWarehouseShipmentState(var VarKVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"; var ErrorsFound: Boolean; var Handled: Boolean): 

OnAfterCheckWarehouseShipmentState(Record KVSEDX WMS Whse.Ship.State Hdr, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterCheckWarehouseShipmentState(var VarKVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"; var Handled: Boolean): 

OnBeforeInitializeBOM(Record Warehouse Shipment Line, Record Production BOM Header, Record Production BOM Line, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeInitializeBOM(ParWarehouseShipmentLine: Record "Warehouse Shipment Line"; var TempVarProductionBOMHeader: Record "Production BOM Header" temporary; var TempVarProductionBOMLine: Record "Production BOM Line" temporary; var Handled: Boolean): 

OnAfterInitializeBOM(Record Warehouse Shipment Line, Record Production BOM Header, Record Production BOM Line, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterInitializeBOM(ParWarehouseShipmentLine: Record "Warehouse Shipment Line"; var TempVarProductionBOMHeader: Record "Production BOM Header" temporary; var TempVarProductionBOMLine: Record "Production BOM Line" temporary; var Handled: Boolean): 

OnOverReceiptQuantity(Record KVSEDX WMS Whse.Rcpt.Header, Record KVSEDX WMS Whse.Rcpt.Line, Decimal, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnOverReceiptQuantity(KVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; KVSEDXWMSWhseRcptLine: Record "KVSEDX WMS Whse.Rcpt.Line"; OverReceiptQuantity: Decimal; var IsHandled: Boolean): 

OnOverShipmentQuantity(Record KVSEDX WMS Whse.Ship.Header, Record KVSEDX WMS Whse.Ship.Line, Decimal, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnOverShipmentQuantity(KVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; KVSEDXWMSWhseShipLine: Record "KVSEDX WMS Whse.Ship.Line"; OverShipmentQuantity: Decimal; var IsHandled: Boolean): 

OnBeforeRunCreateWarehouseReceipt(Record KVSEDX WMS Whse.Rcpt.Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeRunCreateWarehouseReceipt(var KVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; var OnlyCheck: Boolean; var IsHandled: Boolean): 

OnAfterRunCreateWarehouseReceipt(Record KVSEDX WMS Whse.Rcpt.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterRunCreateWarehouseReceipt(var KVSEDXWMSWhseRcptHeader: Record "KVSEDX WMS Whse.Rcpt.Header"; var OnlyCheck: Boolean): 

OnBeforeRunCreateWarehouseShipment(Record KVSEDX WMS Whse.Ship.Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeRunCreateWarehouseShipment(var KVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; var OnlyCheck: Boolean; var IsHandled: Boolean): 

OnAfterRunCreateWarehouseShipment(Record KVSEDX WMS Whse.Ship.Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterRunCreateWarehouseShipment(var KVSEDXWMSWhseShipHeader: Record "KVSEDX WMS Whse.Ship.Header"; var OnlyCheck: Boolean): 

OnBeforeRunCreateInventory(Record KVSEDX WMS Inventory Header, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeRunCreateInventory(var KVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"; var OnlyCheck: Boolean; var IsHandled: Boolean): 

OnAfterRunCreateInventory(Record KVSEDX WMS Inventory Header, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterRunCreateInventory(var KVSEDXWMSInventoryHeader: Record "KVSEDX WMS Inventory Header"; var OnlyCheck: Boolean): 

OnBeforeRunCreateWarehouseShipmentState(Record KVSEDX WMS Whse.Ship.State Hdr, Boolean, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnBeforeRunCreateWarehouseShipmentState(var KVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"; var OnlyCheck: Boolean; var IsHandled: Boolean): 

OnAfterRunCreateWarehouseShipmentState(Record KVSEDX WMS Whse.Ship.State Hdr, Boolean) :

[IntegrationEvent(true, false)]
local procedure OnAfterRunCreateWarehouseShipmentState(var KVSEDXWMSWhseShipStateHdr: Record "KVSEDX WMS Whse.Ship.State Hdr"; var OnlyCheck: Boolean):