Fixes by fix pack version

You can review the fixes that are addressed in each fix pack version.

Note:
  • If you are installing fix pack 10.0.2206.2 or above, the underlying fix pack installer that is used is no more a delta package jar, but a full installer jar.
  • For more information about the installation instructions for any fix pack, see the Fix_Pack_Installation.txt file that is available within the fix pack installer zip.
    Important: You must always back up your existing runtime directory before starting the fix pack installation.

Version numbering for Continuous Delivery support policy

Effective from June 2022, the product lifecycle policy for IBM® Sterling Order Management System Software has changed from Standard support to Continuous Delivery support. A new Continuous Delivery version numbering scheme is introduced. The first update to include the numbering is in Q2 2022 which is 10.0.2206.0 where first two digits remain 10.0. The third digit indicates major quarterly updates including two-digit year followed by the two-digit month. The fourth digit indicates minor updates and increments sequentially from 0 for each major update.

For more information about adopting Continuous Delivery support policy, see Adopting Continuous Delivery support policy.

To review the fixes that are addressed in each fix pack version that are released before 2023, see Archived fixes by fix pack version.

5 April 2024 (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 TS015346039 In a Sterling Intelligent Promising Inventory Visibility integrated environment, when you schedule an order for which the inventory does not exist in Sterling Intelligent Promising Inventory Visibility, a null pointer exception is displayed.

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 amount 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 (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 Software. 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 (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.

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 Software-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 Software 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 quantity 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 quantity 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 non-requested tag for GTIN items.

593827 TS013564551 An order for which the shipment is created, and when you cancel the order in Sterling Call Center, the ModificationReasonCode attribute, which is passed to the input of the cancelOrder API from 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 Internal 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.

6 October 2023 (10.0.2309.1)

Note: There is a entity change in the YFS_RES_POOL table in the current fix pack.
Defect ID Case number Description
593618 TS012845462 The notification system note is showing a grammatical error.

The issue is resolved.

593634 TS012496239 When the cancelOrder API is invoked for canceling the orders on hold and is preventing cancellation, the error message that is displayed is Invalid Cancellation Quantity.

Solution: The issue is resolved and the error message modifies to Modification CANCEL is prevented when order is on hold type <HOLD_TYPE>.

593643 TS011901472 The YFSGetExternalInventoryForItemListUE is not considering preferred substitute items to read inventory for external nodes and results in back-ordering.

The issue is resolved.

593756 TS013660738 During the procurement evaluation, the user exit YFSGetItemNodeCostForSourcingUE is called for the item-node that does not have inventory for the item.

Solution: The issue is resolved and the YFSGetItemNodeCostForSourcingUE input is enhanced to provide nodes that have available inventory for the item.

593761 TS013548521 When the sales order shipment is canceled with CancelRemovedQuantity set to Y, the related procurement TO is canceled even if it is already received at receiving node that is leading to inconsistent supply picture.

Solution: The issue is resolved and the procurement TO is canceling based on the orders modification rules.

593765 Internal The Special Service resource pool calendar and shipping calendar are not considered in ship date calculation at ship node for procurement scenario.
Solution: The issue is resolved.
Note: Enable the ENABLE_SPL_SERVICE_NODE_WORK_HOURS rule to use the ship date calculation feature.
593767 Internal Sterling Order Management System Software is enhanced to allow deactivating node capacity at the resource pool level. When the node capacity is deactivated, it is assumed that the node has infinite capacity during availability checks.

For more information, see Deactivating node capacity.

593775 TS013796787 The shortage note text is formed internally by the recordShortageForPack API that prevents customizing the notes text.

Solution: The issue is resolved and the RecordShortageForPack API is enhanced to stamp a custom note text on the order line during shorting when ShortageNoteText attribute is passed in the input.

593777 TS013595684 The null pointer exception is observed in Real-time Availability Monitor (RTAM) when the following sequence of steps is performed:
  1. Enable Real-time Availability Monitor (RTAM) monitoring by using organization rules.
  2. Create a common code type DIST_GRP_LVL_MTR and specify the priority to distribute unassigned demands.
  3. Adjust supply for an item say ITEM_1 and Quantity_1.
    Note: The Item is not created in Sterling Order Management System Software.
  4. Run the Real-time Availability Monitor (RTAM) agent.

The issue is resolved.

593779 TS013200747 The import order API is not updating the other charges field.

The issue is resolved.

593794 TS014058355 The YCD_BACKROOM_PICK.ON_SUCCESS file is corrected with the .xml extension.
593805 Internal Sterling Order Management System Software is enhanced such that the Applications Manager build does not fail for OpenJDK 8 builds in macOS.

1 September 2023 (10.0.2309.0)

Note: There are no table changes in the current fix pack.
Defect ID Case number Description
593670 TS013192661 The inventory adjustment for changing the availability from INFINITE to TRACK with zero quantity is not working when hot SKU feature is enabled and LockItemOnInventoryChanges is set to N.

This issue is resolved.

593693 TS012776873 The database queries are taking time to run which is creating performance issues.

The issue is resolved.

593722 TS013200887 The Sterling Order Management System Software application is enhanced to consider special service resource pool calendar in ship date calculation. To use this feature, set the ENABLE_SPL_SERVICE_NODE_WORK_HOURS value to Y.

For more information, see Special services.

593743 TS013805437 The OMPProcessRoutingExternallyUE input is enhanced to provide OrderReference and OrderLineReference attributes for information purposes.
593744 TS013558265 The net zero event is not raised on exchange order when funds from return order are more than required funds on exchange order.

This issue is resolved with appropriate code changes.

593748 Internal The Sterling Order Management System Software is upgrading struts from version 2.5.30 to version 2.5.31 for security scan issues.
593751 TS012730454 The user ID and Password login method in start.jsp are deprecated.

4 August 2023 (10.0.2306.2)

Note: There are no table changes in the current fix pack.
Defect ID Case number Description
592922 TS007746755 The NullPointerException is thrown during order purge.

This issue is resolved and the proactive null check is performed to avoid NullPointerException.

593630 TS012251744 The capacity is consumed from sales order ship node when order moves from Procurement Transfer Order Created to released status even when Consider shipnode capacity for procurements is set to false.

This issue is resolved.

593680 TS013052948 In Applications Manager, a java.lang.NullPointerException occurs when opening a screen or when saving an object because request payload exceeds to the Sterling Order Management System Software server.

This issue is resolved.

593683 TS012249175 The ChangeInLineTotal attribute value is shown incorrectly.

This issue is resolved with the correct rounding logic to show the correct value for the ChangeInLineTotal attribute.

593693 TS012776873 The DB query is taking lot of time to run and it is creating performance issue.

This issue is resolved.

593694 TS012565234 The refunds and settlements are not published due to the rounding issue link.

This issue is resolved and the rounding issue to establish the link between refund and settlements is fixed.

593710 TS013326697 The getDemandDetailsList API does not return Segment and SegmentType attribute values in the output.

This issue is resolved and the updated YFS_INVTDMDDTL_VW2 view is introduced, which contains Segment and SegmentType attributes.

593731 TS013728728 The supply adjustments in scheduleOrder are observed in Sterling Intelligent Promising Inventory Visibility even if schedule is failing from the scheduleOrderAgent program.

This issue is resolved and the supply updates are rolled back when an error occurs such that no updates are observed in Sterling Intelligent Promising Inventory Visibility.

241 TS013756373 The recordShortageForPack API is enhanced to cancel order line quantity also along with marking shipment line as inventory shorted when CancelRemovedQuantity is passed as Y in the input.

7 July 2023 (10.0.2306.1)

Note:
  • There are no table changes in the current fix pack.
  • Starting with this minor update, IBM Fix Central and IBM Documentation display only the Continuous Delivery version number that was introduced in the 10.0.2206.0 (Q2 2022) release. The legacy fix pack numbers are no longer used to refer to the fix packs. For more information, see Adopting Continuous Delivery support policy.
Defect ID Case number Description
593422 Internal The Sterling Order Management System Software application is enhanced to push database updates for capacity consumption on the commit event of a transaction. This reduces the lock contention in the YFS_RES_POOL_CAPCTY_CONSMPTN table.
To enable this enhancement, set the following properties to true:
  • yfs.capacity.useMassAdjustCapacityDriver
  • yfs.persitCapacityAdjustments
Note:
  • If the manageCapacityReservation API is called during a transaction and PersistCapacityAdjustments is passed as N, MassAdjustCapacityDriver is not used for the transaction.
  • If capacity is set to 0, the capacity consumption record is deleted from the YFS_RES_POOL_CAPCTY_CONSMPTN table. To delete the 0 capacity records, run the capacity purge.
  • The default value for ADDITIONAL_CAPACITY1 and ADDITIONAL_CAPACITY2 columns is set to 0.
593610 TS011320542 The application discards the supply information that is returned by INVGetExternalSupplyUE for the items with no InventorytItem record.

This issue is resolved.

593622 TS012534033 In real-time availability change event that is created by Real-Time Availability Monitor (RTAM), EffectiveUntilDate value is incorrect for the ship node with the expired node notification.

This issue is resolved.

593637 Internal Continuous Delivery license is mandatory for installing fix packs and the mandatory license acceptance check is implemented for the traditional on-premises customers. The fix pack updates are prevented if the Continuous Delivery license is missing from your environment. For more information, see Adopting Continuous Delivery support policy.
593638 TS012711557
In the Sterling Order Management System Software-Sterling Intelligent Promising Inventory Visibility integrated environment, multiple Sterling Intelligent Promising Inventory Visibility reservation API calls are observed for the ReserveAvailableInventory API call when the following steps are performed:
  1. Create the item, ITEM_1 and ship node, NODE_1.
  2. Item ITEM_1 has inventory at NODE_1 with Segment CUSTOMER and SegmentType CUSTOM.
  3. Item ITEM_1 has an unsegmented inventory at NODE_1.
  4. Call the reserveAvailableInventory API with multiple lines to reserve Segmented and Unsegmented inventory.

Solution: The issue is resolved by setting the yfs.UseAggregatedReservationsForIV property to true. This optimizes to single Sterling Intelligent Promising Inventory Visibility reservation API call when segmented and unsegmented inventory is placed on same reservation call.

593651 TS012957859 Order Hub Workspace SQL queries have SQL exceptions while using Db2® versions that are older than version 11.5.5.0.

Solution: Order Hub Workspace feature works on Db2 versions that are older than version 11.5.5.0.

593652 TS013173884 In the Sterling Order Management System Software-Sterling Intelligent Promising Inventory Visibility integrated environment, null pointer exception is observed if the order is created with reservation that does not exist in Sterling Intelligent Promising Inventory Visibility.

This issue is resolved.

593673 TS013267614 The error messages are not displayed in the language based on the user's locale.

This issue is resolved.

593690 TS013273297 The installation process of customization package is blocked in the next-generation environments.

This issue is resolved.

593691 TS012912271 The getIntegrationErrorList API output Javadoc incorrectly lists the Message attribute.

This issue is resolved. The Message attribute is not part of the getIntegrationErrorList API output Javadoc.

593692 TS013452031 In the AppendOnly mode, Configuration Deployment Tool (CDT) is incorrectly logging Deleting from <table> (N records) when the source database does not contain the records that are present in the target database.

This issue is resolved.

2 June 2023 (10.0.2306.0 (legacy 10.0.0.41))

Defect ID Case number Description
593601 Internal The application is enhanced to improve the performance while reading reservations from Sterling Intelligent Promising Inventory Visibility in Sterling Order Management System Software-SIV integrated environment.
593617 TS012238854 The tabs are not getting displayed in the application for the users wherein the locale's language is set as a bidirectional language which is read from right to left.

Solution: This issue is resolved and the home screen is fixed to display tab container for locales which displays content from right to left.

593619 TS011941164 The modifyFulfillmentOptions API is enhanced in Order Hub to include the ErrorDescription of the errors in the changeOrder API.
593624 TS012683310 The incorrect estimated time of arrival date of 1899-12-31 23:36:40.0 is observed to adjust the inventory made with estimated time of arrival date of 1900-01-01 00:00:00. The issue is resolved.
593629 TS012949194 Multiple Agent getJobs are queued into Java™ Message Service in Active MQ.

Solution: The issue is resolved and receive on wait configuration is configurable. You need to set the new override property of yfs.jms.messagebrowser.receivewait to 60 or number of wait in safestart or customer_overrides. This property enables the behavior to wait on receive and waiting time.

593637 Internal An enhancement of mandatory license acceptance check has been implemented for the traditional on-premises customers to prevent the fix pack updates if the license is missing from the customer's environment.
593647 Internal

When you download the license update download package from the Passport Advantage® and extract the Sterling-SSFF-2022-License-U.zip, the Sterling_SSFF_License_Installation.txt contains a broken link.

For more information, see Adopting Continuous Delivery support policy.

5 May 2023 (10.0.2303.2 (legacy 10.0.0.40))

Defect ID Case number Description
593207 TS005629402 For resource pool with UOM RELEASE, the capacity consumption is updated incorrectly when the cancelReservation API for same reservation is called in parallel threads. The issue is resolved.
593542 TS012348476 In Sterling Intelligent Promising Inventory Visibility integrated environment, the ExpirationDate is not returned in ReserveAvailableInventory API output when ReservationParameters are passed at API header level. The issue is resolved.
  • 593546
  • 593547
  • 593548
  • 593549
TS010637001 The infinite loop detected exception results in the following issues:
  • The user cannot view the order in Order Hub or Application Console UI and the getOrderDetails API fails if the template has charge transaction attributes.

    Solution: The application is enhanced such that the getOrderDetails API does not throw any error and displays correct output even when an infinite loop is detected in Order Hub or Application Console UI.

    Note: The getOrderDetails API enhancement is enabled by setting yfs.payment.infiniteLoop.allowViewingOfOrder to Y.
  • The user cannot cancel the order.

    Solution: The application is enhanced such that the user can cancel the order by using the cancelOrder API or changeOrder API.

  • The user cannot hold the order by using changeOrder API.

    Solution: The application is enhanced such that the user can hold the order by using the changeOrder API.

  • There is no automatic mechanism to hold the order.

    Solution: The application logic is enhanced such that the user can automatically hold the order.

    Note: The automatic hold enhancement is enabled by setting the yfs.payment.infiniteLoop.paymentHoldType property to Hold Type Name.
593559 TS012441832 When entering script symbols in console user interface screens, an unintended pop-up is generated when the error dialog opens.

Solution: The error dialog user-interface is updated to discard any script symbols while displaying an error output.

593562 TS012377062 In ZIP code and regiondetail SQL files, the latitude and longitude and related details are added for ZIP codes 85281 and 85288.
593565 TS011549856 The user tracing is not working due to a regression in previous update. The issue is resolved and the user specific traces are generated.
593590 TS012253537 The LastOrderHeaderKey is populated with last history record of the getOrderList output when ReadFromHistory is set to B.
593591 Internal When the LOAD_FACTORY_SETUP flag is disabled in runtime by user, it is automatically enabled during FP installation in fpmode erroneously, leading to FP factory setup installation at the end of FP installation. The issue is resolved and the flag is not automatically enabled during FP installation.

For more information, see Applying fix pack factory setup manually.

593593 TS011831808 Introduced the following new properties for payment audit features:
  • yfs.payment.reason.enablePaymentAudit
  • yfs.payment.reason.persistOrderDataDuringCreateOrder
  • yfs.payment.reason.clubChargesForSameReasonWithDifferetPaymentTypes
For more information, see Order management yfs.properties file.

7 April 2023 (10.0.2303.1 (legacy 10.0.0.39))

Defect ID Case number Description
593363 TS010386904 The pre-reserved capacity from reservation is not considered correctly when node locale is ahead of Sterling Order Management System Software installation locale. This issue is resolved.
593411 TS011831808

For refund or settlement of pre-paid orders, the reason order event is not associated to the payment transaction created. This issue is resolved.

For more information, see Publishing refund and settlement details.

593452 TS011514520 IBM Sterling Business Center is throwing an error indicating price type is required or list price is missing when price is updated and saved in the associate price type model of $0.

Solution: This issue is resolved by updating validation checks for missing parameters in the associate price type model.

  • Files modified

    • repository/eardata/sbc/war/sbc/pricing/pricelist/manage/associatepricetypes/associatepricetypetopricelist.js
593481 TS011639119

The hangoff data for order line is not saved as a part of OrderRepricingUE.

Solution: The application is enhanced such that when the hangoff data is passed in the output of OrderRepricingUE at the OrderLine level, it is consumed and persisted.

593485 TS010197153 When managing standard capacity as a user from other locale in IBM Sterling Business Center, an undefined slot is added in the weekly capacity.

Solution: This issue is resolved by updating the scuiplat.js file for other locale to use the HH:MM:SS time format.

593493 TS011701608 ExpectedShipmentDate on order schedule is incorrect when following steps are performed:
  • Make sure that sourcing rules are configured such that the qualifying node NODE1 has transit time greater than 0 days for ShipToAddress.
  • Create an order with ITEM1 and ReqDeliveryDate as current day + 5 days.
  • Implement the YFSGetDeliveryLeadTimeUE such that 0 days transit time is returned when ShipFrom address is unknown.
  • Make sure YFSGetDeliveryLeadTimeUE returns transit time greater than 0 for NODE1 and ShipToAddress.
  • Schedule the order.

This issue is resolved.

593494 TS011966940 IBM Sterling Business Center throws 500 error when items with special characters are searched in the short description such as 25$ gift card.

Solution: The regex validations are removed for short descriptions in item’s primary information so that you can search and edit short descriptions such as 25$ gift card.

    • Files modified

      • repository/eardata/sbc/war/WEB-INF/validationrules/sbc_validationrules.xml
      • repository/eardata/sbc/war/sbc/itemadmin/item/manage/basic/itemdetails_config.js
593495 TS011903400 The planned transfer order gets backordered during release when the shipping node has minimum notification time. This issue is resolved.
593521 TS011682862 The requested charge amount is updated correctly during charge consolidation but the open authorization amount does not update to the latest correct amount.

Solution: The application code is changed to update the correct authorization amount after the charge consolidation.

593527 TS012024552 After enabling Sterling Order Management System Software-Sterling Inventory Visibility integration in Phase 1 and not implementing OMPGetInventoryFromCacheUE, the items are displayed out of the stock in call center while RTAM is running. This issue is resolved.
593537 Internal Service slot group creation and capacity setup are not working in IBM Sterling Business Center when attempted from locales other than English.

Solution: This issue is resolved by changing the service slot configuration UI date/time fields to use the correct date-time format when creating the capacity and service slot.

    • Files modified

      • repository/eardata/sbc/war/sbc/inventory/serviceslot/shiftInfo_config.js
593557 TS011998208 Incorrect estimated ship date is observed when following steps are performed:
  • Assume that current date is 2023-01-01.
  • Create a transfer schedule between stores NODE_P to NODE_S with cut off time as 14:00 all days.
  • Create transfer order with shipping node as NODE_P and receiving node as NODE_S. The transfer order line has carrierServiceCode as CAR_1 with pick up available from NODE_P at 16:00 everyday.
  • Schedule transfer order at 2023-01-01 T15:00:00.
Upon scheduleOrder, ETS is pushed to next day 2022-01-02 T16:00:00 and the current date is not considered due to transfer schedule cut-off time of 14:00, which restricts scheduling the current date. This issue is resolved.

3 March 2023 (10.0.2303.0 (legacy 10.0.0.38))

Defect ID Case number Description
592817 Internal The SQL query that fetch records from YFS_ITEM and YPM_PRICELIST_LINE in all the pricing module invocations, is optimized for better performance on creating orders with pricing enabled and subsequent other invocation of pricing engine to support for very large orders.
593118 Internal The SQL queries that fetch records from YPM_PRICING_RULE, YPM_PRICING_RULE_TARGET_ITEM, YPM_PRICING_RULE_ITEM in the createOrder or changeOrder transactions and other further invocations of the pricing module, are optimized to improve performance for very large orders.
593324 Internal The SQL queries that fetch records from YFS_INVENTORY_ITEM in the CONSOLIDATE_TO_SHIPMENT transactions are optimized to improve performance for large orders.
593343 TS010366659

A Select database query with an OR condition takes long to execute in the Oracle database. The database administrator cannot tune the Oracle database server to run the query fast.

Solution: Split the before and after part of the OR condition into two queries and run the queries separately.

593370 TS011073805 The getCompleteItemList API shows an item to be unavailable, when the following sequence of steps are performed.
  1. Create an enterprise named ENT_ORG with Enterprise and Seller roles.
  2. Create an inventory organization named INVENTORY_ORG with parent ENT_ORG.
  3. Create a distribution group named DG_ALL at ENT_ORG.
  4. Set up RTAM rules at INVENTORY_ORG with DG_ALL to be monitored.
  5. Run RTAM such that alerts are created.
  6. Call getCompleteItemList API with calling organization ENT_ORG.

This issue is resolved.

593376 TS010865094 The application is enhanced to drop invalid OAuth token from the token cache and return InvalidAuthenticationException if a 401_Unauthorized exception occurs.
593403 TS011157557 Rounding logic is now implemented for sub-total column variables during invoicing in IBM Sterling Call Center.
593424 Internal A new utility service is created to integrate with Sterling Intelligent Promising Inventory Visibility outside of Sterling Order Management System Software - Sterling Intelligent Promising Inventory Visibility adapter.

For more information, see Calling Sterling Inventory Visibility API in integrated environment.

593427 TS010125072 The syncLoadedInventory API adds Node Control for all the nodes, when ApplyDifferences="N" and RemoveInventoryNodeControl="Y".

Solution: The syncLoadedInventory API is enhanced to not insert Node Control. Set RemoveInventoryNodeControl attribute to "A". If Node Control exists, it is removed.

593433 TS009487860 The monitorItemAvailability API is enhanced to override configured or non-configured distribution group and node level monitoring rule on Item or Classification.

For more information about newly added attributes, InventoryMonitorRule and NodeLevelInventoryMonitorRule, see Javadoc.

593473 TS011498205 Promising APIs such as findInventory, scheduleOrder, and more, are enhanced to consider node working hours for Special Service Capacity. Set rule ENABLE_SPL_SERVICE_NODE_WORK_HOURS to Y, to use this feature.

For more information, see Special services.

593479 TS012014990 When inventory for an item does not exist, a NullPointerException occurs in adjustInventory for AdjustmentType= "ABSOLUTE". This issue is resolved.
593485 TS010197153 In Sterling Business Center (SBC), when managing standard capacity for Korea or Taiwan users, an undefined slot is being added in the weekly capacity. This issue is resolved.
593498 Internal Improved the performance in Sterling Order Management System Software for property fetch of such properties by maintaining the cache of unexposed properties. These are not db supported, resulting in reduced redundant db calls to fetch their property value.

10.0.2209.2 (legacy 10.0.0.37)

Defect ID PMR # Description
593014 Internal

Sterling Order Management System Software integration with Sterling Intelligent Promising Inventory Visibility (inventory management system (phase 2)) now uses Availability by date breakup and Reservations by date breakup features that are available in Sterling Intelligent Promising Inventory Visibility. Thus, improving inventory allocation for future inventory and time sensitive items.

For more information, see Order fulfillment by using Availability by date breakup.

593179 TS009376924 The application is enhanced to raise only one capacity freed and filled event for each capacity consumption key. To use the feature, set yfs.yfs.persitCapacityAdjustments property to true.
593233 TS010135109 The performance of getOrderPrice API is improved by optimizing the queries when items with multiple unit of measure are present.
593234 Internal Following are the Hot SKU granular locking enhancements:
  • Hot SKU Optimistic Lock Avoidance (OLA) with granular locking feature is enhanced to avoid locking when checking availability for an item with availability Zero(0) at a node. To enable the feature, set yfs.hotsku.useGranularLockingForItem.mode to 01 when granular locking is enabled. Default value for this mode is 00, which means availability is locked for low or zero values.
  • Inventory Purge agent is enhanced to purge records from INV_INVENTORY_ITEM_LOCK table. Set property yfs.hotsku.granularLocking.purgeWindow to control purge retention days for INV_INVENTORY_ITEM_LOCK table. Default retention days are 30 days.
  • For more information, see Hot SKU control parameters.
593241 TS009376924 The ReserveAvailableInventory API is enhanced to skip node capacity updates. The API continues to check capacity availability based on the CheckCapacity flag. To enable the feature, set IgnoreCapacityUpdate to Y at <Promise> element. For more information, see API javadoc.
593312 TS010333935, TS010699359 In UOM Release, when drop ship order is partially canceled, incorrect capacity consumption is observed for a node with capacity. This issue is resolved.
593331 TS010696034 The application throws Java.lang.NoClassDefFoundError: org/quartz/CronExpression error, when Enable Advance Scheduling is clicked. This issue is resolved.
593337 TS010737069 The Link payment refund to settlement transactions option now works correctly, if it is enabled for a specific organization, regardless of the other organizations have the option enabled or disabled.
593338 Internal When running the Order Archive agent with multiple threads, a NullPointerException occurs intermittently. This issue is resolved.
593345 Internal The newly created items with infinite inventory are shown as Unavailable in Sterling Call Center.

Solution: The getItemListForOrdering API is enhanced to return an item that has infinite inventory as Available. Hence, the newly created items are shown as Available in Sterling Call Center.

593346 Internal The IBM Global Inventory Visibility (GIV) now considers unassigned demands at all the distribution groups that are configured in the common code. Therefore, unassigned demands are balanced from all the distribution groups with same priority.
593348 Internal The application is enhanced to allow a single pricing rule or coupon, based on the payment type, to handle scenarios where an order is associated with multiple payment types. To use the feature, set YPM_IS_MULTIPLE_PAYMENT_TYPE_PRICING_RULE_ENABLED system rule for the organization.
593360 Internal Excessive warning (WARN) messages are displayed in the log.

Solution: This issue is resolved to change the log level to DEBUG.

593371 TS010801620 When calling adjustInventory API for shipments where inventory cost is enabled and order header record is locked by another transaction, YFC0101 exception occurs. This issue is resolved.
593374 Internal The YFS_CHARGE_CATEGORY table is now extensible so that you can add new columns and update values in the database.
593379 TS010653710 A new yfs.yfs.allowNegativeUpdatesForDemandDetails property is added to update demand details of a negative quantity. Therefore, getting rid of unnecessary demand details records associated to orders that are created with reservations on them.
593380 TS010233218 The application is enhanced to prevent a fixed-price pricing rule or coupon from increasing the price of an item, if the existing price is already less than the fixed price. Additionally, the discount is distributed based on the fixed price of order line instead of order line weightage. It is applicable for unit price and price types.

To use the feature, set YPM_PREVENT_FIXED_PRICING_RULE_PRICE_RISE system rule for the organization. For more information, see Fixed price promotions.

593386 TS011091720 You can now bypass and disable the Oracle TCPS validation and proceed with fix pack installation, by setting DISABLE_ORACLE_TCPS_VALIDATION property to Y in sandbox.cf before installation.
593388 TS010848216 A performance issue is observed when large number of nodes with zero supplies are returned from YFSGetAvailabilityCorrectionsForItemListUE user exit. This issue is resolved.
593393 Internal A new template in procurement sourcing rules is introduced to support nodes filtering in a distribution group that is based on distance. For more information, see sourcing templates in API javadoc for manageSourcingRule.
593394 TS011111940 In an IV integrated environment, getAvailableInventory API now shows correct output for non segmented inventory, when same item is called with segment and non segmented information in a single API call.
593407 Internal When RTAM is configured to consider unassigned demand in a distribution group with priority, there is an excess demand for orders that are created with reservations.
593450 TS011383058 The Allow reservation During Scheduling flag in scheduling rules does not reserve an order correctly, when partial quantity is available for fulfillment. This issue is resolved.
593454 Internal History Mass Sync agent looks at records from YFS_ORDER_HEADER_H and OSI_AWAITING_ARCHIVE tables as part of getJob to prepare the executeJob messages. It is recommended to closely monitor the performance of database queries that are executed from the History Mass Sync agent and add additional indices to get optimum throughput. Based on the testing that IBM carried with specific data setup (15 million orders in YFS_ORDER_HEADER_H table), following additional indices, helped improve the query performance.
  • An index on column ENTITY_KEY of OSI_AWAITING_ARCHIVE table
  • An index on columns ORDER_DATE and DRAFT_ORDER_FLAG of YFS_ORDER_HEADER_H table

10.0.2209.1 (legacy 10.0.0.36)

Defect ID PMR # Description
592583 TS007521544 Irrespective of whether the multi-stop functionality is enabled or disabled, store the information in the memory. This ensures that during a transaction, the application need not again read the corresponding property or configuration rule.
592618 TS006843467 In a return order, the tax amount is removed from the total sales order discount amount. Therefore, a partial discount is applied on a return order.

Solution: The total discount amount is retained on the return order similar to sales order, irrespective of the tax amount. This is a property-driven fix. In the customer_overrides.properties file, set yfs.yfs.overrideDiscountValidationForInvoice=Y.

592696 TS007478554 The return order fulfillment summary screen is enhanced such that if fulfillmentType is empty, a default value, RETURN_FULFILLMENT is passed in the createInputforFindInventory method.

If fulfillmentType is not empty, Orderline fulfillmentType is set. Previously, fulfillmentType was set to empty.

593007 TS009100066 When you pass both ship node and reservation ID at the order line, the order line reservation level results in null pointer exception.

This issue is resolved.

593175 TS009764593 When you call the ReserveAvailabilityInventory API, a null pointer exception is thrown.

This issue is resolved.

593184 TS009885213 The processManageOrder API has a logic to invoke Hold validations. However, the internalApp attribute is set for another logic, which prevents from invoking the Hold logic.

Solution: This issue is resolved such that when capturePayment API is called, Hold is also called specifically.

593244 Internal The minified files of the application-provided Angular source code are now part of the image, instead of build EAR. However, there is no change while minifying extensions as part of build EAR. Also, in the developer toolkit, the AP_SKIP_ANGULAR_MINIFICATION flag of the om-compose.properties file is deprecated.
593246 TS010088872 To retrieve an alternate store availability, in the getFulfillmentOptionsForLines template, the RequiredQty attribute is updated at the promise line level.
593253 TS009679025 The description for deprecated fields is updated in Entity Relationship Diagrams (ERD) and Javadoc.
593254 TS010303251 When you update the YFS_INVENTORY_DEMAND table, the "ORA-01438" error message is displayed. This issue is resolved.
593262 TS010303251 When you update the YFS_INVENTORY_DEMAND table, the ORA-01438 error message is displayed.

This issue is resolved.

593272 TS009441931 The Synchronize Task Queue agent that creates Task Q messages does not close the database statement object properly.

This issue is resolved.

593276 TS010486907 If there are multiple line items in the order, then during invoicing of these line items, the 6-digit rounding logic that is used in the implementation, resulted in an incorrect invoice amount.

This issue is resolved.

593282 Internal Some literals are not present in the Sterling Business Center bundle file. Therefore, they do not appear in the UI.

This issue is resolved.

593284 TS009071840 Regression with overriding of custom bundles is fixed.
593287 TS010036440 When the yfs.yfs.doNotCopyLineItemToCustomerItem flag is set to Y in customer overrides, during order creation, the CUSTOMER_ITEM and CUSTOMER_ITEM_DESCRIPTION fields in the YFS_ORDER_LINE table remains blank, if no buyer item is present for the input item.

This issue is resolved.

593292 Internal The History Mass Sync agent restores the person info records from the YFS_PERSON_INFO_H history table to the YFS_PERSON_INFO transaction table.

This issue is resolved.

593295 Internal The application throws a null pointer exception, when the Required Ship Date value is higher than the minimum Demand End Date.

This issue is resolved.

593299 Internal When History Mass Sync agent was triggered to save order data to Order Service from order history table that contains millions of orders, the time to create jobs was significantly slow. The agent fetched only a smaller set of data in one attempt from millions of records in an ordered fashion, which lead to numerous highly expensive database queries.

This issue is now resolved by introducing a criteria parameter that is defaulted with higher data fetch size so that more data can be pulled from database in one attempt. This leads to less number of database queries and results in creating the required messages faster. For more information about the newly introduced Number of Records To Buffer parameter, see History Mass Sync agent.

593303 Internal The Consolidate to Shipment agent fetches more than necessary data, resulting in performance slow-down, when consolidating an order release with large number of release lines.

Solution: The internal execution logic of Consolidate to Shipment is optimized to fetch only the required data.

10.0.2209.0 (legacy 10.0.0.35)

Defect ID PMR # Description
589538 TS003763318 Real-time Activity Based Monitor (RTAM) is enhanced to calculate availability by considering the node capacity based on the locale timezone of the node, when yfs.rtam.useNodeLocaleTimeForCapacityCheck property is enabled.
592532 Internal When Hot SKU optimistic lock avoidance is enabled, in the INV_Inventory_item_lock table, records for tag-controlled items are locked and leads to excessive locking. This issue is now resolved.
592595 TS007707488 You can now disable capacity availability checks and capacity consumption updates as per your business needs. To use this feature, set the rule DISABLE_NODE_CAPACITY_FOR_ENT to Y for the enterprise by using the manageRule API as shown in the following sample input. By default the rule is set to N.
<Rules OrganizationCode="DEFAULT" RuleSetFieldDescription="Disable Node Capacity for Enterprise" RuleSetFieldName="DISABLE_NODE_CAPACITY_FOR_ENT" RuleSetValue="Y"/>
592954 Internal Following enhancements are made to Configuration Deployment Tool (CDT):
  • In ydkprefs.xml, if the dbType is xml, then it is not required to specify non-xml database attributes such as className, user, or jdbcUrl, which were previously required to set as empty. If dbType is not xml, specifying the folder attribute is not required.
  • It is no longer required to create a folder before running an xml export. If the folder is not present, CDT automatically creates it.
  • Use the new SkipEmptyTableExport CDT argument to skip generating files for empty tables in source database when running export. For more information, see SkipEmptyTableExport argument.
  • The 1 million node document warning is now displayed on every 100 K record instead of each record, once the document crosses 1 million records.
593103 TS008540397 The FixedPrice promotions are now supported for promotions that are applied to a custom price type. If the adjustment type is Fixed Price and Specify price types is enabled, then only one price type is supported. For more information about fixed price promotions, see fixed price promotions.
593104 Internal Order audit enhancements
  • Order Audit Delete Purge agent

    The new Order Audit Delete Purge agent extends the capability of Order Purge agent by deleting the order audit records from Sterling Order Management System Software before the Order Purge agent purges the order. For more information about Order Audit Delete Purge agent, see Order audit delete purge agent.

  • Order Purge agent

    Enhanced the behavior of Order Purge agent to support configuration to delete the order audit data rather than moving it to history table, and publish the order audit data through a user exit. For more information about configuring delete of order audit, see Guidelines for adding support for data compression for columns.

For Order Audit Delete Purge and Order Purge agents, the Sterling Order Management System Software provides YFSBeforeOrderAuditPurgeUE user exit that publishes the order audit records being deleted from the application on purge of an order. Implement the user exit, if you want to store order audit records outside of Sterling Order Management System Software for future reference. For more information, see Javadoc.

593113 Internal Data compression enhancements
  • Enabling data compression for columns

    Sterling Order Management System Software is enhanced to provide a configuration to compress data of compression supported columns. By using the configuration, you can compress the column data anytime without having to customize, rebuild, and redeploy Sterling Order Management System Software. For more information about updated compression guidelines, see Guidelines for adding support for data compression for columns.

    For more information about configuring compression properties, see compression properties.

  • History data compression support

    A new db.force.compression.history.records property is introduced to enable data compression on all the compression supported columns when data is being written to history tables. The property ensures that the data that is written in history tables is compressed even if compression is not enabled for the compression supported columns in transaction table. For more information about configuring the property, see history compression property.

  • YFS_IMPORT and YFS_EXPORT tables compression support

    Sterling Order Management System Software is enhanced to support compression for MESSAGE column of YFS_IMPORT and YFS_EXPORT tables.

593170 TS009893208 Struts is upgraded from 2.5.26 to 2.5.30. The struts-tag.tld file is deleted from IBM Sterling Call Center and IBM Sterling Store Engagement (Legacy and Next-generation).
593191 TS009765363 The getOrderPrice API returns incorrect rejection reason and status code when you specify QualifyingAmount for the combination pricing rule and if the pricing rule is rejected due to the minimum qualifying amount threshold. This issue is now resolved.
593194 TS009746206 When Sterling Store Inventory Management microservice is not enabled, a NullPointerException is thrown. Also, a return order is in the received status when moving the return order to unreceive order status. This issue is now resolved.
593205 Internal The following enhancements are made to the YFS_EXPORT purge process:
  • A new IgnoreStatus criteria parameter is added to ignore the status value and purge all records. For more information about IgnoreStatus, see Export table purge.
  • A new getExportDataList API is added to retrieve data from the YFS_EXPORT table. For more information, see Javadoc.
593225 Internal The application is fixed to handle premature exit of Sterling Order Management System Software installer for Windows, which occurred before finishing all the post installation tasks.
593245 Internal The minified files of the application-provided source code is now part of the product jar, instead of getting generated when building the EAR. However, there is no change in the process of minifying extensions as part of the build EAR. A new argument, optimisedojobuild is added as part of build script.
  • If you set the value of optimisedojobuild to true, only the extension is minified.
  • If you do not pass any argument, or set the value to false, there is no change in the behavior of the minification process.
For example:
  • To minify only the extension, run the following command:
    ./buildear.sh -Dappserver=websphere -Dwarfiles=isccs -Doptimisedojobuild=true -Dearfile=isccs.ear create-ear -Dnowebservice=true -Ddevmode=true -Dnodocear=true -Dsupportmultiwar=true -Dwebsphere-profile=liberty -Ddir.external=/opt/ssfs/runtime/earbackup
  • To minify the applicatiob-provided code and extensions, run the following command:
    ./buildear.sh -Dappserver=websphere -Dwarfiles=isccs -Dearfile=isccs.ear create-ear -Dnowebservice=true -Ddevmode=true -Dnodocear=true -Dsupportmultiwar=true -Dwebsphere-profile=liberty -Ddir.external=/opt/ssfs/runtime/earbackup

10.0.2206.2 (legacy 10.0.0.34)

Defect ID PMR # Description
593035 TS008997423 When getAvailableInventory API is called with the same item that is passed in two lines with different delivery methods, the item quantity is doubled. This issue is now resolved.
593041 TS009342577 When a multi-stop transfer is used for fulfillment between stops and a transfer order is scheduled, the ExpectedShipDate and ExpectedDeliveryDate are pushed incorrectly on the Schedule. This issue is now resolved.
593099 TS009319326 A negative supply record is shown on ConfirmShipment for a node where GetExternalSupply real time is enabled. This issue is now resolved.
593114 TS009732071 The syncLoadedInventory API throws an IllegalArgumentException, when InsertInventoryItem is passed as Y. This issue is now resolved.
593135 TS009663043 Skill Case: TS009663263 When an invalid coupon is passed to getOrderPrice API input, the pricing rule is shown as null and a NullPointerException is thrown, which results in populating output attribute values for the attribute RejectedPricingRules.

Solution: The application is enhanced such that when pricing rule is null, it stops populating the output attribute values for the attribute RejectedPricingRules.

593142 TS009698339 The getStorebatchDetails API is not considering Extn in its output template. Hence, an extended column attribute for any batch is not fetched. This issue is now resolved.
593155 TS008507827 When taxes are directly applied during invoice creation, tax percentage and reference attributes are not copied from invoice to order. This issue is now resolved.
593159 TS009528644 The importShipment API is fixed to read ShipmentTagSerial element that is present inside ContainerDetail element, and populate shipment tag serial record with corresponding container detail key.
593166 TS009774439 The getCompleteOrderDetails API is fixed to support SelectMethod attribute for the related orders such as return order, exchange orders, and more.

10.0.2206.1 (legacy 10.0.0.33)

Defect ID PMR # Description
592303 Internal The application is enhanced to support caching for the following tables.
  • YFS_RES_POOL_STD_CAPCTY_PERD
  • YFS_RES_POOL_DOW_CAPCTY
  • YFS_RES_POOL_CAPCTY_OVERRIDE

    To enable caching for the listed tables, complete the following steps.

    1. Set following properties in customer overrides.
      • dbclassCache.YFS_RES_POOL_STD_CAPCTY_PERD.class=com.yantra.shared.dbclasses.YFS_Res_Pool_Std_Capacity_PeriodDBCacheHome
      • dbclassCache.YFS_RES_POOL_DOW_CAPCTY.class=com.yantra.shared.dbclasses.YFS_Res_Pool_Dow_CapctyDBCacheHome
      • dbclassCache.YFS_RES_POOL_CAPCTY_OVERRIDE.class=com.yantra.shared.dbclasses.YFS_Res_Pool_Capcty_OverrideDBCacheHome
    2. Build and deploy the EAR.
592670 Internal Performance enhancements are made in Order Hub data-tier purge agent for removal of metrics and updates data.
592862 TS008696838 In Sterling Business Center (SBC), you can now save numeric or alphanumeric Department Code.
592940 TS008994589 When you add items to an order, the rounded pricing configurations are saved with incorrect rule set field name and the conventional rounding did not work correctly.
Solution: The application is enhanced to save pricing rounding configurations with correct rule set field name. The conventional rounding is fixed such that it picks the digits until eighth precision level before applying the rounding logic. For the solution to take effect, you must set yfs.useNewRoundOffPriceForConventional property to Y.
Note: After this property is enabled, it impacts the inflight orders such that the same number may get rounded differently with two rounding methods, which may cause functional issues in the system. Hence, before enabling the property, it is highly recommended to have minimum inflight orders.
592942 TS008871213 In Sterling Business Center (SBC), the Qualifier Type drop-down list is now displayed when the Specify qualifying amount is selected.
592950 TS007875723 In Sterling Business Center (SBC), all promotions that are applied to the different price types are now displayed in the Test Pricing screen.
592971 TS009096423 Skill Case: TS009159613 You could not apply the ShipOrderTotal coupon if a Carrier was specified to the coupon.

Solution: The application is enhanced to add a Carrier Service Code selection box to choose the carrier service code. Additionally, a Shipping Charge textbox is added to add the shipping charge and carrier service option to calculate the ShipOrderTotal coupon successfully.

593006 TS009054623 When creating a drop ship order, the tag-controlled attribute BatchNo is copied to the chained order such that you can create a shipment successfully.
593012 TS007665018

The getApplicablePricingList API is fixed to handle custom pricing rule when YPMGetApplicablePricingRuleListUE is enabled.

593029 TS008743919 You can now complete customer pickup even if backroom pick results in inventory shortage.

10.0.2206.0 (legacy 10.0.0.32)

Defect ID PMR # Description
592532 Internal When the Hot SKU optimistic lock avoidance is enabled, lock records in the INV_Inventory_item_lock table are observed for tag-controlled items that leads to excessive locking.
592818 Internal The workload segregation feature is now available for task queue agents to segregate workload by creating jobs with different segregation patterns. You can configure segregation patterns in the agent criteria of the task queue agents to process matching jobs. The workflow segregation feature helps you process jobs with different workload and separate business flows in separate agent servers. You also have a flexibility to prioritize and run a particular type of workload with required resources to scale up the agent processing.

For more information about the workload segregation feature, see workorder segregation feature.

592843 TS007877177 REST APIs now forces elements to always behave as Array/Object as per business needs. For more information, see specifying output format for JSON.
592846 Internal The SQL queries to fetch records from YFS_ITEM, YFS_INVENTORY_ITEM, and YFS_INVENTORY_NODE_CONTROL in the scheduleOrder and releaseOrder transaction are optimized to improve performance of large orders.
592930 TS008611635 The ProcessReturnOrder API does not modify planned refund amount in CreateOrder flow from Store engagement. This issue is now resolved.
592931 Internal When an agent or an integration service is executed to create or schedule the orders, there is a gradual memory built up in the JVM of agent or integration server due to memory leak in the YFS_RegionImpl objects that are cached. If the agent or integration server processes the orders with different zip codes over a long period, it might result in OutOfMemory error. This issue is now resolved.
592939 TS008625231 When inventory is being procured, FindInventory API is not populating the <Supplies> element correctly in Xpath Assignment > Procurements > Procurement > Supplies. This issue is now resolved.
592947 Internal The order and release related API output, event data, and UE input is enhanced to provide the following attributes.

Order attributes: IsLargeOrder, IsVeryLargeOrder, OrderSegregationFilter

Release attributes: IsLargeRelease, IsVeryLargeRelease, ReleaseSegregationFilter

For more information about the order and release attributes, see Javadoc.

These indicators are also available as condition builder attributes so that you can easily add conditions in your order processing model. For more information about these attributes, see condition builder attributes.

592963 TS008825808 When calling validateCouponUE, the attribute value of RejectedPricingRules is changed to empty from null. When processing further, it is not considered in conditional checks because it is not null.

Solution: The conditional checks of RejectedPricingRules are updated such that it is considered for further processing even if it is empty, provided that there is a rejected pricing rule available.

592986 TS008825876 When calling LoadCustomPricingRulesUE, the attribute value of RejectedPricingRules is changed to empty from null. When processing further, it is not considered in conditional checks because it is not null.

Solution: The conditional checks of RejectedPricingRules are updated such that it is considered for further processing even if it is empty, provided that there is a rejected pricing rule available.

592987 TS009108215 When logging with log4j2, timer logic was being invoked regardless of the timer logs were enabled or not. This resulted in increased memory usage even though extra logs were not printed.

Solution: The log4j2 issue is fixed such that the timer logic is bypassed if timer logs are not enabled.

592990 TS008083666 On scheduleOrder API call, when multi-stop transfers are evaluated for nodes with no inventory and backorder against highest priority node is enabled, application performance degrades. This issue is now resolved.
593008 Internal When yfs.persitCapacityAdjustments property is set to false, Capacity Filled event is triggered multiple times.

10.0.0.31

Defect ID PMR # Description
592536 Internal In Javadoc, the getChargeTransactionRequestList API output shows information of ChargeTransactionDetails. This information is not shown in the application.

Solution: Updated the Javadoc for getChargeTransactionRequestList API. Also, removed the ChargeTransactionDetails tag.

592553 TS006786340 The application is enhanced to bypass token validation such that the Application Manager opens successfully when SSO is enabled.
592666 Internal Incorrect capacity consumption is observed when the user performs the following steps:
  1. Creates a node STORE_1 with two capacity resource pools, one each for PICK and SHP deliveryMethod. Standard capacity is defined.
  2. Adjusts inventory for ITEM_1 at STORE_1.
  3. Creates reservation RSV_1 for two promise lines from ITEM_1 at STORE_1 with different DeliveryMethod - PICK and SHIP. Here, one capacity is consumed for both resource pools against inventory reservation.
  4. Calls the createOrder API with two order lines - node STORE_1 and ItemID ITEM_1, along with the reservation information. The delivery methods on lines are SHP and PICK.

The inventory reservation is removed but capacity consumption is incorrectly consumed.

592675, 592676 Internal, Internal The getResourcePoolCapacity API is enhanced to read capacity availability from Capacity Cache.

For more information about the getResourcePoolCapacity API, see Javadoc.

592696 TS007478554 The RETURN_FULFILLMENT value that is hardcoded in the createInputforFindInventory method, by default returns RETURN_FULFILLMENT.

Solution: The fulfillmentType response is added to the getCompleteOrderDetails request template. Due to this, the fulfillmentType response is directly passed to the createInputforFindInventory method, which returns the updated value from the createInputforFindInventory method.

592811 TS008197305 The inventory quantity is now adjusted correctly on shipping orders for time sensitive items, when there are multiple supply records in YFS_INVENTORY_SUPPLY table for the same inventory item.
592812 Internal The manageCapacityReservation API is enhanced to support locking for capacity availability for Service resource pools (PS/DS). Locking happens depending on the parameters that are passed in yfs.properties. A new attribute LockCapacity is introduced. To avoid locking for capacity availability, LockCapacity="N" can be passed in manageCapacityReservation input.

For more information about the manageCapacityReservation API, see Javadoc.

592822 Internal The application is enhanced to delete the YFS_RES_POOL_CAPACITY_LOCK record when the corresponding YFS_RES_POOL_CAPCTY_CONSMPTN record is deleted.
592928 Internal A new property, ycd.ui.wsc.angularJs.cacheburst is added. By default, the value is set to N, which means cache burst is disabled. If you set value to Y, it bursts cache by considering timestamp in milliseconds.

It is recommended that you set a string value for this property. For example, ycd.ui.wsc.angularJs.cacheburst=v1.0.

592839 TS008336028 The application looped infinitely when an invoice amount was more than the booking amount.

Solution: The application is now enhanced such that the invoice processing does not run into an infinite loop.

592941 TS009045021 The programmatic configuration of log4j2 is fixed such that the log files now roll over.
592949 TS008995680 A null point exception is observed when opening Process Types under Process Modeling in the Application Manager.

Solution: The jboss-deployment-structure.xml is updated to add the missing package and the Application Manager now works as expected.

592953 Internal The application is enhanced to consider LastInventoryItemKey passed in the getInventoryItemList API.
592958 Internal An error is thrown when uploading Employee Discount in Master Data Upload in SBC. This was caused due to the behavior change in Apache commons fileuploader v1.4 library that was upgraded from earlier v1.3.3 in 22.1 as part of the Struts v2.5.26 upgrade. This issue is now resolved.

10.0.0.30

Defect ID PMR # Description
591941 Internal The manageCapacityReservation API does not update capacity. When an update in capacity is needed, resource pool consumption is locked. The lock is released only with transaction commit, due to which the other processes that require capacity updates for the same resource pool are delayed.

Solution: The manageCapacityReservation API is enhanced to update capacity during transaction commit similar to order and inventory reservation APIs. If yfs.yfs.persitCapacityAdjustments is set to true, you can pass PersistCapacityAdjustments="Y" in manageCapacityReservation API such that capacity is updated only when a transaction is committed. For more information about the manageCapacityReservation API, see Javadoc.

592447 Internal A work order gets purged without considering the sales order purge. Documentation is updated for work order purge.
592465 TS006947828 When Hot SKU is used with timeout locking, database deadlock error can lead to partial rollback of transaction in db2.

Solution: The Hot SKU feature is enhanced to handle deadlock error by rolling back the complete transaction.

592513 TS006850968 Any service that uses E-mail component can now configure the To field by providing the value directly or as an SMA property.
592528 TS007338407 Documentation is updated for Loftware print adapter.
592534 Internal The findInventory API runs into loop when an unplanned supply is removed from YFSGetAvailabilityCorrectionsForItemListUE user exit.
592594 Internal Okta integration using liberty application server is now available. Documentation is updated for Okta Integration.
592609 TS007495523 You can now access YCPTokenAuthenticationUE through App Manager. You can implement YCPTokenAuthenticationUE to provide custom logic for managing user authentication tokens.
592640 TS007513824 The APITester Pages (ibmapitester and yantrahttpapitester) are now UTF-8 encoded to avoid any garbling of values.
592654 TS006701919 The importAvailabilityCache API is not updating already existing alert, when only alert level and alert quantity is changed.
592681 TS007746721 A Sales Order product line that is scheduled against a Transfer Order and is associated with a work order, when processed by releaseOrder API, does not change its status, even though no inventory is available to release the line.

Solution: A new property yfs.workorder.backorderAfterApptEndDate is added. When it is set to Y, the releaseOrder API moves the product line to backordered status if work order appointment is expired. The default value of yfs.workorder.backorderAfterApptEndDate is N.

Documentation is updated for yfs.properties file.

592762 TS007578764 For order lines with segment information, the YFSGetExternalInventoryForItemListUE user exit is not called.

Solution: The application is enhanced to invoke YFSGetExternalInventoryForItemListUE user exit when segment information is present on order lines. User exit is called once for each product item, if segment information is present.

592771 Case: TS008305646 Skill Case: TS008399219 Customer can now save and view order attribute filter information from SBC coupon and promotions screen.
592773 TS008252959 On drop ship procurement order line, total was not shown against a line having bundle item.

Solution: The ordered_quantity attribute is now updated correctly during the drop ship order, such that the total value is shown against a line having bundle item.

592780 TS008157229 If yfs.yfs.consolidateToShipment.checkBasedOnAddress is set to Y, the consolidateToShipment API consolidates shipments based on the actual address and not on order header's shipTo key.
592782 TS008142141 The password field did not accept special characters in SMA.

Solution: The special characters ($^*) are added to the regular expression such that the password now accepts special characters in SMA.

592787 Internal AllocationRuleID is added to the getTemplateForGetPossibleSchedules method in the output template.
592791 Internal When you apply this fix pack, the application by default uses log4j version 2 for logging. For more information about log4j version 2, see the following topics:
592808 TS008054228 During dynamic distribution, charges are created for positive invoices even without any mapping to authorization records, which caused order processing to loop infinitely.

Solution: The payment collection logic is enhanced such that the order processing does not run into an infinite loop and performs efficiently.

592813 TS007407200 When the total value of order changes to negative value, the pricing becomes null. Thus, a NullPointerException is observed.

Solution: A void check is carried before using a pricing rule, so that the NullPointerException is resolved.

592829 TS008540897 A NullPointerException that was observed for an invoiced order when payment rule was changed to a target payment rule with Authorization disabled, is now resolved.
592831 Internal After a struts upgrade, the filter classpath is changed from org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter to org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter. Due to which, you can still see an old filter class in the final web.xml.

Solution: A validation is added for the filter class entry to avoid overwriting the web.xml when merging extended web.xml with the out of the box web.xml. The validation ensures that the correct filter classpath is reflected in the final web.xml.

592841 TS008517237 The start and end date of a pricing rule is now considered when evaluating pricing rules that are based on attributes.
592844 TS008579097 An error is thrown when there is a non-standard entity definition of Name and Value columns in YFS_STORE_BATCH_CONFIG entity.

Solution: Data extract is enhanced such that it checks whether a column exists for the fed input and the cases (uppercase, title case, and lowercase) of the input.

10.0.0.29

Error Code

Defect ID PMR # Description
589930 TS003914284 The documentation is updated for Inventory Purge.
592475 TS006351044 In Sterling Order Management System Software with IBM Inventory service integrated environment, the CreateOrder API that consumes reservation must remove capacity reservation that is created during the initial reservation API call.
592516 TS006596629 The EAR build process is fixed to retain any web services files that are patched into the EAR file.
592548 Internal The Received message is not an instance of a text message exception is displayed when a synchronous or an asynchronous service that is configured to use JMS compression/decompression, is called, and jmxproxy is enabled.
592549 Internal The YDB92_001 error is displayed while inserting a message of size more than 1 MB to YFS_REPROCESS_ERROR table in the DB2® database.

Solution: The application is enhanced to perform an auto compression of data before inserting it into database, when database is DB2, data size is more than 1 MB, and the column supports data compression.

592550 Internal The SQL query to fetch records from YFS_ITEM in the createOrder/changeOrder API is optimized to improve performance when creating or changing large orders.
592576 TS007572787 Sourcing Audit Cache debug statements must be printed only with the scheduleOrder API and when the sourcing audit is enabled.
592593 Internal The SQL query to fetch records from YFS_REGION_DETAIL in the createOrder/changeOrder API is optimized to improve performance when creating or changing large orders.
592606 TS007271368 The YFSGetDeliveryLeadTime user exit is pushing ETS to ReqDeliveryDate that is passed in the createOrder API when user performs the following steps:
  1. Creates a Transfer Order by passing RecievingNode and ReqDeliveryDate attributes and keeping ShipNode as blank.
  2. Returns blank output for the YFSGetDeliveryLeadTime user exit when ShipNode is blank.

Solution: You must set the yfs.promising.doNotPushShipDate property to Y to stop pushing ETS to ReqDeliveryDate.

592651 TS007695665 A NullPointerException is observed when application purges an inventory reservation with tag information.
592663 TS006575015

When the application is upgraded from V9.5 to V10.0, the Sales Order value in the App Console changes to Order.

Solution: The value of Sales Order in ycpapibundle.properties under key 0001_Order is modified.

592672 Internal The TaxableFlag attribute is added inside the YPMOverrideGetOrderPriceUE input and output user exits. When promotions or coupons are applied, this UE is invoked and customer can override the TaxableFlag. The database table yfs_order_line.taxable_flag is updated as per the value in UE.
592695 TS008024564 The documentation is updated for:
592698 Internal Struts is upgraded to version 2.5.26.
592679 TS007902223 A NullPointerException is observed, if the following conditions are met, when calling the scheduleOrder API:
  • The capacity is maintained externally.
  • The Consider Only those nodes that have a minimum available capacity of x % within y Days checkbox is selected in sourcing rule details.
592752 Internal The documentation is updated for Inventory management yfs.properties.