HAMP | ASN Imported Assets Ignored Due to Duplicate Purchase Order Number on proc_po Table<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Issue When processing an Advanced Shipment Notification (ASN) import in Hardware Asset Management (HAM), imported assets are not created. The following message is logged: "Asset can not be processed since PO PO0001234 is not in pending delivery or ordered status" This occurs despite the intended Purchase Order having a current State of Pending Delivery. Symptoms ASN import records are skipped and assets are not created.The import log displays the message: Asset can not be processed since PO {PO Number} is not in pending delivery or ordered status.The Purchase Order referenced in the ASN import row visibly shows a State of Pending Delivery or Ordered when viewed in the platform.No errors or exceptions are thrown — the record is silently ignored. Facts This behavior originates from the ASNTransform Script Include, specifically the validatePO function.The validatePO function queries the Purchase Order [proc_po] table where the Number field matches the PO Number on the import set row.It retrieves the State of the returned record and validates whether the value is pending delivery or ordered.If the State does not match either value, the function logs the rejection message and the asset is not processed.The query does not enforce an order or explicitly target the most recent record — it processes the first record returned.The Number field on the Purchase Order [proc_po] table is expected to be unique, but the platform does not enforce uniqueness with a constraint by default. Cause Investigation revealed that two records existed on the Purchase Order [proc_po] table with the same PO Number: An older Purchase Order with a State of Canceled.A newer Purchase Order (the intended target) with a State of Pending Delivery. Because the validatePO function queries by PO Number and processes the first record returned, the older Canceled record was being evaluated. Since its State was neither pending delivery nor ordered, the validation failed and the asset import was rejected — even though the correct, active Purchase Order was in a valid state. Solution Resolve the duplicate Purchase Order condition using one of the following approaches: Option 1 — Remove the duplicate record (recommended) Navigate to Procurement > Purchase Orders.Search for the affected PO Number (e.g., PO0001234).Identify the duplicate record with the Canceled state.Confirm the Canceled record is no longer needed and has no dependent records (e.g., associated receipt lines or asset records).Delete the Canceled Purchase Order record.Re-run the ASN import to confirm the assets are now processed successfully. Option 2 — Update the PO Number on the duplicate record If the duplicate Canceled record cannot be deleted (e.g., it is retained for audit or historical purposes): Navigate to Procurement > Purchase Orders.Open the duplicate Canceled Purchase Order record.Modify the Number field to a unique value (e.g., append a suffix such as PO0001234-DUP or PO0001234-CANCELED).Save the record.Re-run the ASN import to confirm the assets are now processed successfully. Note: After resolution, consider implementing a business rule or unique index on the Number field of the Purchase Order [proc_po] table to prevent duplicate PO Numbers from being created in the future. Evaluate the impact on existing integrations and import processes before applying any uniqueness enforcement.