Resolved issues

Review the defects and fixes that are resolved in the updates.

3 May 2024 (24.1.3.2-10.0.2403.2)

Defect ID Case number Description
593981 Internal By default, the PLANNED_TRANSFER supply record is created with the expected time of arrival (ETA) as 19000101.

Solution: The yfs.useScheduleBasedETAForSupply property is introduced. When you set the value of this property to true, the expected time of arrival for the PLANNED_TRANSFER supply record is calculated based on the transit time of the transfer and expected time of arrival at the receiving node.

594028 TS014226680 When a refund is made to a new payment method, the invoice that is created for the remaining amount shows an incorrect payment method.

Solution: This issue is resolved. The correct payment method is now applied to the invoiced amount.

594031 TS015579088 The getAvailableInventory API does not consider nodes that are added by the OMPGetSourcingCorrectionsUE user exit.

Solution: This issue is resolved.

594032 TS015831146 The getAlternateStoreAvailability API does not consider the unplanned inventory for an item across multiple nodes in a single API call.

Solution: The getAlternateStoreAvailability API is enhanced and now considers the unplanned inventory for an item across multiple nodes in a single API call.

594034 TS015626883 In the Applications Manager, complete the following steps to remove a subscribed distribution rule. It does not get removed.
  1. Go to Global Inventory Visibility > Inventory Rules .
  2. Click the Monitor rules tab.
  3. In the Distribution Group To Use For Node Level Monitoring, click the Configure Monitor Rule Distribution Group icon. The Monitor Groups Distribution Groups window opens.
  4. In the Distribution Group To Use For Node Level Monitoring panel, remove a subscribed distribution rule. It does not get removed.

Solution: This issue is resolved. You can successfully remove the subscribed distribution rule.

594035 Internal In customer overrides, set the property yfs.yfs.overrideTransferScheduleForProc=true. In a multistop scenario, the carrier service pickup schedule is not considered for the estimated time of shipment (ETS) calculation at the origin node.

Solution: This issue is resolved. In a multistop scenario, when you set the property yfs.yfs.overrideTransferScheduleForProc=true and configure the carrier service pickup schedule on the origin node, the carrier service pickup schedule is considered for the estimated time of shipment (ETS) calculation at the origin node.

594037 TS015905731 In the manageCouponPolicy API Javadoc, the references to the related documents are incorrect.

Solution: This issue is resolved. In the manageCouponPolicy API Javadoc, the references to the related documents are updated.

594040 TS015720140 The option to trigger agents from the System Management Administration (SMA) application console is not present.

Solution: This issue is resolved. The option to trigger agents from the System Management Administration (SMA) application console is present. However, it is not recommended for users who are on version 2.0 as they must use the Self Service to trigger agents.

594047 TS016078970 The reserveItemInventoryList API does not reserve quantity when you perform the following steps:
  1. Create two tag-controlled items, ITEM_A1 and ITEM_A2.
  2. Adjust supply.
    • ITEM_A1 (GTIN: ITEM_A) | Supply: Lot1(100), Lot2 (100)
    • ITEM_A2 (GTIN: ITEM_A)
  3. Call the reserveItemInventoryList API with ITEM_A2 and lot number Lot1. The item quantity is reserved successfully.
    Note: As a result of performing step 3, the YFS_INVENTORY_ITEM record exists for ITEM_A2. But, the YFS_INVENTORY_TAG record for ITEM_A2 and Lot2 does not exist because the supply or demand is not created for this combination so far.
  4. Call the reserveItemInventoryList API with ITEM_A2 and lot number Lot2. The item quantity is not reserved.

Solution: This issue is resolved. The reserveItemInventoryList API reserves the item quantity successfully.

