FedEx Home Delivery residential flag is not set when shipping in Silent Mode
When processing a FedEx Home Delivery shipment in Agility Shipping with ,Silent Mode (Bypass Shipping Prompts), enabled, the residential delivery flag is not set correctly in the carrier API request.,Because FedEx Home Delivery requires the recipient address to be identified as residential, the FedEx API rejects the shipment request and returns an error.
SAP Delivery — "TYPE does not belong to table" error when no freight/handling expense mappings exist in wsFreightExp
Shipping — SAP Delivery:, Resolved an error that prevented deliveries from being created for customers with no freight or handling expense code mappings configured. Default expense codes are now applied correctly in this scenario.
Added SAP HANA SQL compatibility handling for HANA Calculation Engine error 2957 in the Product Updater
Updated WiSys SQL processing to work around an SAP HANA database engine issue that can cause certain database operations to fail with HANA return code ,2957 – ,undefined index attribute,. The failure may also be reported as ,TrexColumnUpdate failed, with the transaction rolled back due to an internal HANA error.,SAP documents this error family in ,SAP Notes 3119296 and 3423151,. SAP identifies the underlying condition as an issue in the HANA Calculation Engine (CE), where a filter involving a calculated column can result in an invalid calculation model during execution.,Although an earlier occurrence of this HANA engine issue was corrected by SAP in HANA revision 059, SAP Note 3423151 documents a later scenario resulting in the same ,2957 – undefined index attribute, error. For that scenario, SAP addressed the issue at the application layer by changing the SQL generated by SAP BW/4HANA rather than through an additional HANA database engine correction.,WiSys has implemented the same app
Fix bin allocations dropping records when a line spans multiple bins
When creating an SAP document from preload records using the Wisys.SapDocumentService, a line split across multiple bins produced incorrect bin allocations. Only two allocation rows were written regardless of how many bins were supplied — one matching the last preload record, and a second unrelated row created by SAP to absorb the unallocated remainder.,Root cause: in ,SAPDocumentMapper.SetLineBinSnB,, the ,found, flag controlling whether a new allocation row is appended was initialised to ,true,, making the ,Add(), call unreachable. Every preload record overwrote the same allocation row. The search for an existing row also matched on bin number alone, so a bin reused across two different batches could not receive its own allocation.,Fixed by initializing the flag correctly, matching existing rows on both bin and batch/serial base line, tracking populated rows explicitly rather than relying on the collection count (which includes SAP's trailing blank row), and accumulating quantity rat
Fixed an object reference error that could occur when using Add Line within Production Update.
This release resolves an object reference error encountered when adding a new line through the ,Production Update, process.,The issue occurred when the Add Line functionality attempted to access an object that had not been properly initialized, resulting in an error and preventing the production update from continuing.,The Production Update logic has been corrected to properly initialize and validate the required objects before processing the new line.
SAP document mapper cleanup and hardening
A group of correctness fixes found while investigating DEV-210422, plus a build output correction. All are in the document mapping and Agility service layers.,Serial number user fields, were written to the preceding serial's row on lines with more than one serial; the last serial received none. The ,UserFields, handle was captured once before the loop, but each ,Add(), moves the collection cursor. Now re-acquired after ,Add(),, matching what the batch block already did. ,Existing preload data may contain misassigned serial UDF values from before this fix.,Serial row counter, advanced on every preload record rather than only those carrying a serial number, producing an incorrect ,SerialAndBatchNumbersBaseLine, link between serials and bin allocations. Split into separate "rows populated" and "row index just written" variables.,Blank expense row, was appended to every line carrying expenses — ,SetLineExpenses, populated the current row then called ,Add(),, leaving an unpopulated row afte
Add validation that bin, batch and serial quantities match the line quantity
WMS-2 — Add validation that bin, batch and serial quantities match the line quantity,Description:,There was no validation that bin, batch and serial quantities agreed with the line quantity. Malformed preload data produced documents that SAP either rejected with an unclear error or accepted in a wrong state.,Adds ,BinBatchSerialQuantityMustMatchLineRule,, validating each axis independently:,Units., Preload bin and batch quantities are supplied in the line's unit of measure, not inventory base units. ,SAPDocumentMapper.SetLineBinSnB, performs the conversion to base units by multiplying each record by ,NumPerMsr,. The rule therefore compares totals against the line quantity ,as supplied, with no conversion applied,. For an item with ,NumPerMsr, 25, a line quantity of 2 split across two bins at quantity 1 each is correct, and posts to SAP as 25 + 25 = 50 base units.,Zero quantities., Records written through the service always carry a quantity — ,DocumentMapper.MapBinSnBToDto, substitutes
Added a new captured object to support the creation of SAP Disassembly Production Orders from Agility/WMS workflows.
This release introduces a new captured object designed to collect and stage the information required to create ,Special Production Orders in SAP Business One,.,The captured object provides a standardized integration point between the Agility workflow and SAP, allowing the application to capture the required production order information and pass it through the SAP integration layer for document creation.
Added a new captured object to support the creation of SAP Special Production Orders from Agility/WMS workflows.
This release introduces a new captured object designed to collect and stage the information required to create ,Special Production Orders in SAP Business One,.,The captured object provides a standardized integration point between the Agility workflow and SAP, allowing the application to capture the required production order information and pass it through the SAP integration layer for document creation.
Expand SAP Freight and Handling Write Back mapping
Expanded the SAP Freight and Handling account writeback capabilities when shipping through the Fulfillment Manager. Now users can map freight and handling expenses to freight accounts in SAP based on CardCode, CardCode & Warehouse, CardCode Group, CardCode Group & Warehouse in addition to the already in place Warehouse and Default mapping.