594056 TS015708517 When you perform the following steps, the findInventory API displays the Not Enough Product Choices message.
  1. For the shipping sourcing rule, create the DG_1 distribution group with STORE_1.
  2. For the procurement sourcing rule, create the DG_2 distribution group with STORE_1.
  3. Create a sourcing rule with DG_1 distribution group and select Onhand Inventory Selected.
  4. Create a procurement sourcing rule with DG_2 distribution group enable the Use Shipping/Delivery Sourcing Rule Inventory Window flag.
  5. Adjust the inventory at P_STORE_1 for an item, such as ITEM_1.
  6. Call the findInventory API for ITEM_1.

Solution: This issue is resolved.

5 April 2024 (24.1.3.1-10.0.2403.1)

Defect ID Case number Description
593846 Internal The application is enhanced to support the default carrier service for the node transfer schedule capability. If a carrier service is configured for the node transfer schedule, then the configured carrier service is used for transit time and date calculations instead of the transfer schedule. To enable this feature, set the yfs.overrideTransferScheduleForProc property to true. Use the manageNodeTransferSchedule API to configure the CarrierServiceCode and SCAC attributes for the node transfer schedule. You can also override the CarrierServiceCode and SCAC attributes by using the YFSGetDeliveryLeadTimeUE use exit. For more information, see Javadoc.
Note: The transfer, delivery, and pickup schedules for the carrier service must match the calendar of the warehouses.

For more information, see Override transfer schedule between nodes.

593892 TS014703795 In a multistop scenario, pass the ReceivingNode attribute as input to the findInventory API. In the API output, the ship date of the origin node is displayed as the current date and time instead and not derived from the cut-off time of the transfer schedule.

Solution: In the findInventory API output, the ship date of the origin node is updated to derive from the cut-off time of the transfer schedule.

593945 Internal For an item-node combination that has an entry in the YFS_INVENOTRY_NODE_CONTROL table, calling the adjustInventory API with AdjustmentType as ABSOLUTE and existing Quantity and RemoveInventoryNodeControl as A or Y does not insert any record in the YFS_INVENTORY_ACTIVITY table. Therefore, the zero availability record in the YFS_INVENTORY_ALERTS table is not updated.

Solution: Calling the adjustInventory API with AdjustmentType as ABSOLUTE and existing Quantity and RemoveInventoryNodeControl as A or Y now inserts a record in the YFS_INVENTORY_ACTIVITY table.

593953 Internal Call the reserveAvailableInventory API in an external availability setup. A null pointer exception is displayed.

Solution: Instead of a null pointer exception, a valid error with ErrorCode=INV921_001 and ErrorDescription=Invalid operation as supply and demand are kept externally is displayed.

  • 593974
  • 593863
  • TS015346039
  • TS014498696
In a Sterling Intelligent Promising Inventory Visibility integrated environment, when you schedule an order for which the inventory does not exist, a null pointer exception is displayed in Sterling Intelligent Promising Inventory Visibility.

Solution: This issue is resolved.

593984 TS015414866 The translateBarCode API calls a separate SQL query for each inventory organization.

Solution: The SQL query that is used in the translateBarCode API is optimized, and the API does not call separate SQL query for all the inventory organizations.

593985 TSO13561176 For the searchCatalogIndex API, not enough debug information is included in logs, and null pointer exceptions are shown instead of meaningful messages.

Solution: The additional debug information is added to the searchCatalogIndex API logs when the category list is fetched.

593986 TS015258164 Due to an issue with rounding off decimal values, the link between the refund and settlement is not established.

Solution: This issue is resolved.

593989 TS015518595 A null pointer exception is observed on calling the changeRelease API for transfer orders that have a change in the quantity attribute.

Solution: This issue is resolved.

593992 TS015333225 Restore an exchange order from the history table for which the associated return order and sales order are also archived to the history table. The restoreOrder API displays a concurrent modification exception.

Solution: This issue is resolved.

594005 TS015584220 During the process of extracting a full-load data in production, only the records for the YFS_ORDER_HEADER table are not extracted in production.

Solution: A limit is introduced to the failing query in getJobs. During the initial run of data extract with historical data, it helps to limit the number of records queried in the getJobs parameter in one query.

594009 TS015450579 For a registered user, the create return flow fails when initiated from the Return Search portlet on the home page.

Solution: This issue is resolved.

594011 Internal In the output of the YCPGetExternalAuthenticationTokenUE user exit, the Token/@AuthenticationToken attribute is mandated.

Solution: If the HeaderAttribute element is present for authentication to support other authentication mechanism, the Token/@AuthenticationToken attribute is not mandated.

594019 TS015504157 The implementation of the YFSGetAvailabilityCorrectionsForItemListUE user exit for scenarios that involves tag items results in an out-of-memory error.

Solution: This issue is resolved.

594023 TS015731983 In the Applications Manager, when you open the Show Listener Details page on the Pipeline Details page, a java.lang.NullPointerException occurs.

Solution: The Show Listener Details page opens correctly.

1 March 2024 (24.1.3.0-10.0.2403.0)

Defect ID Case number Description
  • 593416
  • 593417
  • 593776
Internal Inventory purge is enhanced to support the selective table purge. For Sterling Intelligent Promising Inventory Visibility integrated environments, regardless of quantity, you can configure to purge the YFS_INVENTORY_SUPPLY, YFS_INVENTORY_DEMAND, and YFS_INVENTORY_RESERVATION records.

For more information, see Inventory purge.

593817 TS014288993 In the Applications Manager, when you add a condition that contains And or Or, the condition is not saved correctly.
593828 TS014236411 The drop-ship purchase orders are not created when a node is marked for external inventory, and the YFSGetExternalInventoryForItemListUE user exit is implemented for reading the external supplies.
593836 TS014426821 When you complete the following steps to schedule an order, a null pointer exception is displayed.
  1. Implement the OMPGetExternalCostForOptionsUE user exit.
  2. Set ENABLE_SHADOW_SOLVER to Y.
  3. Set the yfs.yfs.solver.MaxChoiceFailures to 1000.
  4. Create an order and schedule the order.
593872 TS014593280 The findInventory API displays a null pointer exception when the requested ship date that is stamped exceeds the LatestShipDate attribute in the processRoutingExternally user exit.

Solution: An appropriate error message is displayed.

593897 TS014496864 The node capacity locking properties are not considered when availability is low.
Solution: The node capacity locking properties are updated. You can now use the following properties:
  • yfs.nodecapacity.lock
  • yfs.nodecapacity.threshold
  • yfs.nodecapacity.timeout
593907 TS014747000 When you complete the following steps, a null pointer exception is displayed:
  1. Create 2 items, ITEM1 and ITEM2.
  2. Adjust the inventory for ITEM1 at NODE1 with 4 quantities and at NODE2 with 3 quantities.
  3. Adjust the inventory for ITEM2 at NODE1 with 4 quantities and at NODE3 with 3 quantities.
  4. Create an order by using the RelationshipType and DependentOnTransactionalLineId attributes. Add both the items with 7 quantities each so that the line with ITEM2 depends on the line with ITEM1.
  5. Schedule and release the order.
593914 TS013058801 For an item with low availability, when an order is unscheduled and reallocated in a single transaction, the order is backordered due to item unavailability in Sterling Intelligent Promising Inventory Visibility.

Solution: The product is enhanced to update demands in Sterling Intelligent Promising Inventory Visibility synchronously from Sterling Order Management System. To update demands synchronously, in the unscheduleOrder API, pass UpdateDemandSynchronously=Y. For more information, see Javadoc.

593921 Internal In Javadoc, for the YCPGetExternalAuthenticationTokenUE user exit, the input and output document type definition (DTD) is not listed.
593950 Internal If you enable the Distribute Adjustments among all the eligible lines property in the pricing rule for Ship Order Total pricing rule type, the shipping charge is distributed on a pro-rata basis across the shipping order lines. When the CarrierServiceCode property is defined as one of the criteria in the pricing rule, and if you pass the matching CarrierServiceCode value either at the header or line level for any one of the shipping lines, the pricing rule meets the eligibility criteria and applies the pricing rule to the order. The shipping charges and discounts are distributed across all the shipping lines that are present in the order.

Solution: Based on the charge that is configured in the pricing rule for ShipOrderTotal, if you enable the Distribute Adjustments among all the eligible lines property and set the yfs.pricing.shipOrderTotal.distributeAdjustment.targetMatchingCarrier property to true, the charge is not applied across all the shipping lines. It is applied only for specific line items based on the carrier service code and delivery method.

593952 TS015353017 In a Sterling Intelligent Promising Inventory Visibility integrated environment with the phase 2 adapter, the cancelReservation API fails when called to cancel the entire reserved quantity.
593962 Internal The user exit definition is not added for YCPGetExternalAuthenticationTokenUE.
593968 TS015429901 The getFulfillmentSummaryDetails API does not fetch the availability information based on the unplanned inventory.

Solution: The getFulfillmentSummaryDetails API is enhanced. A new UseUnplannedInventory attribute is added to the getFulfillmentSummaryDetails API. This attribute is passed to the getPossibleSchedules API, which is called internally. For more information, see the Javadoc.

19 January 2024 (23.3.9.2-10.0.2309.2)

Defect ID Case number Description
593291 TS010416256 The Next Task Queue Interval attribute in the chained order creates agent considers inputs in hours, and allows only integer values between 0 and 99999.

Solution: The Next Task Queue Interval attribute now allows decimal values.

593561 TS012343991 Too many open statements error message occurs.

Solution: To avoid the Too many open statements error message, the SQL statement that is created by the application is closed after the SQL statement is successful.

593952 TS015353017 In a Sterling Intelligent Promising Inventory Visibility phase 2 integrated environment, when you call the cancelReservation API to cancel the entire reserved quantity, the API displays an error message.
593603 TS012232894 In Javadoc, the description for the OrderRelease/OrderLines/OrderLine/@StatusQuantity attribute must be updated.
593749 TS013091270 The Javadoc for the getLocaleList API must be updated as the TotalNumberOfRecords attribute is deleted.
  • 593768
  • 593769
  • 593770
  • 593771
  • 593772
  • 593789
  • 593810
  • 593811
  • 593819
  • 593829
Internal The Sterling Order Management System-Sterling Intelligent Promising Inventory Visibility adapter must be enhanced to support orders with large number of lines.

Solution: The application is enhanced to support orders with large number of lines. For more information, see Handling orders with large number of order lines in the integration adapter.

593780 TS010026078 For asynchronous payment processing, orders are updated to the authorized payment status even before the funds are collected for asynchronous payment processing when Charge Instead Of Authorize is configured.

Solution: The orders are not updated to the authorized payment status before the funds are collected for asynchronous payment processing when the yfs.payment.asyncChargeStopAuthTillFundsCollected property is enabled.

For more information about the yfs.payment.asyncChargeStopAuthTillFundsCollected property, see Sterling Order Management System yfs.properties file.

593800 Internal To update capacity, the ManageCapacityReservation API must honor the IsActive flag of Resourcepool.

Solution: The ManageCapacityReservation API is enhanced to support the ConsiderOnlyActive flag in the API input. For more information, see Javadoc.

  • 593822
  • 593882
  • TS014109268
  • TS014495036
When you complete the following steps, it results in an incorrect availability calculation:
  1. Adjust inventory for tag-controlled item ITEM_A1 (GTIN: ITEM_A) at NODE1 to 10 quantity for LotNumber L1.
  2. Create a tagged demand for the item of 15 quantities for LotNumber L1.
  3. Adjust inventory for tag-controlled item ITEM_A2 (GTIN: ITEM_A) at NODE1 to 10 quantity for LotNumber L1.
  4. Start the findInventory API by using ITEM_A2 with LotNumber L1 for 10 quantity.
Availability was returned for all the 10 quantities of ITEM_A2 LotNumber L1. However, in actual only 5 quantities of ITEM_A2 LotNumber L1 is available.

Solution: The yfs.aggregateSupplyOfNonRequestedTagForGTIN property is introduced. To avoid over-consumption, set the value of this property to N so that the application does not read the aggregated supply of the nonrequested tag for GTIN items.

593827 TS013564551 An order for which the shipment is created, and when you cancel the order in IBM® Sterling Call Center, the ModificationReasonCode attribute, which is passed to the input of the cancelOrder API from IBM Sterling Call Center is not persisted in the order audit.

Solution: The ModificationReasonCode attribute is stamped in the order audit for orders for which the shipment is created, even if the order is canceled.

593836 TS014426821 When you complete the following steps, a null pointer exception is observed when an order is scheduled:
  1. Implement the OMPGetExternalCostForOptionsUE user exit.
  2. Set ENABLE_SHADOW_SOLVER=Y.
  3. Set yfs.yfs.solver.MaxChoiceFailures=1000.
  4. Create an order and schedule the order.
593845 TS014339259 When two nodes are eligible for procurement with the same dates for delivery with a different cut off time in transfer schedule, the FindInventory API gives random node in the output that results in an inconsistent behavior.

Solution: The FindInventory API is enhanced to return the node, which can deliver the earliest when two nodes are eligible for procurement with same dates for delivery with different cut off time.

593854 TS013689167 When a shipment that is associated with the work order is canceled, the shipment is still associated with the work order. This prevents any change that is made to the work order even if a new shipment is associated with the work order.

Solution: While modifying the work order, the canceled shipments that are associated with work order are ignored,

593855 TS014500057 The printDocumentSet API sends empty input to the custom print adapter class when accessed by multiple requests simultaneously.

Solution: The printDocumentSet API is updated to handle multiple requests simultaneously and pass the correct data to the custom print adapter class.

593860 TS013942194 The shipment line cancellation with CancelRemovedQuantity=Y should not throw an error, if the corresponding order has substituted items.
593865 TS014401497 Multiple calls to the OMPDetermineBestMultiStopTransferUE user exit with identical input are observed in a single FindInventory API call.
593878 TS014123782 When the changeOrderSchedule API inserts a new record for an updated schedule, it does not copy the OverrideItemID, OverrideProductClass and OverrideUOM attributes from the previous line schedule.

Solution: Whenever the line schedule is updated by using the changeOrderSchedule API, the new line schedule copies the OverrideItemID, OverrideProductClass and OverrideUOM attributes from the previous line schedule.

593881 TS014527009 The FindInventory API considers safety stock multiple times when the inventory organization relation exists with multiple consuming inventory organizations that shares catalog from the same catalog organization.

Solution: The FindInventory API is enhanced to consider safety stock only once for each catalog organization when the inventory organization relation exists with multiple consuming inventory organizations that shares catalog from the same catalog organization.

593884 TS013759856 After you upload a file, if a custom service is started by the Master Upload Runner agent, which involves more than one API call, the transaction is not rolled back if an error occurs after the first API call. Therefore, the data is persisted in the database.

Solution: When there is an error at any point in the custom service, the transaction will rollback and the data is not persisted for the particular record.

593898 TS014975610 Struts is upgraded from 2.5.31 to 2.5.33 version to remediate vulnerabilities.
593904   Enhance the application to allow a custom authentication mechanism for Order Service.
Solution: The new com.yantra.ycp.japi.ue.YCPGetExternalAuthenticationTokenUE user exit is introduced for the following capabilities:
  • To externalize the JSON Web Token (JWT) generation.
  • To invoke the user exit, if implemented. The application does not validate the token that is retrieved from the user exit output. If the user exit is implemented, the application bypasses its token generation logic and retrieves the token from the output of the user exit.
  • To set the expiration duration of the token based on the output from the user exit. When the token expires, the application invokes the user exit to retrieve a fresh token to make calls to Order Service.
593905 TS012674101 The template XML generator component does not pick entity extensions from runtime or extensions.