Defects addressed in this fix pack

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

9.5.0.53

Defect ID PMR # Description
592597 TS007623512 The ON HAND or future inventory window attributes are not considered from the sourcing rule detail configuration.

Solution: The application is enhanced to consider future inventory window attributes from sourcing rule details, based on if the shipnode is a part of the sourcing rule sequence.

592636 TS007513824 The APITester Pages (ibmapitester and yantrahttpapitester) are now UTF-8 encoded to avoid any garbling of values.
592815 TS008526214 Inventory Purge agent is enhanced to merge, and eventually purge demand and supply records, when multiple records for a unique combination exist. The records are merged only if the records qualify under purge criteria. To enable this feature, set yfs.purge.MergeDemandSupplyMultiRec to true in customer override properties.
592821 592834 TS006947740 Internal A new property ycd.ui.wsc.dojo.cacheburst is added to enable or disable cacheburst. By default, the value is set to N, which means cacheburst is disabled. When cacheburst value is set to Y, it bursts cache by picking timestamp in milliseconds.

You can also set a String value to cacheburst. For example, ycd.ui.wsc.dojo.cacheburst=v1.0 (Recommended).

9.5.0.52

Defect ID PMR # Description
592061 TS005557435 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.
592337 TS005039917 The findInventory API runs into loop when an unplanned supply is removed from YFSGetAvailabilityCorrectionsForItemListUE.
592413 TS006831072 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.

592473 TS006853035 The order history purge is fixed to delete eligible records from the YFS_ORDER_LINE_RELATIONSHIP_H table.

9.5.0.51

Defect ID PMR # Description
592347 TS005954938 An order is backordered when you complete the following steps:
  1. The server and DB locale is set as UTC, and the node locale is set as UTC+9.
  2. A node has a shipping calendar with single shift as 08:00:00-22:00:00 and working all days.
  3. A node has inventory capacity available (default slot 00:00:00 to 23:59:59) on all days of the week.
  4. The scheduling rule has 'Maximum no. of days order can be scheduled before its ship date' set to 0.
  5. A node has sufficient inventory, and the node capacity for an order needs to be scheduled.
  6. A single line order is created in the current day at 17:48 server time (UTC).
  7. The changeOrder API is called on the same day at 17:48 server time (UTC) to change to the next day 23:15:00 hrs.
  8. The scheduleOrder API is called at CD 23:16 server time (UTC).
592351 TS006571967 A work order gets purged without considering the sales order purge.

Solution: The documentation is updated. For more information about the fix, see Work order purge.

592400 TS006325982 Fixed regression in the DBHome dbclass entity generator in the SQL batch execution generation logic.

9.5.0.50

Defect ID PMR # Description
591463 TS004662989 The INVGetSupplyCorrectionsUE, YFSGetAvailabilityCorrectionsUE, and YFSGetAvailabilityCorrectionsForItemListUE user exits must support the DeliveryMethod field in the user exit input template.
591891 TS005039917 The product is enhanced to terminate or show warning messages for a long running solver process in Promising APIs such as findInventory and scheduleOrder APIs.

To observe the change in behavior, configure the following new custom properties:

  • yfs.solver.WarningOrExitOnIntrupt
  • yfs.yfs.solver.IntruptAfterMinutes
  • yfs.yfs.solver.IntruptOnlyForRead

For more information about these properties, see Order Management yfs.properties.

592098 TS004301370 The product 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, complete the following steps:
  1. Configure the following properties in the customer.overrides file:
    • 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.
592216 TS006203259 To improve the addContainerToManifest API performance, the API is enhanced to support the locking method configuration when a manifest record is fetched from the database.
592231 TS005822118 An excess amount is refunded when you create multiple credit memos in a quick succession for a partially invoiced order. Also, some refund charges are closed asynchronously.

9.5.0.49

Defect ID PMR # Description
591183 TS004437538 The total number of hours in a day are incorrectly calculated when the Daylight Savings Time (DST) ends. Due to this, the findInventory API does not determine availability and displays the error message, Not Enough Product Choices when you complete the following steps:
  1. Set the node, application’s install.localecode, and DB locale to CST (UTC-6).
  2. Configure the node such that it does not maintain a shipping calendar.
  3. Configure the value of ‘Maximum number of days order can be shipped/delivered beyond its request date’ scheduling rule as 0.
  4. Call the findInventory API between 23:00:00 and 23:59:59 hours on the day of DST switch. For example, on 11/01/2020 at 23:03:00 in CST timezone.

Solution: A new property, yfs.adjustTimeStampForDstSwitch is introduced. You can set the value of this property to “Y” in customer_overrides.properties to calculate the total hours in a day in accordance with the DST switch.

591914 TS00534404 If you set inStorePaymentRequired=Y and call the changeOrder API, the InPerson and PostponedAmount are not populated in the charge transaction table. Therefore, when you call the requestCollection API, the order status does not change to "Authorized".
591957 Internal When you modify the delivery method from a non-settled line, the InPerson and PostponedAmount in the YFS_CHARGE_TRANSACTION table are shown incorrectly.
592024, 591548 Internal, TS004809070 In Sterling Business Center, the Customer Level configurations (Customer Classifications) are disabled. Therefore, you cannot apply any modifications at the Enterprise level, which is also a customer organization.
592037 Internal The order header charges and taxes are not allocated in the correct InPerson and NotInPerson columns.
592070 Internal All the UI jars are signed with the new Java code signing certificate as the old UI jars have expired. You can notice a new certificate installed, which is valid until Feb 16, 2023.

9.5.0.48

Defect ID PMR # Description
591522 TS004217777 During carry line invoicing the inPerson flag is set to null.

Solution: The flag is set to "Y".

591557 TS004805236 The application does not consider the node priority cost that is added to Procurement Assignment in GetExternalCostForOptionasUE input.
591668 TS004698325 When a user completes the following steps, incorrect Demand details are observed:
  1. An order is placed for ITEM_1 at STORE_1, which has no inventory.
  2. Schedules the order and it backorders from STORE_1.
  3. Adjusts inventory in that ship node at STORE_1 for ITEM_1.
  4. Runs the IBA agent so that IBA reserves inventory.

    The YFS_INVENTORY_DEMAND_DTLS table do not have any entry at this point.

  5. Schedules the order.
591820 TS005150444 For a return pipeline, the supply is adjusted twice for a single createReturnOrderInvoice transaction if the receive return transaction is not configured.

9.5.0.47

Defect ID PMR # Description
591255 TS004603335 With Hot SKU OLA feature, when multiple demand records are present for a combination of item-node-demandType, the syncInventoryDemand API does not adjust inventory correctly.
591532 TS004849126 Email addresses get truncated to 35 characters while integrating with parcel carrier systems.

Solution: While integrating with parcel carrier systems, ensure that you configure yfs.shipcartondoc.attr.length to set the length of ConsigneeEmailAddress and ShipperEmailAddress attributes in the ShipCarton XML. The default value is set to 35.

591715 TS004811408 On change order, extra charge entries are added in the yfs_change_transaction table while adjusting distributed credits for negative invoices. This is because, while calculating distribution limit, the charge entries are also considered along with invoice entries.
591778 TS004816845, TS005128207 Fusion chart now supports JavaScript instead of Flash. Therefore, in the Sterling Business Center and Sterling Order Management Software user interfaces, fusion charts are upgraded to use JavaScript.
The documentation is also updated accordingly. For more information, see the following topics:
591791 TS004350811 When calculating order line amount, the application does not consider special service charges for cash and carry order lines.

9.5.0.46

Defect ID PMR # Description
590981 TS004270256 The findInventory call eliminates valid supply in the DeliverTogether bundle and the shipDate is incorrectly set to a year later from the actual shipDate.
591022 TS004422106 In the findInventory API call for deliver together bundle items, the error message Not Enough Product Choices is displayed when the following steps are performed.
  1. Create a NODE_1 node that works from 00:00:00 to 23:59:00.
  2. Create a CAR_SERVICE carrier service that delivers only on weekdays and transits all days.
  3. Create a carrier pickup at NODE_1 for CAR_SERVICE from Monday to Friday at 18:00.
  4. Create BUNDLE_1, a deliver together bundle item that contains two components, COMP_ITEM_1 and COMP_ITEM_2.
  5. The inventory for components is only available on a future date on any Saturday or Sunday.
  6. The delivery lead time UE is implemented to return 20 lead days for the pair of address.
  7. Call the findInventory API for item BUNDLE_1.
591404 TS004586448 If a node capacity is adjusted in a non-working slot, an unexpected ExpectedShipmentDate is observed for scheduleOrder where capacity for working slots gets over-consumed.

Solution: The adjustment of capacity in a non-working slot is not supported. During scheduling, if ExpectedShipmentDate for an order is pushed because of the availability in non-working slot, the order gets back ordered.

591449 TS004779431 For an advanced type of exchange order, if a Transfer In entry with requested amount in the yfs_charge_transaction database table is present, then upon cancellation of order line quantities it creates Transfer Out entries. The entries have credit amounts instead of requested amount in the database table when the following steps are performed.
  1. Crete a return order.
  2. Create an advanced exchange order.
  3. Run the processreturnOrder call for the return order.
    Note: Do not create an invoice on a return order before you cancel the exchange order.
  4. Check whether the exchange order has a Transfer Inwith only a request amount and not a credit amount, then cancel the exchange order.
  5. Run the requestCollection call for the exchange order. A Transfer Out gets created on exchange order with a credit amount.

9.5.0.45

Defect ID PMR # Description
585883 TS002556982

In the IBM WebSphere Commerce integration SCWC_SDF_createOrder, inventory reservation is not consumed when order is created for the bundle parent line.

Solution: A custom node with class, com.yantra.omp.business.order.OMPSCWCMassageForBundleXML and method massageOrderXMLForBundleReservations can be added to the create order service definition by including it as a custom API node that breaks the bundle reservations into component level reservations and pass it to createOrder API node. Class name com.yantra.omp.business.order.OMPSCWCMassageForBundleXML, is provided as part of core deployment to perform the following custom implementation.
  1. In the UI, create an API node, with the following parameters:

    class name = com.yantra.omp.business.order.OMPSCWCMassageForBundleXML

    method name = massageOrderXMLForBundleReservations

  2. Place this API node before createOrder API node.
591019 TS004344956 The releaseOrder API moves the ship date for an order line to the last ship date, which meets the ReqDeliveryDate.

Solution: A new property, yfs.promising.doNotPushShipDate, is added. Default value is set to N. Setting this property to Y prevents releaseOrder from moving the ship date for an order line to the last ship date, which meets the ReqDeliveryDate.

591108 Internal

In the refund configuration, when yfs_payment.suspend_any_more_charges is set to B, if the payment type is configured to refund to the same payment method then the payment method gets suspended for refunds and if the payment type is configured to refund to a new payment method then the system configures a new payment method for generating refunds.

Solution: To completely suspend refunds on a payment method that are marked suspended when yfs_payment.suspend_any_more_charges is set to B on an order, a new property yfs.payment.supressAllRefundsIfPaymentSuspended is introduced. Set yfs.yfs.payment.supressAllRefundsIfPaymentSuspended to Y in customer overrides to suppress all refunds when yfs_payment.suspend_any_more_charges is set to B. Allowed values for yfs.yfs.payment.supressAllRefundsIfPaymentSuspended are Y and N. Default value is set to N.

Allowed values for yfs_payment.suspend_any_more_charges were N, Y, B, and A. Value A, which suppresses all refund processing of both new or existing payment methods, is deprecated.

Set yfs_payment.suspend_any_more_charges to B and yfs.yfs.payment.supressAllRefundsIfPaymentSuspended to Y in customer overrides to suppress all refunds.

591180 TS004265895 During CDT, CDT transformation is also used to propagate nullification of column values of nullable columns. CDT transformation rules are defined by users to transform null values to a constant value during export with similar rules for reverse transformation; that is constant to null, are defined to import the CDT data into target database back as null. However, this functionality does not work for all data types.

9.5.0.44

Defect ID PMR # Description
587930 TS003175993, TS003796235 The getOrderList API fails and a NullPointerException occurs when the following conditions are true.
  • Records are fetched from the main table and the history table.
  • The MaximumRecords attribute is available in the input XML file while the output XML file contains the TotalNumberOfRecords attribute.
590588 TS004183083 When the quantity records in the YFS_INVENTORY_SUPPLY table is 0, incorrect available inventory is published by RTAM OP1.
590635 Internal No data is displayed when a receipt of a purchase order is opened, and the Export table data option is selected for an item or a container.
590638 Internal In RTAM calculations, the capacity is read for 90 days even when the monitoring window is set to a lower value.
590641 Internal The ClassNotFoundException error or NoSuchMethodException error occurs when the extended database APIs are called by using the IsExtendedDbApi attribute in multiAPI in a multi-threaded mode.
590926 Internal The MinShipByDate attribute is not considered by PLA allocation during a wave release and inventory is not allocated against the correct ship by date.
598034 TS004227647 The documentation for Reverse Excess is updated.

9.5.0.43

Defect ID PMR # Description
589708 TS003867156 When the installation and the node locales are different, Incorrect Capacity availability validations occur for orders that have requested dates in the future.
590141 TS004059928 The capacity consumption is not working correctly when the ship date is spanned across multiple business days. Consider the following scenario:
  1. The Install locale is set in the UTC timezone and the locale of a node A is set in the CST timezone.
  2. An order is created for an item in node A, on 13 August 2020, 5:05 UTC.
  3. The changeOrder API is invoked to update the ReqShipDate to 13 August 2020, 14:20 UTC.
  4. The scheduleOrder API is invoked on 13 August 2020, 5:30 UTC by setting the value of the ScheduleAndRelease parameter as Y.

In such scenarios, the order does not get scheduled.

588765 Internal The Sterling Order Management application is enhanced such that it now logs SQL statements. The SQL statements are added and executed with the SQL batch execution.
590266 Internal When database queries are added to SQL batch in the Order move status, the queries run in a wrong sequence.
590257 TS004110807 The excess charge is collected and refunded when following steps are performed.
  1. The Delayed authorization parameter in payment rule is enabled.
  2. The order is created with the payment method as charge, not authorize.
  3. The processOrderPayment API is run twice.
589541 TS003672320 The positive transfer out amount causes return orders to not get purged even when the order reaches the final status in the return pipeline.
590210 TS004095283 When the value of lead days is set to 0 for Inventory Reservation Purge, the reservations that are expired on current date are not purged.
590280 TS004126793

A potential performance issue is observed while fetching child containers in the changeShipment API call. The parent container keys in most of the shipment container records in the database are set to blank.

Solution : Set the property yfs.applyChildContainerQueryOptimization=Y in DB properties to optimize the query on the shipment container table while fetching child containers.

9.5.0.42

Defect ID PMR # Description
587374 TS002897825 Documentation is updated with the function of the service indicator. For more information, see Adding a service level indicator.
587872 TS003078816 IBM Documentation is updated to address that the Sterling Sensitive Data Capture Server (SSDCS) is deprecated.
589710 TS003784794 Application server startup takes more time, which is directly proportional to number of enabled locales.

Solution: During the application server startup, optimized resource bundle is loaded so that the resource bundle initialization is faster.

589953 TS003959739 Shipment purge is holding the logs for a long time without purging.

Solution: Shipment purge performance is improved by correcting the filtering query logic and query timerons.

9.5.0.41

Defect ID PMR # Description
589596 TS003806178 The findInventory API is unable to find availability when the user performs the following steps:
  1. Application Install locale or time zone is set to UTC, which is GMT+00:00 and the locale or time zone of the node, NODE1 is Chile, which is GMT-04:00.
  2. NODE1 has a working calendar of 09:00 to 20:00.
  3. Inventory capacity is defined for NODE1.
  4. The yfs.useNodeLocaleTimeForCapacityCheck property is set to true.
  5. If the current working date and time at NODE1 is 2020-04-30 08:00, and if the user calls the findInventory API with ReqEndDate=2020-04-30T23:00:00 and ReqStartDate=2020-04-30T00:00:00, the findInventory API fails to find inventory availability.
589537 TS003729002 The event handler that is configured for the ON_SUCCESS event of the changeException API is not invoked.

Solution: The event for the changeException API is triggered so that the corresponding event handlers are also invoked.

589849 Internal Incorrect status quantities are observed when an order release status is selected to move out quantity which has zero quantity.

Solution: A validation is run to verify that the order release status that is selected to move out the quantity does not have zero quantity.

589524 TS003738112 Incorrect capacity consumption is observed when a user performs the following steps:
  1. Sets the yfs.useNodeLocaleTimeForCapacityCheck property to true.
  2. Creates a node, NODE_1 that has multiple working shifts between 00:15 to 23:59.
  3. Sets the locale for NODE_1 to UTC-6 and the install locale is UTC.
  4. Adjusts the inventory for an ITEM_1 at STORE_1. Capacity resource pool exists at STORE_1 with 00:15 to 10:00 and 10:00 to 23:59 slot groups.
  5. Creates a reservation for an ITEM_1 using the reserveAvailableInventory API. A capacity is consumed against the reservation at this step.
  6. Creates an order and passes the Reservation ID received in Step 5. The reservation is consumed at this step and capacity consumption for the reservation is removed. A new capacity consumption is inserted for the order.
  7. Schedules the order. One capacity is reduced, which was inserted in Step 6.

9.5.0.40

Defect ID PMR # Description
587617 TS003012924 The releaseOrder API backorders the scheduled order, when a user performs the following steps:
  1. Creates two nodes N1 and N2, and also creates a node transfer schedule from node N2 to N1 with 5 transit days.
  2. Configures the carrier service pick up for the service PICK_INTERNAL at node N2 where the carrier service has to pick up at 00:00:00 on the applicable days.
  3. Adjusts an inventory at node N2 for 5 quantities. For example, ITEM_1.
  4. Ensures that the YFSGetDeliveryLeadTimeUE is implemented to return 10 days of transit from node N2 to node N1.
  5. Creates the order with the Ship node N2 and the Receiving node N1 for ITEM_1.
  6. Schedules the order. ETS is the current date +1 and the delivery date is current date + 11.
  7. Releases the order. The order is back ordered.
589334 TS003609436 In an instance based on the Oracle database, an ORA-908 error is reported when a user performs the following steps:
  1. Performs the nomenclature setup, such as defining the nomenclature codes, definitions, mappings, and configurations.
  2. Creates a custom service to perform the translation by using the nomenclature runtime component.
  3. Invokes the custom service with some valid input data which is missing from codes.
589013 TS003158057 The PricelistLineAttrList elements in the output are not used to calculate the item's price when the YPMPricelistLineSelectionUE is implemented.
507796 Internal When a user performs the following sequence of actions to confirm the work order on the VAS station, the system prompts for tag information to be entered for a tagged item even if it has an inventory with single tag information:
  1. Creates a component item, makes it time sensitive, and always controls it by tagging with the lot number and the manufacturing date.
  2. Creates a physical kit item, KitItem1.
  3. Creates the VAS service item for kitting, SERITEM.
  4. Adjusts the quantity for the component item in the VAS station with the same tag information.
  5. Creates a work order for KitItem1.
  6. Attempts to confirm the work order and the control goes to the VAS station.
  7. Selects the VAS location, enters quantity to process as 10, and saves it.
588643 TS003447281 An order object gets fetched where the order header key itself displays null or blank. Hence, the queries with blank attributes get executed.

Solution: Now the API to fetch the order object is called only after a check is performed to verify that the order header is not null.

588313 TS002957843 The shipment is split between batches when sorting is turned on for the getStoreBatchList API.

Solution: A new flag called DoNotSplitShipment is introduced to prevent a shipment from getting split. If the flag is set to Y, the API does not split the shipment into different batches and keeps all the shipment lines of a shipment in the same batch even if the batching and sorting attributes of the lines are different.

589233 TS003692069 The getOrderList API and getOrderDetails API output for the tax element attribute Reference1, Reference2, and Reference3 are updated for backward compatibility to have underscore, that is, Reference_1, Reference_2, and Reference_3.

Set the property yfs.yfs.order.bcTaxReferences=Y in customer overrides to change the tax reference attributes in the API output.

Note: This issue will not be reconciled in version 10.0.

9.5.0.39

Defect ID PMR # Description
588593 Internal The input for the OMPGetReturnOrderPriceUE user exit is enhanced with the reset flag. However, the functionality of the reset flag is not changed.
588596 Internal
During the OMPGetReturnOrderPriceUE user exit invocation, the ChargeAmount related to charge breakup is not in sync with the amount in HeaderCharge.
  1. Creates a sales order with header level charges and discounts and takes it to shipped, invoiced, and paid status.
  2. Creates a return order for the entire sales order.
  3. Invokes the processReturnOrder API and implements the OMPGetReturnOrderPriceUE with reset flag value set to yes to remove header level discounts from the return order.
588658 TS003234550

The Reservation purge agent does not consider purge criteria retention days, but purges reservation record if it has 0 quantity or expiration date is earlier than the current date.

Solution: The Reservation purge is modified to pick up reservation record for purge if it has 0 quantity or expiration date is earlier than the current date minus the purge criteria retention days.
587964 Internal The YFS_AUDIT_PURGE documentation has incorrect description for the Table Type criteria parameter. For more information see, YFS audit purge.
588295 TS003341734 When a manifest is open for a node whose time zone is ahead of install time zone, the closeManifest API fails with error Invalid Pickup Date.
587672 TS003003961 When the records are being synced, the Inventory snapshot agent does not log the YFS_INVENTORY_SUPPLY and YFS_INVENTORY_DEMAND.

Solution: Logging is enhanced for Inventory Snapshot Agent.

588122 Internal
When a user performs the following sequence of actions, an asynchronously charged payment method which was voided gets suspended instead of getting deleted:
  1. Creates, schedules, releases and ships an order.
  2. Invokes the CreateShipmentInvoice API.
  3. Collects the charge synchronously against the invoice, fails the transaction in the executeCollection API and suspends the payment method.
  4. Adds a new payment method PM2 and asynchronously charge it.
  5. Voids PM2 using the recordExternalCharges API by enabling the cancelPendingAsynchronous flag.
  6. Invokes the capturePayment API with the Delete operation or uses IBM® Call Center for Commerce for this operation.
588521 TS003446502 An order gets scheduled after the one day window, if capacity on the current date is insufficient for the ordered quantity for capacity UOM UNIT. This happens when the Consider Only Those Nodes that have a minimum available capacity of X % within the next one Day is set in the sourcing rule.
588570 TS003466796
When a user performs the following sequence of actions, the node is not considered for sourcing.
  1. Ensures that the carrier pick up schedule and the node calendar is configured.
  2. Ensures that in the sourcing rule for the distribution group containing the store node, the configuration, Consider Only those Nodes That Have a Minimum Capacity of 10% within the Next 5 Days is present.
  3. Configures standard node capacity to 150 for all days for both PICK and SHP type of resource pool on the node.
  4. Places order after the carrier cutoff for 136 units for node 51.
  5. Capacity gets consumed for the next day.
  6. Schedules the order.
  7. Runs the findInventory API after the carrier is cutoff within working hours for the node calendar.
588767 Internal

The Reservation purge agent does not consider purge criteria's retention days, but purges reservation record if it has 0 quantity or the expiration date is earlier than the current date.

Solution: The Reservation purge is modified to pick up the reservation record for purge if it has 0 quantity or the expiration date is earlier than the current date minus the purge criteria's retention days.

For more information see, Reservation Purge.

9.5.0.38

Defect ID PMR # Description
587621 Internal

Operation: Set the SuspendAnyMoreCharges flag value to A by using the changeOrder API.

Solution: When the SuspendAnyMoreCharges flag value is A, then all refunds processing for both the new or existing payment methods are suppressed.

587537 Internal

Configuration: Set the LeadDays to the required value, such that dummy shipments valid for purging are available for the purge process.

Condition: Set the required LeadDays and run the OrderPurge agent so that orders, which have dummy shipments are purged in the system.

Operation: Run the ShipmentPurge agent.

Solution: The throughput of the purchase order ShipmentPurge agent is enhanced. The absence of the lastMessageKey attribute in the output of the getJobs function of the agent is fixed. The ShipmentKey attribute is stamped as the lastMessageKey attribute, so that the dummy shipments whose order is purged, get processed for the purging process.

588257 Internal The item attribute pricing does not consider attribute values that are assigned to an item if the attribute is not used by a pricing rule.
571534 TS001052891

Problem: When the first refund is done manually or by customization, the refund sequence is not working as expected.

Condition:
  1. Create a sales order worth three lines 1$, 99$, 100$ each. It has three payment methods: Credit Card, StoreValueCard and other worth 1$,99$ and 100$ respectively.
  2. Complete the sales order lifecycle until shipped and paid.
  3. Create the return order RO1 for the first 3rd SO line worth 100$.
  4. Run the processReturnOrder API, which copies all three payment methods.
  5. Delete all the other tenders except 100$.
  6. Run the requestCollection API.
  7. Authorize or release the return order receipt, close it, invoice and run the requestCollection API on the return order RO1.
  8. Ensure the financial rule in return order Allow refund to exceed charge amount and Do not allow credit and debit invoices to settle each other is enabled.

Solution: The total alternative refund amount is properly set to 100$ in SO corresponding to the return order RO1.

588125 Internal In correction mode, the capturePayment API sets a wrong maxChargeLimit on the payment method, when the requested amount passed is more than the funds available on the store value card.
588128 Internal

Problem: The copyHubModificationRules API does not copy the status modifications to the correct group when no Default_Group is defined for the target organization.

Solution: Check whether the Default_Group exists. If not, create a new Default_Group status modification group.

588162 TS003259446 When an attribute of type Text is used, and the value corresponds to a number, the item attribute-based pricing incorrectly evaluates the input as a number and does not compare against any text conditions that are created for the attribute.
588134 Internal

Configuration: Set Authorization reversal as ReverseExcess and partial reversal that is supported, along with RSFN_DONT_CONSIDER_PENDING_CHARGES rule and DO_NOT_CONSOL_DEBITS_OR_CREDITS rule enabled.

Condition:

  1. Partially ship an order and short pick remaining quantities. Cancel the short picked quantities.
  2. Reverse authorization for short picked quantities must be successful.
  3. Create an order invoice for partially shipped quantities.
  4. Run the requestCollection API to open a charge type CHARGE in OPEN status.
  5. Run the executeCollection API so that the CHARGE record fails and its payment tender gets suspended.

Operation: Run the requestCollection API that is suspended after the payment tender is activated.

Solution: The charge type CHARGE should be in OPEN status, without running into dynamic distribution error or creating disturbed financials.

588137 Internal

When a mashup call is initiated from UI, DB lock is acquired on the required records and worked upon. Once the actual API associated with the mashup is complete, the lock is released and the control flows back to the (massageOutput method of the) custom class associated with the mashup. While this happens, if another JVM acquires the lock on the record and modifies it, the lockId will get updated. However, at the mashup later, the thread would be still alive so will the context associated to the mashup call and thereby the transaction cache. If a subsequent call to change the entity is made from the massageOutput method of the mashup which uses the same context (which still has the record in transaction cache) and tries to execute the API call, the stale record from transaction cache gets picked up while the record is already updated in DB by another JVM. When API tries to commit the modifications to this stale record, Update failed. The record to be updated could either not be found or it was already deleted or updated by another transaction error is seen.

Solution: A new releaseTransaction method is added in mashup helper. This is invoked from ValidateGetTrackingNoAndPrintLabel before making the changeShipment call so that fresh record from the database is fetched for updation.

588291 TS003158057 The LineItemAttributes element that is used for item attribute based pricing is added to the YPMSelectPricelistLineListUE input Javadoc.
588327 TS003374072

Problem: The application might not return the required exception record from YFS_CALENDAR_EXCP_SHIFT table if the table has more than 1000 records.

Solution: The YFS_CALENDAR_EXCP_SHIFT table from the past is not read.

9.5.0.37

Defect ID PMR # Description
587824 TS002976706

Problem: A few hold type tasks are skipped when a zero quantity or amount shipment is canceled.

Resolution: The hold type tasks are now included when a zero quantity or amount shipment is canceled.

588298 Internal

Problem: The inventory purge, purges records when ship date is earlier than the system date minus the purge criterion’s retention days.

Resolution: The inventory purge, purges reservation records for which expiration date is earlier than the system date minus the purge criterion’s retention days.

587627 Internal When the following steps are performed,
  1. Create a sales order with two payment methods, 2035$ and 550$.
  2. Complete the order fulfillment process to make the status as paid.
  3. Suspend the payment method 2035$.
  4. Create a partial return order for 2035$.

    Duplicate refund charges get created when a sales order has one or more suspended payment methods for a charge. Also when a sales order has a refund that is corrected and refund that is initiated for active tender value of 550$ only.

587777 TS003049783

Problem: A synchronization column that is named lockid value gets moved between UI and backend. The value of this column gets outdated on UI when the first action on UI is performed.

Solution: This column is not required to be shown on UI and its purpose is backend synchronization. Its updated value is fetched and used from DB directly. As part of the fix this column value is removed to be flown to UI.

587919 TS002680348

Operation: Call the confirmDraftOrder API on return draft orders.

Condition: Enable payment processing for the organizations processing return orders. Return document type is eligible for payment updates. Return Order is in draft status and its payment status is Not Applicable.

Solution: Return order payment status during draft order confirmation goes to Authorized status rather than being in the Not applicable status. This ensures return orders go to PAID status, when requestCollection runs, making return order whose payment processing is done on sales order to be eligible for purge process.

586555 TS002638294 The details for yfs.hotsku.maxItemMapSizeInMemory property is updated. For more details see, Hot SKU control parameters.

9.5.0.36

Defect ID PMR # Description
587217 TS002770325 The OrderType field is not considered in shipment conditions for pipelines and transactions.
586393 Internal Null Pointer Exception is observed intermittently when capacity availability for a resource pool is read.
586399 Internal Multiple entries for RESERVED status are observed in yfs_order_release_status when a user retries scheduling an order when there is no change in the expected date.
586876 TS002738102 Problem: Coupon update fails in Sterling Business Center when the user adds an attribute group under exclusion condition, saves it and later removes the attribute group and tries to update the coupon.

Solution: The UI is enhanced to pass attribute 'IsItemAttributeValueRule="N"' if the targeted rule is not defined on item attribute values.

587578 TS002950083 The ShipNode at order line is not updated from order line schedule for drop ship fulfillment, when order control rules When line is backordered, backorder against highest priority node and A line can be fulfilled from single node only are enabled.
571472 Internal In some cases, correct override item ID is not stamped on shipments, when the GTIN is enabled and multiple items sharing the same GTIN are ordered in a single order.
547602 Internal RECEIVE INTRANSIT UPDATE.ON SUCCESS event is not invoked when load is completed.
585419 Internal Documentation is updated for the yfs.RTAM.ActivityPurposeToExclude property. For information about the property, see Order management yfs.properties. The Real-time availability monitor (RTAM) section is updated with the information to create activity of related items.
547605 Internal Unable to delete routing guide lines after creating, when user performs the following sequence of actions:
  1. Launches Configurator, navigates to logistics management, and selects an enterprise context.
  2. Creates a new routing guide.
  3. Creates new routing guide lines for the guide with Carrier and Service, From and To Zip Code range.
  4. Tries to delete the new guide line or Routing Guide created.
547620 Internal PLA Allocation does not consider the MinShipByDate of the shipment during wave release, when user performs the following sequence of actions:
  1. Creates a time sensitive item.
  2. Configures PLA to pick inventory from Pick Area BulkZone that has two locations BulkLoc1 and BulkLoc2.
  3. Adjusts inventory for the item in Pick Area such that

    BulkLoc1 has item that is created with expiry date 15/04/2017 quantity = 2.

    BulkLoc2 has item that is created with expiry date 15/05/2017 quantity = 2.

  4. Creates an order with MinShipByDate as 01/05/2017 for item that is created with quantity as 2 and includes it in a shipment.
  5. Includes the shipment in wave and release it.
507811 Internal Label Preferences are not accepted, due to which input to the custom print adapter contains default label in the following scenario:
  1. Launches Applications Manager and navigates to Warehouse Management System > System Administration > Prints.
  2. Sets up custom print adapter and label format.
  3. Navigates to the Application Platform, sets up print format preferences and selects desired label format for a particular print document at the Enterprise or Node level.
  4. Prints the desired print document.
586988 TS002697170 In the Call Center Create Order screen, the availability column does not show the correct date when an order is created for an item that has node notification set to some hours.
587522 TS002809777

Problem: The inventory purge agent picks inventory reservation records to be purged if it has 0 quantity or a ship date that is earlier than the system date minus the purge criteria's retention days. This selection criteria might lead to incorrectly purging the inventory reservation records that are not expired.

Solution: Inventory purge is modified to pick up an inventory reservation record for purge if it has 0 quantity or an expiration date that is earlier than the system date minus the purge criteria's retention days.

574739 TS001080456 The GUI-based launchpad installation is supported with Firefox 42 or below. For more information see, Performing a GUI-based Launchpad installation (Professional edition) and Performing a GUI-based Launchpad installation (Enterprise edition).
587837 Internal The YFS_ORDER_RELEASE_STATUS records do not update correctly when user does the following sequence of actions:
  1. Create an item and adjust one quantity for that item.
  2. Create an order with an order line of three quantities.
  3. Call the changeOrder to stamp the ShipNode in the order line.
  4. Schedule the order by using the API tester. One quantity must be scheduled and other two quantities must be back ordered.
  5. Unschedule the order from application console.
  6. Adjust one more quantity for the same item to change the availability to two.
  7. Schedule the order by using the API tester. Two quantities must be scheduled and one quantity must be back ordered.
  8. Unschedule the order by using application console.
  9. Schedule the order again by using the API tester.
587032 TS002816463 Default value for the IgnoreUnpromised attribute is Y for getAlternateStoreAvailability API. Java input xml documentation is updated accordingly.
584488 TS002372954 Duplicate unexpected termination alerts are raised as part of ON_SERVER_UNAVAILABLE event by health monitor when agent or integration servers are running multiple services.
587375 TS002916367 The capacity consumption records for US are inserted in a schema meant for Europe.
587454 TS002906565 In procurement sourcing rules with template distribution group, node filtering based on flag Idle Asset is not working.
585305 TS002281259 The Order release status purge topic is updated to explain precisely the functionality of Order Release Status Purge agent. For more information, see Order release status purge.
587963 Internal The documentation for inventory purge incorrectly states that inventory reservation records has ship date which is earlier than the system date minus the purge criteria's retention days. For updated documentation see Inventory Purge.

9.5.0.35

Defect ID PMR # Description
586910 TS002682929

The getOrderList API is enhanced to provide the ability to control the locking of the order header database record. A new attribute SelectMethod is introduced in the input of the API. For more information, see Javadocs.

586874 TS002195154

Order audits are not published externally when the OMS configuration properties are managed in database.

Note:
The properties listed below are no longer managed in the database. They must be set in the customer_overrides.properties file to publish order audits to external systems.
  • yfs.publish.mode
  • yfs.order.audit.publish.listener
586663 TS002310661 The recordExternalCharge API is enhanced to support the cancellation of an asynchronously closed refund charge that is pending. The CancelPendingAsynchronous flag is used to record the cancellation of the asynchronous request. For more information, see Javadocs.
586837 TS002502631 When the Allow Reservation During Scheduling rule is enabled and an order is scheduled for an item without any inventory, while rescheduling the order, the reservation is alternated for the item and its substitutes.
587115 TS002420558

Problem: The Integration Server for UBX_Server that publishes the data to UBX throws an exception with the error code UBX0007 when the receiveOrder API confirms a return shipment.

Resolution: The JSON data for the orderShipped UBX event is fixed to handle the return shipment created during the receiveOrder API call.

586664 TS002617181

When the GetAvailableInventory API is called to get the inventory that is available in a segment, the inventory of all segments is returned by the API.

586848 Internal

Documentation is updated for Optimistic Lock Avoidance (OLA) being enabled or disabled. For more information, see Consolidate additional inventory agent.

9.5.0.34

Defect ID PMR # Description
586559 Internal The Enhanced return monitor page is updated in IBM Documentation. For more information, see Enhanced return monitor.
582139, 584739 Internal A rule that is assigned to children of the same model but with different start dates do not trigger when configuration date is between the start dates of the rules that are attached to the children.
586339 TS002595196 When an Order contains utf-8 special characters, the integration server fails to publish events to UBX with an error response code of 422.
586289 Internal The SBC application UI is enhanced to support creating attribute tiers on price list lines such that if the attributes are met, the attribute tier price is used.
584450 Internal An order with a future requested delivery date is back-ordered intermittently when released.
579820 Internal You can now model a price list line to store the list price on the Item attributes. The Item attributes for a price list line can be an exact match Item attributes or Item attributes with non-overlapping ranges or a combination of both. Item attributes can be numeric or alphabetic in nature.
584783 TS002331548 When the Inventory Visibility (IV) integration is enabled, the integration server that updates demands into the Inventory Visibility, when run for several hours, crashes with an out of memory error.
586346 TS002554417 The status descriptions are incorrect for the line breakups, when there is one release of a return order and there are multiple shipments in different status.
586402 Internal Repricing does not take place when the change Shipment attribute includes more quantity than the original order.
586405 Internal The supply element is showing records with 0 available quantity for the getExternalCostForOptionsUE.
586030 TS002467617 The restoreOrder API is not restoring HEADER_CHARGES when passed from the YFSGetOrderExternallyUE.

9.5.0.33

Defect ID PMR # Description
582139 Internal A model having children with same rules, but different start dates does not trigger if the configuration date is between the start dates of the rules attached to the children.
584181 TS002319964 A data bound error is thrown in PrintDocumentSetAPI as PrintDocument id is not resolved.
585704 TS002492231 A bundle component cannot be released from multiple nodes and gets back ordered when the scheduleOrder API schedules a deliver together bundle order.
584739 Internal Same rule assigned to children of same model but with different start dates don't trigger when configuration date is between the start dates of the rules attached to the children.
583507 Internal The loadInventoryMismatch attribute has an ETA as 1899-12-31 instead of 1900-01-01 in Helsinki timezone.
584983 Internal If the routing guide is disabled at the buyer organization level or the shipment planning level, then identical orders are getting consolidated to one shipment, but once load is created routing source code is getting updated from 02 to 04 preventing any further consolidation on the shipment. The update of routing source on the load and shipment from 02 to 04 in the reported use case is prevented only when yfs.consolidate.shipments.for.preassigned.carrier property is set to Y.
585759 TS002522405 For a bundle parent item with a fulfillment mode, the monitorItemAvailability API does not calculate the right future available quantity, when one of the component item is available as onhand but the other component is only available in the future.
585595 Internal Java documentation for the getCompleteItemList API output description has been updated.
585452 TS002468105 A missing attribute error is thrown when getOrderHoldResolutionList API is overridden by an SDF service in IBM Call Center for Commerce.

9.5.0.32

Defect ID PMR # Description
585215 TS002447062 For tag-controlled items, if the RevisionNo attribute is not passed as an input under the Tag element while invoking the reserveItemInventoryList API, a null pointer exception error occurs.
584641 TS002377141

An SQL exception occurs when a flow is created with a name that exceeds 40 characters in the SERVICE_NAME column of YFS_ASYNC_REQ table.

585170 TS002435685

Problem: The NoteText is not present at the OrderLine level in the output of changeRelease API even after extending it to include Notes element at the OrderLine.

Resolution: The changeRelease API input Javadoc is updated to remove the incorrect reference to Notes element of Order Line.

Note: Order Lines should not be modified by changeRelease API. To update Notes on Order Lines, the changeOrder API should be invoked.
582681 TS002163695

When a canceled shipment with a single order is searched by its order number on the shipment search page of IBM Store Engagement, duplicate entries of that order are displayed.

573835 Internal The YFS10131 error occurs while receiving an unexpected item for the second time, when the closeReceipt API is invoked from IBM Store Inventory Management.

9.5.0.31

Defect ID PMR # Description
583515 Internal

Problem: For nullable columns, CDT Transformation does not allow NULL values.

Resolution: Set "" or "NULL" as a replace value that nullifies the column value as part of CDT Transformation, provided the column is nullable.

584125 Internal Problem: Intermittently, the Capacity consumption is not correctly updated.

Resolution: This issue is now addressed.

582858 TS002139412 Problem: Create an order with three lines each worth $15 with a combination of multiple delivery methods, such as PICK and CARRY along with the HeaderTaxes of $15. The changeOrder API call resets the HeaderTax to $0, and cascades $15 header tax to each line as line level taxes such that each line total equals to $20. The effective order total is zero with modifications that occur across the InPerson filter values.

Resolution: When the effective order total changes to zero, and the modification occurs across the InPerson filters, you do not observe an extra ADDITION charge type record.

575505 TS001382521 Problem: The findInventory API is not optimizing on number of shipments.

Resolution: This issue is addressed. Also, the Creating a scheduling rule topic is updated to include the limitation.

583468 TS002260162 Problem: In the customer pickup flow, if a user enters a backslash character in the userid, an input validation failure error is observed.

Resolution: After you log in to the application, the user preferences are being set up. During this process, the application escapes the backslash character, if present in the userid, and thus, prevents the character conversion.

578142 Internal A security issue is addressed.
Note: For more details, contact IBM Customer Support.
581901 TS002087666 Problem: A user encounters an error during the integration of Sterling Order Management with MQ version, 8.0.
Resolution: The jar file names for MQ are updated. For more information, see the following topics:
583761 TS002235187 Problem: In the Manage Attributes Values screen of Sterling Business Center, incorrect assigned values are displayed for attributes that have the same name.

Resolution: This issue is addressed. Now, the correct assigned values are displayed for attributes that have the same name.

583253 Internal Problem: The createInventoryActivity API when called with CreateForInvItemsAtNode="Y" the DB cursors remain open.

Resolution: This issue is addressed.

583511 Internal Problem: Configuring EDGE Deployment results in multiple "java.lang.RuntimeException: ContextTracking" warning messages.

Resolution: This issue is addressed. If EDGE Deployment is used, the messages are suppressed.

9.5.0.30

Defect ID PMR # Description
579852 TS001835189

The YFSConfirmAssignmentsUE is enhanced to populate the procurement information in the UE input provided the Procurements element is part of the UE input template.

For more information about the YFSConfirmAssignmentsUE input template, see the Javadoc.

581542 TS002018689 The YCM0002 "Mandatory Parameters for the Operation are missing" error message is displayed when a user performs following sequence of actions:
  1. Creates a bundle item with components.
  2. In the Application Manager, configures the "Bundle Component Line" to include CostCurrency attribute under Item element.
  3. Creates an order with bundle item with CostCurrency.
582981 TS002205221 The "Could not find entity (probably changed lockid)" error message is displayed when a user performs the following sequence of actions:
  1. Configures an address hold that can be applied on an order during creation, and can be resolved by the Address Verification time-triggered transaction.
  2. Configures the YCD_VERIFY_ADDRESS agent.
  3. Implements YCDVerifyAddressWithAVSUE such that it returns a different value for any of the person info attribute, for example, FirstName.
  4. Creates an order with person info BillTo and ShipTo address for which the IsCommercial attribute set to N.
  5. Calls the changeOrder API to modify the IsCommercial attribute to Y. Ensures that the existing person info record is updated with the new value.
  6. Ensures that the address hold is applied to the order.
  7. Starts the YCD_VERIFY_ADDRESS agent. Ensures that the YCDVerifyAddressWithAVSUE is called by the agent that returns a different value for one of the person info attributes.
578982 TS001811997 ShortZipCode is never updated on computing even if the ZipCode changes.
583301 TS002238598 The Node Capacity of UOM Release is not correctly considered when the following sequence of steps are performed:
  1. Create two nodes, NODE_1 and NODE_2.
  2. Create two items, ITEM_1 and ITEM_2 and adjust inventory for the both items at NODE_1 and NODE_2.
  3. Create a resource pool of UOM "RELEASE" at NODE_1 and NODE_2 with the standard capacity of 1 for each day.
  4. Create an order, ORDER_1 with two lines, 1 each for ITEM_1 and ITEM_2 with quantity 1.
  5. Schedule ORDER_1.

    Observe that two shipments are created as two lines that are either scheduled from different nodes or on different dates from the same node.

9.5.0.29

Defect ID PMR # Description
582337, 582194 Internal, TS002076643 YFS_ORDER_RELEASE status records are not updated correctly when the scheduleOrder and confirmShipment API are called for an order with the order line having large quantities.
Scenario 1: The status of the order is not changed to the Scheduled status when user completes the following steps:
  1. Create an Order with one order line with quantity such as 40.
  2. Make sure that all 40 quantities are available at 40 different nodes.
  3. Call scheduleOrder API.
Scenario 2: The status of the order is not changed to the Scheduled status when user completes the following steps:
  1. Create an order for a serial tracked item with one order line that has 250 quantities.
  2. Schedule and release the order.
  3. Call createShipment API with confirmShipment as Y and pack all 250 quantities in a container with 250 different serialNo.
580762 Internal Demand and Supply is deleted by Inventory Purge without considering retention days.
580054 TS001841497 The YFSGetExternalOrderForReturnUE user exit is deprecated and the functionality is no longer supported.
576737 Internal The ExpectedShipmentDate and capacity consumption is not updated correctly when the steps are completed:

Configuration:

  1. Application Install locale/time zone is UTC i.e GMT+00:00. The NODE1 locale/timezone is PST i.e. GMT-07:00.
  2. NODE1 has a working calendar of 08:00 to 22:00 and end of shift is enabled.
  3. Inventory capacity is defined for NODE1.

Steps:

  1. The current working date and time at NODE1 is 2019-03-01 21:00.
  2. Create an ASAP order for an Item at NODE1.
  3. The ExpectedShipmentDate for order at NODE1 on scheduling is 2019-03-02 22:00 and capacity consumption is recorded for date 2019-03-03.

Solution:

  1. Set the yfs.useNodeLocaleTimeForCapacityCheck to true.
  2. Create a slot group with non overlapping slots which are in sync with Node working hours i.e. 08:00-22:00.
  3. Create Inventory resource pool with defined slot group.
  4. Upon scheduling, orders for NODE1 will have ExpectedShipmentDate and capacity consumption based on Node working hours as per Node locale.
579679 TS001833084 For items with IS_PICKUP_ALLOWED set to N or BLANK, inventory alert records are created with Delivery Method "SHP" even when the monitor rule assigned to the item is created for only Delivery method "PICK".
581315 Internal Cannot get the source timestamp for demand integration with IV.
581562 Internal Condition:
  1. Create a SalesOrder with header level charges and discounts and take it to completion till shipped and invoiced.
  2. Create a corresponding returnOrder for the sales order (sales order should be completely returned).
  3. Run processReturnOrder with OMPGetReturnOrderPriceUE implemented to make header level discounts and charges to zero in return order. OMPGetReturnOrderPriceUE output still considers RO's header level discounts and charges for calculation.

Operation: Invoke processReturnOrder API

Configuration: OMPGetReturnOrderPriceUE should be implemented

Solution: OMPGetReturnOrderPriceUE output behaves in sync with its UE implementation logic.

581565 Internal Problem: The onDelete event of JsonWriteStore used for grid data takes considerable execution time when the grid has large number of records.

Solution: Introduced an extensibility property "Ignore OnDelete event on grid refresh" that prevents triggering of onDelete event of JsonWriteStore when set to true. The default value of the flag is false.

581568 Internal Expected Shipment Date is calculated incorrectly during resourcing when the following steps are completed:
  1. Adjust inventory for an Item, such as ITEM_1 at NODE_1.
  2. Create order for ITEM_1 at NODE1.
  3. Schedule and release the order.
  4. Create shipment with ExpectedDeliveryDate as future date.
  5. Complete record shortage for the orderline. The status of the order changes to Backorder.
  6. Schedule the order again.
  7. ETS and ETD appear as future dates.
579507 Internal Condition: Have an implementation logic for UserExit YDMOverrideDetermineRoutingUE as class only and not as service, to avoid class cast exception

Operation: Factory setup through FP installation process should be executed to mark Flow_Designable column in YFS_User_Exit table to N against this UE.

Configuration: Users cannot implement the user exit as a service, rather implement as java class.

Solution: FP installation process disables the "Invoke through Service" configuration in YDMOverrideDetermineRoutingUE UE tables, because the product design exposes this UE Implementation as class based one.

580193 Internal When RTAM is run in OP2, quick sync with FromLastNumberOfHours set, only the first alert for each item was picked up.
581420 Internal Current Behavior: The end user cannot create the custom attribute because the required Value Type (drown- down menu) is not populated in the Object Extensibility screen.

Expected behavior: The end user can create the custom attribute and the Value Type (drown-down menu) is populated with Boolean, Date, Decimal, Integer, and Text.

581006 TS001959660 Calling changeOrderSchedule on chained order sets the fields CHAINED_TO_ORDER_LINE_KEY and CHAINED_TO_ORDER_HEADER_KEY on the YFS_ORDER_RELEASE_STATUS table to null. The fix ensures that these fields are set and the link is maintained.
582176 TS002046300 Current behavior: In Sterling Business Center (SBC) the switch to drop-down width does not grow dynamically with the longest organization name.

Expect behavior: In Sterling Business Center (SBC) the switch to drop-down width grows dynamically with the longest organization name.

582593 Internal Problem: When Inventory Visibility (IV) integration is enabled, the on-hand supply quantity does not reduce in IV when an order is created and shipped.

Solution: ActualSupplyReference and ActualSupplyReferenceType attributes are introduced for the supply change list and supply sync events. These attributes will be used to send the supply reference to IV.

To use the attributes, the extended event templates for INVENTORY_CHANGE.SUPPLY_CHANGE_LIST and INV_SNAPSHOT.SUPPLY_SYNC must be updated with the new attributes. For information about how to update the extended event templates, see step 1 in Deploying Sterling Order Management for integration with Inventory Visibility.

9.5.0.28

Defect ID PMR # Description
577466 Internal
Condition:
  1. Create an order line (line1) with the delivery method as CARRY for unit price, say 15$.
  2. Add an order line (line2) with the delivery method as CARRY for the unit price 15$ by using calling the changeOrder API.
  3. Add an order line (line3) with the delivery method as PICK, with unit price 15$ and a discount of 5$ for each line in the changeOrder API call.
  4. Now the grand total of the order and RemainingToCharge attribute in getOrderDetails API calls is 30$ with RemainingToAuthorize attribute being 0$.
  5. Ideally, RemainingToCharge attribute in the getOrderDetails API calls should have been 20$ with RemainingToAuthorize attribute being 10$.

Operation: Invoke createOrder and changeOrder APIs sequentially as mentioned under Condition.

Configuration: NA

Solution: With the fix, the RemainingToCharge attribute in the getOrderDetails API calls is 20$ and RemainingToAuthorize is 10$ for the mentioned use case.

577102 Internal Configuration: NA

Condition: Exposing properties in the required format so that the same could be managed through database.

Operation: Edit sandbox.cfg to set the DATABASE_PROPERTY_MANAGEMENT=true, and run setupfiles.cmd/sh and loadProperties.cmd/sh

Solution: The properties that are introduced must be manageable in the database as well when DATABASE_PROPERTY_MANAGEMENT is enabled.

579439 TS001855396 Condition: Create a sales order and take it till shipment shipped. Invoice the order, but do not collect the amount.

Operation: Invoke getCompleteOrderInvoiceDetails API with the template that includes the Balance attribute in the InvoiceHeader element.

Solution: Balance should populate the difference between the total amount and collected amount.

575171 TS001167554 The content in the following topics are updated appropriately:
579606 Internal If the nodes being monitored are greater than 9999, the availability for an item at some nodes do not get published by RTAM.
577945 TS001620287 The Authorization Expiration Date on the order header is not set to current date when a user performs the following steps:
  1. Order is in the Paid status.
  2. Creates a Debit memo.
  3. Creates a Credit memo.
  4. Runs processOrderPayments.
Configuration: The following options are enabled:
  • Do Not Consolidate Settlement Or Refund Requests Across Invoices
  • Do Not Allow Debit And Credit Invoices To Settle Each Other
579582 Internal For the resource pool of type RELEASE, an incorrect node capacity consumption is observed when a user performs the following steps:
  1. Create a node, say STORE_1. Configure sourcing such that this node is considered.
  2. Create ITEM_1 and adjust inventory for this item in STORE_1.
  3. Create Resource pool RP_1 at STORE_1 of type RELEASE.
  4. Create an order with Order Line Reservation at current date for ITEM_1 and STORE_1. Make sure 1 capacity is consumed for Resource pool RP_1.
  5. Call scheduleOrder and releaseOrder APIs in a multi API call.
579609 Internal
Condition:
  1. Create a sales order with 2 quantity in an order line worth 8$ unit price, take it to completion, marking it invoiced and paid.
  2. Create a return order for 2 quantities and corresponding advance exchange order only for 1 quantity worth $9.9, take advance exchange order to completion and invoice the same.
  3. Authorize the return order.
Operation:
  1. Invoke createOrderInvoice API and run requestCollection API on return order line1.
  2. Invoke recordInvoiceCreation and changeOrder APIs for providing a credit memo of $5.
  3. Run requestcollection API on an exchange order.
  4. Invoke createOrderInvoice API and run the requestCollection API on return order line2.
  5. When you run the requestCollection API on an exchange order, an infinite loop error is encountered.

Solution: With this fix, on calling the requestCollection API for an exchange order does not result in infinite loop. The nature of the fix is to correct the distribution happening between the first partial transfer ($8) from the return order and invoice ($9.9) of the exchange order.

580453 Internal Applications Manager can be launched not only with Internet Explorer but also with other browsers by using Java Web Start launcher. The following topics are updated appropriately:
576762 TS001487915 The getPage API returns twice as many records are requested in the input.
579587, 579525, 579531 Internal

Problem: Product does not honor the ON HAND only sourcing rule detail configuration.

Solution: Product is enhanced to consider the future inventory window attribute from sourcing rule details. Based on the number of days set in the Future Inventory window, the available supplies are now filtered.

479329 Internal The Factory setup for IBM Sterling Order Management and Merchandising Workspace integration services are added.
579516 Internal If the overall order total change is 0, you cannot modify order line charges post invoicing.
579519 Internal Date-Time is not converted as per user's local time zone in the shipment audit page.
579528 Internal Product documentation is updated with the description for the yfs.synchLoadedInventory.MultiRec property. For more information, see Inventory management yfs.properties.
579534 Internal Problem: An order is back ordered during scheduling when the following steps are performed:
  1. Create an always tag-controlled item, say ITEM_1.
  2. Adjust the inventory for ITEM_1 along with segment information at NODE1 with quantity 1.
  3. Reserve inventory for ITEM_1 and NODE1 by using the reserveAvailableInventory API.
  4. Create an order and make sure the above reservation is consumed.
  5. Schedule the order.

Solution: Reservation for segmented inventory is now considered as supply during scheduling.

579082 TS001604429 An amount of $5 excess transfer is created from return to exchange order when a user performs the following steps:
  1. Set the property, yfs.yfs.calcPlanRefForAllSuppressRefSettleWaitTillReturnInv=Y.
  2. Create a return order for $100.
  3. Create an exchange order for $105.
  4. Add a payment method to exchange order and settle $5.
  5. Create an invoice for the return order. A transfer out from return to exchange is created for $100.
  6. Call processReturnOrder on the return order. A transfer out of excess $5 is created from the return order to the exchange order.
577165 TS001650840 The application is enhanced to work with JBoss EAP 7.2 version. JBoss related documentation is updated to reflect all the required changes. For more information, see the following topics:
Notes:
  • The JBOSS_6, EJB_3_ENABLED and JBOSS_PRECOMPILE_JSP properties are no longer required in the sandbox.cfg file for JBoss EAP after this fix pack is installed.
580770 Internal

Problem: In the Configurator UI, when a decimal value is entered in the QTY field, continuous pop error occurs.

Solution: Product is enhanced to fix the continuous pop error.

580197 Internal A security issue is addressed. For more details, contact IBM Customer Support.
580189 Internal A security issue is addressed. For more details, contact IBM Customer Support.

9.5.0.27

Defect ID PMR # Description
550699 67339,277,000 The Foundation Upgrade reports broken link has been fixed. For more information see, Upgrade Reports for IBM Sterling Order Management.
570513 Internal When prioritization is enabled for Distribution Group, intermittently Null Pointer Exception (NPE) is observed in RTAM.
573004 Internal When consolidateAdditionalInventory agent is run for the yfs_inventory_demand_addnl records, created because of Hot SKU, orphaned records are observed in the YFS_INVENTORY_DEMAND_DTLS table.
574794 Internal For Oracle database, if NLS_LENGTH_SEMENTICS is set as CHAR before creating tables, and DB driver version is 11 or more, the DBVerify tool generates alter statements for the table to reduce the column length. This happens even when the database column length is more than the entity XML column length.
574797 Internal In the YFS_STATISTICS_DETAIL table, the length of the CONTEXT_NAME column needs to be increased to match the maximum length of the User Exit names.
576096 TS001478548 Java wrapper processes of sender utility are not being exited automatically.
576416 Internal

Problem: If multiple supply records are available for a supply that is getting updated, incorrect inventory picture is observed after syncLoadedInventory API.

Solution: A new property, yfs.synchLoadedInventory.MultiRec, has been added. When this property is enabled, the syncLoadedInventory API calculates the inventory picture against multiple supply records. For more information see, Inventory management yfs.properties

576546 TS001323178 The documentation related to yfs.massageapiinput.registerextnpoint property has been updated. For more information, see Enabling data access policies override.
576829, 577474 TS001610959 A new property, ycd.ignorepickupstatus, has been added to control whether shipment status information is always displayed for PICK orders. If this property is set to "Y", the Where is my shipment button in the Commerce Call Center application UI always displays the shipment information regardless of pipeline status. For more information see, Order management yfs.properties
576906 TS001595491 A Null Pointer Exception (NPE) is observed in the getATP API when Nodes have non-tracked inventory and inventory item does not exist in the DB.
577472 Internal In the product documentation, the reference to the yfs.properties for the inner hint has been changed from yfs.<agent_criteria_id>.getjobs.hint.inner=/*+ NL_SJ */ to yfs.<agent_criteria_id>.getjobs.hint.inner=/*+ NL_AJ */. For more information refer to Schedule.
577478 Internal

Problem: When an Order has two free gift lines applied due to promotion and both the free lines are then canceled, an error is thrown.

Solution: After the fix, when an Order has two free gift lines applied due to promotion and both the free lines are then canceled, no error is thrown.

577480 Internal The yfs.yfs.persitCapacityAdjustments property is used to push DB updates for capacity to the commit of a transaction. The functionality has been enhanced to handle an additional scenario when scheduleOrder API is run on an order with a reservation.
578537 Internal The manageItem API Javadocs description of the behaviour of InsertMissingAttributeAllowedValues flag has been changed.
578636 Internal

Problem: Realtime Activity Based Monitor in activity based mode (01) has been enhanced to consider only specific activities.

Solution: As part of this change, two properties has been exposed, as specified below:
  • Set yfs.RTAM.ActivityPurposeToConsider= [ "," separated list of purpose ] to make RTAM activity based consider only the activities with "purpose" specified in list in this JVM or agent server. For example, yfs.RTAM.activityPurposeToConsider=70,90
  • Set yfs.RTAM.ActivityPurposeToExclude= [ "," separated list of purpose ] to make RTAM activity based not to consider only the activities with "purpose" specified in list in this JVM or agent server. For example, yfs.RTAM.ActivityPurposeToExclude=70,90
Note:
  • If the property is not specified in a JVM, the default behavior of processing all activities by MO-1 is considered.
  • Full sync shall continue to process all items.
  • Both properties cannot be defined for a JVM.

9.5.0.26

Defect ID PMR # Description
574806 Internal The Javadoc is updated for the loadCustomPricingRuleUE user exit.
574809 Internal

Problem: Sub models in dynamic instantiation are not stable. Multiple child items are seen during reconfigure, after model change for models with dynamic instantiation.

Solution: The product code is enhanced to handle model changes and to allow reconfigure gracefully.

575702 TS001383181

Issue: On deletion of a category (after certain actions like moving an item from the category), it is still seen on the left panel of Sterling Business Center under the catalog tree.

Resolution: On deletion of a category (after certain actions like moving an item from the category), it should not be seen on the left panel of Sterling Business Center under the catalog tree.

570877 TS000919687

The yfs.hotsku.updateInventoryAfterAPIOutput property is introduced to alter when inventory database updates happen during a transaction. Set this property to "Y" to commit inventory updates to the database after the API output. If this property is set to "N", then inventory updates are committed to the database at the end of the transaction. By default this property is set to "N" and it is only applicable when yfs.hotsku.lockItemOnInventoryChanges is "N".

This property is introduced to handle the case where yfs.yfs.hotsku.lockItemOnInventoryChanges=N and the modifyFulfillmentOptions API is called on a scheduled order with the last remaining quantity of an item. The Sterling Call Center application throws the error "Inventory not Available for Order Line" because the API is trying to unschedule and reserve the remaining quantity in the same transaction.

575617 TS001429425 RTAM in Quick Sync Mode is not accepting the extended REALTIME_AVAILABILITY_CHANGE_LIST event template.
573606 TS001228812 If Capacity Slot Groups are configured, capacity consumption for the promising API's does not work as expected, if the application install locale and Node locale are in different time zones.
574733 Internal If range-based pricing is used, the pricing engine does not look up prices for items without attributes, when other items in the API call have attributes.
576035 Internal When backward compatibility is enabled for payment, by setting the yfs.payment.persistCtrMaps to Y, deleting a managed transaction request for an expired authorization does not take care of deleting associated records in the YFS_CHARGE_TRAN_RQ_MAP table.
576727 Internal The yfs.hotsku.updateInventoryAfterAPIOutput property is introduced. For more information, refer the following topics:
Inventory management yfs.properties
Hot SKU control parameters
576700 64182,442,000 The "Create a Resource Pool" topic is updated with an appropriate note.
Note: For reference: Create a Resource Pool
575057 Internal A security issue is addressed.
Note: For more information, contact IBM Support.
576910 Internal Deployment of EAR on the WebSphere Application Server fails with error "org.eclipse.wst.common.internal.emf.utilities.FeatureValueConversionException: IWAE0014E Failed to convert ASYNC to Enumeration."
576699 TS000887864 Shipment records without shipment lines are purged by Purge Shipment transaction even though the corresponding Purchase Order is present in the YFS_ORDER_HEADER table.
573861 TS001251968 Option classes that are displayed in the output of the generateConfigurationBOM API should be in the same sequence as defined in the model.
576701 TS001396830 For pricing rule assignment and pricing rule seller assignment, if the assignment ID is not passed, a new assignment is created. This issue is fixed by using the key fields other than the assignment ID to retrieve the assignment. If you need to have two different assignments or more, with the same default column values, but different extended column values, then the assignment ID must be passed. Additionally, the fix makes sure that an assignment ID is assigned to the assignments that are created because of global assignment (CreateGlobalSellerAssignment, CreateGlobalCustomerAssignment)
574717 TS001164951 The YFS_Order_Header and YFS_Opportunity entity definitions are updated to support resizing for multibyte characters and to define CUSTOMER_FIRST_NAME and CUSTOMER_LAST_NAME data types to be PersonName, matching the YFS_PERSON_INFO table.
574432 Internal Problem: When an agent's executeJob method or an integration service throws an error, there is a gradual memory buildup inside the ErrorContextMediator object that is associated with the agent or integration server. If many errors are thrown over a long period, then it might cause an OutOfMemory error.
573976 TS001248337 Intermittently, a NullPointerException is observed in the execution of the reserveAvailableInventory API, while reading the resource pool capacity.
575570 Internal

Problem: Intermittently, optimization of the cost or number of shipments does not result in an optimal solution. The problem is observed in multi-line scenarios, where the required quantity on order lines cannot be fulfilled from any single node.

Solution: Set the yfs.yfs.solver.exploreMoreNodeDateOptions property to true in the customer_overrides.properties file to see the change in behavior. MaximumRecords must be set to a higher value to see optimal solution when this property is enabled.

575616 TS001430306 Creating an Order by passing the Order/PriceInfo@TotalAmount causes the TotalAmount to show double the actual total amount.
Note: According to the Javadocs, the attribute is not expected and should not be passed.
575767 TS001424127 Updated the adjustedInventory API in the Javadocs to include the following note: The ABSOLUTE adjustment type is not meant for supplies with INFINITE availability type.
575040 Internal A security issue is addressed.
Note: The config XML is changed, rebuild your customizations to reflect the fix in the web.xml
575784 TS001407590 The send invoice agent processes the same invoice multiple times.
574800 Internal

Configuration: NA

Condition: NA

Problem: Hung-thread is observed when a user tries to reconfigure a bundle item.

Solution: The product code is enhanced to fix the hung-thread issue.

575235 TS001381926 The return order screen in the application Sterling Store does not display properly, if the customer's name contains the "Ā" character.

9.5.0.25

Defect ID PMR # Description
573843 Internal Configuration: Create a shareable assignment for a pricing rule, create customers C1 and C2, where C1 is the parent of C2. Pricing rule is assigned to Customer C1.
Condition: N/A
Operation: Call the getOrderPrice API and pass C2 as the customer.
Problem: Pricing is not applied on the order.
Solution: N/A
575173 TS001357715 Problem: In the Catalog Management Screen of Sterling Business Center, when a user performs a basic search for adding an item to a category, all the items, including the ones that are already assigned to the current category are displayed.

Solution : Only those items which are not assigned to the current category are displayed.

574930 TS001364810 Incorrect container or shipment details are displayed in Sterling Call Center for an order with a chained transfer order or procurement order.
573279 Internal The processReturnOrder API considers a partially returned order as fully returned for orders with multiple shipments. This results in incorrectly refunding the header charges.
569285 TS000803862 Catalog index build fails intermittently when the agent is run with multiple threads.
574092 TS001228554 The drop-down lists in the Dojo-based Sterling Store screens may not work in the newer mobile versions of Google Chrome.
575122 Internal The BC mode property, yfs.manageCustomer.create.businesscustomer.bcmode is not read correctly when passed as a system property.
572679 TS001075353

Problem: The CSRF token authentication error is observed when the Enter key is pressed in the report/record receipt screen, while focus is on the Receiving Quantity text box.

Solution: Both the Enter key and the Save button in the report/record receipt screen can receive items, pressing the Enter key does not throw the CSRF token authentication issues anymore.

573497 TS001187586 The getOrderList API is enhanced to return a list of orders based on the TotalAmount and Currency attributes as input criteria.

For more details, see the getOrderList API Javadocs.

575396 TS001384528 DBClassGenerator does not use the right statement variable for the setValuesOnDeletePreparedStatement method for the numeric datatype, as a result, the ‘dbclassgen’ target returns the 'cannot find symbol' error, when the Datatype of the primary key of an extended table is ‘NUMBER’.
574724 Internal When the full set of available attributes is not used in the range-based pricing, there is a noticeable white space between some of the attribute fields.
574430 Internal The extended tag attributes are not read by the createOrder API, when the out-of-the-box 'OrderLineInvAttRequest' element attributes are not passed in the input of the createOrder API.
575149 TS001317389 A YCP0427 error is observed when a user performs the following sequence of actions:
  1. Configures a Synchronous service as Start-->DB(YFS_EXPORT)-->Stop.
  2. Enables the ON_SUCCESS event for Resolve Exception transaction.
  3. Configures an action on ON_SUCCESS event to call the configured service as part of step 1.
  4. Creates an asynchronous service (Start-->JMS(Is Reprocess is checked)-->API (createOrder)-->Stop.
  5. Sends the incorrect createOrder input XML to the new service such that an error occurs while processing the message.
  6. Corrects the input message and marks the exception for reprocessing.
  7. The Integration server picks the message from YFS_REPROCESS_ERROR table for reprocessing.
575564 Internal The createOrder API does not consider the reservations created for items with segments.
575566, 575562 Internal The OMPGetExternalCostForOptionsUE suppresses the Transfer Order creation, if the ShipNode does not have any inventory.
574791 Internal Intermittently, an infinite loop is observed while consuming capacity during daylight saving change in the findInventory API.
575054 Internal A Security issue is addressed here.
Note: For more details, contact IBM Customer Support.

9.5.0.24

Defect ID PMR # Description
574652 Internal Configuration: NA

Condition: Valid values for the new flag "InsertMissingAttributeAllowedValues" at ItemList level is Y/N. Default value is N

Operation: Invoke manageItem api with Action=Manage

Solution: Default behaviour of "InsertMissingAttributeAllowedValues" flag was not honored and is set to N as part of this release during manageItem API call.

570412 Internal The Realtime Activity Based Monitor in the activity based mode (01) has been enhanced to consider only the specific activities.
As part of this enhancement, these properties have been exposed that must be configured as follows:
  • Set yfs.RTAM.ActivityPurposeToConsider= [ "," separated list of purpose ] to make RTAM activity based consider only the activities with "purpose" specified in the list in the JVM/agent server. For example, yfs.RTAM.activityPurposeToConsider=70,90.
  • Set yfs.RTAM.ActivityPurposeToExclude= [ "," separated list of purpose ] to make RTAM activity based not to consider only the activities with "purpose" specified in list in the JVM/agent server. For example, yfs.RTAM.ActivityPurposeToExclude=70.

If you do not specify the property in a JVM, by default all the activities are processed by MO-1. However, you cannot specify both the properties for a JVM.

Note: Full sync continues to process all the items.
574405 Internal Problem: When user calls modifyCategoryItem API in multi threaded mode, an error, "YFC0009", is displayed in the logs for YFS_CATEGORY table, when API input have multiple items sharing the same category.

Solution: A new yfs property, yfs.searchIndex.UpdateCategoryModifyTS, has been introduced to prevent update of ModifyTS on category during modifyCategoryItem API call. If yfs.yfs.searchIndex.UpdateCategoryModifyTS=N is set in the customer overrides properties, the ModifyTS on category is not updated.

For more information, see Catalog Management yfs.properties.

573781 TS001253748

A potential performance issue related to DB Entity cache has been addressed.

574233 Internal

Intermittently Null Pointer Exception is observed in getAvailabilityCache when it is reading ship to address.

574002 Internal

Other than default organizations, an error is thrown when saving a price list that uses the Order Attribute feature.

574826 Internal Security issue has been addressed.

9.5.0.23

Defect ID PMR # Description
571966 TS001071657

A Null Pointer Exception is thrown for scheduleOrder API when a hot SKU is enabled along with YFSGetExternalInventoryForItemListUE

573000 Internal

Problem: A Lock timeout detected error is thrown when a customer clicks Finish Pickup.

Solution: RecordCustomerPick API has been enhanced to pass SelectMethod from API input to internal changeOrder API call. The changeOrder API uses this SelectMethod to acquire a lock on the order header.

573002 Internal

In the yfs_organization table, the customer_master_org_code is defined, but in the configurator the customer_defined_by_value is blank. This results in an error "Customer organization must be defined when Organization does not define own customer" when a customer is trying to save the organization.

571978 TS001100520

The Javadocs of YFSPurgeOrderToExternalDataStoreUE and the product documentation Purge order details to an external system have been updated with the correct information.

573397 Internal
The ImageFetcher logic that is used for fetching and caching images for display in RCP applications does not ignore GET parameters in the URL. This results in invalid file names with "?" in the cache file, which prevents the file from being written to cache and hence does not display the image in RCP UI.
Note: You must install the latest Sterling Call Center, version 9.3 fix pack to resolve this issue.
570412 Internal

Customer is requesting to process Bundle Items alone through Realtime Activity Based Monitor agent.

570623 TS001031293

Incorrect on-hand available quantity is getting calculated in YFS_INVENTORY_ALERTS on implementing YFSGetOverriddenDGForItemUE when extra ship nodes are being added to some Distribution groups, which are being monitored.

570387 TS000985059 Problem: Agent Server fails to start intermittently with an error, "DataType specified does not exist in DataTypes.xml (ResourceName)".

Solution: Initialization of entity repository is fixed to take place only once even if it is called by multiple threads.

558655 79479,L6Q,000

Problem: The output of getAvailabilityCache API doesn't show any information about future quantity or its availability.

Solution: The Javadocs of getAvailabilityCache API has been updated to include following attributes:

FirstFutureAvailableDate

FutureAvailableDate

FutureAvailableQuantity

OnhandAvailableDate

OnhandAvailableQuantity

572270 TS001139403

Actions performed by user are not captured in trace when User Tracing is enabled with single-sign on implementation.

571861 Internal

Problem: GetShipmentContainerList is not implementing SelectMethod passed when template has container details.

Solution: SelectMethod is set as WAIT, only if it is not passed in the input.

573246 TS001193454

In the processOrderPayments API, when attributes other than PaymentKey and SecureAuthenticationCode are passed to the PaymentMethod, the SecureAuthenticationCode may not be used by the payment collection user exit.

572345 TS001145252 When a user calls the modifyCategoryItem API in the multi threaded mode, an error "YFC0009" is seen in the logs for YFS_CATEGORY table, when API inputs have multiple items sharing the same category. A new yfs property yfs.searchIndex.UpdateCategoryModifyTS has been introduced to prevent update of ModifyTS on category during the modifyCategoryItem API call. If yfs.yfs.searchIndex.UpdateCategoryModifyTS=N is set in customer overrides properties, then ModifyTS on category will not be updated.
569173 TS000887466 Entry is not getting created in the YFS_TASK_Q table when an order is restored using restoreOrder API. Therefore, the order is not getting purged again.
573466 TS001152118 For RTAM in activity mode, Bundle Parent is being monitored at all nodes of Distribution group, if component item has activity for any Node in the Distribution Group.

9.5.0.22

Defect ID PMR # Description
569944 Internal

In Internet Explorer 8, the Sterling Business Center home page is not displayed after login.

Documentation is updated for recommending users to use the latest version of Internet Explorer browser. For more information, see Log in to IBM Sterling Business Center topic.

570595 TS000978686 The @CreateForInvItemsAtNode attribute is removed from the createInventoryActivityList API Javadocs, as it is a deprecated feature.
570782 Internal Enhancement for tag attribute remove feature on an order line when an item is "sometimes tag-controlled".

Solution: A new attribute 'Action' is introduced under the OrderLineInvAttRequest element for the changeOrder API. For more information, refer Javadocs.

571173 Internal

Problem: The validation and override rules caches are not being refreshed after a change project is imported. This might cause incorrect evaluation of these rules if they are changed by a change project import.

Solution: If a change project contains data that is being used by validation or override rules, the caches for these rules are flushed.

571176 Internal The action of modifying the price on an order line that is already in order delivered status, triggers MODIFY_WORK_ORDER and blanking out of the PromisedApptStartDate, CurrentWorkOrderKey, and PromisedApptEndDate for an order line.
571512 Internal
Pricing engine is enhanced to enable order attributes to control the price of an order. If the feature is enabled, the price lists and pricing rules can be selected based on predefined attributes when making calls to the pricing engine. This feature is supported by the following APIs:
  • getOrderPrice
  • managePricingRule
  • managePricelistHeader
  • copyPricelist

For more information about this enhancement, see Overview of order attribute based pricing.

571668 Internal Sterling Order Management is enhanced with the capability to integrate with Watson Order Optimizer (WOO) through Universal Behavior Exchange (UBX), a common data-exchange platform. For more information, refer Data integration between Sterling Order Management and Watson Order Optimizer.
571859 Internal Problem: When a refund is initiated in Sterling Order Management, the refund calculation includes pending charges even though not collected, overriding the use case where pending charges could error out.

Solution: Ensure that the rules, "DonotConsiderPendingCharge" is set to "Y" and "AllowRefundToExceedChargeAmount" is set to "N". This configuration ensures that the pending charges are not considered during refund calculations.

571863 Internal Excess Authorized amount is displayed as Amount to Charge in the Payment Confirmation screen, when a user performs the following sequence of actions:
  1. Configures a payment method, say Credit Card, with Authorization reversal strategy set to do not reverse.
  2. Enables the Do Not Consolidate Settlement Or Refund Requests Across Invoices financial rule.
  3. Creates on order of $100 and authorizes it on credit card for $100.
  4. Adds a line for $30 and authorizes the $30 on credit card.
  5. Cancels order line of $50.
  6. Amount to charge is displayed as $130 instead of $80.
  7. Ships the order and creates the invoice.
  8. Opens the order in the Call Center for Commerce application and navigates to Payment Confirmation screen.
  9. Amount to charge is displayed as $30 instead of $0.
571865 Internal The processOrderPayments API throws an error and does not apply hold on order when applied during executeCollection UE execution.
571459 TS001080456 The fix pack installer is enhanced with supported platforms property to support ppc64le OS.

9.5.0.21

Defect ID PMR # Description
555226 27363,000,834

The application is enhanced to execute and apply discounts sequentially and non cumulatively when the rule, Process pricing rules sequentially by exclusivity ID, is enabled and the rule, Apply Rules Cumulatively, is disabled.

For Example: Consider two Exclusivity Groups, with sequence number 200 and 100 respectively and each group has a pricing rule, which gives a discount of 10% on each item. Suppose if the order total is $100.
  • When the rule, Process pricing rules sequentially by exclusivity ID is enabled, and the rule Apply pricing rules cumulatively, is disabled. Rules are executed from seq 200 and 100, giving discounts of $10 and $10, making total discount to $20.
  • When the rule, Process pricing rules sequentially by exclusivity ID is enabled, and the rule Apply pricing rules cumulatively, is also enabled. Rules are executed from seq 200 and 100, giving discounts of $10 and $9, making total discount to $19.
566817, 571537 Internal

Problem: The Applications Manager, System Management Console, and Channel Applications Manager need to be supported on Java™ Web Start technology with WebSphere® Application Server.

Solution: To use Java Web Start technology with WebSphere Application Server for launching Applications Manager, System Management Console, and Channel Applications Manager, the below system argument must be added in the WebSphere Application Server start up parameters.
-Dyfs.jnlp.forceCookieVersionZero=true
570181 TS000956685 Real Time Availability Monitor is considering future inventory with availability date beyond lead days.
570249 TS000996669 For DB2® database, an incorrect error is displayed when createOrder API is called with RequestedDate attribute having incorrect year value, such as greater than 9999.
571336 TS000802162 The product is enhanced to consider priority over discounts across the exclusivity type [ALL, RULE_TYPE_ITEM, RULE_TYPE_ITEM_INST, RULE_TYPE_ORDER] within the same exclusivity group. To enable this use case, a new rule, YPM_RULE_CONSIDER_PRIORITY_ACROSS_EXCLUSIVITY_TYPE_WITHIN_ID, is added. By default, the rule is set to "N" but you can set this rule to "Y" to consider priority over discount amount.
Note: When comparing rules across exclusivity type, the rules of type ALL are assigned a priority of 0. Rules that belong to the Exclusivity Types (ONE_RULE_WITHIN_ID, GLOBAL) are not affected by this enhancement and continue to be evaluated based on the adjustmentAmount.

9.5.0.20

Defect ID PMR # Description
570632 Internal Problem: When the Inventory Visibility Adapter is enabled, the getItemListForOrdring API should call the OMPGetInventoryFromCacheUE user exit.

Solution: This issue has been fixed. Also, the documentation has been updated.

For more information about the enhanced, see Fetch inventory availability from Inventory Visibility.

563738 75775,020,649 Problem: The CategoryID field does not support certain special characters. Therefore, if the searchCatalogIndex API is called, and the CategoryID contains the unsupported special characters, it results in an incorrect item count.

Solution: The documentation has been updated to list all the unsupported special characters.

For more information about the unsupported special characters, see Create a category in IBM® Sterling Business Center.

568592 TS000873011 Problem: The hang-off tables without the lockid column are having a lockid set during update.

Solution: Check for the lockid column during the generation of the update statement.

570406 Internal If the overall override records for the eligible nodes contain more then 1000 records, the Resource Pool Capacity override is not considered for some of the nodes.
570661 Internal In the API Javadocs, the description for LinePriceID attribute is updated.

For the updated description, see the YPMGetOrderPriceUE Javadocs.

568346 Internal As the old certificate is expiring, all the UI jars are signed with a new java code signing certificate. The new certificate is valid until June 29, 2021.
570598 Internal The Javadocs is updated to document the behavior of manageCustomer API default values, if not specified in the API input.
565224 88141,122,000 Problem: As the default value of the yfs property, scwc.value.mapping.file is incorrect, the WCS-OMS integration services fail with "java.io.IOException" because the mapping file is not found.

Solution: The default value of the yfs property, scwc.value.mapping.file has been corrected.

568935 TS000879471 The Purge Inventory Reservation agent does not consider the segment type while updating the YFS_Inventory_Demand table.

9.5.0.19

Defect ID PMR # Description
554182 75613,020,649 The API java docs for API, registerProcessCompletion, needs to be corrected for the <MapKeys> element in the API input. The key name in the <name> <value> pair should be the "entity table key name" instead of "entity table name".
557794 16622.227.000 The API java docs has been corrected to show the correct description and data type for @AllocationLeadTime and @AllocationDate attributes. For more information about these attributes, refer to getOrderDetails API java docs.
559366 91867,442,000 Documentation is appropriately updated for gulp and its dependencies. For more information, see Installing gulp and its dependencies topic.
561323 Internal The Fulfillment Network Model tab is not opening in the Applications Manager.
562960 10561,000,766 This enhancement allows you to massage API input before every API call. If the User Exit YCPMassageApiInputUE is implemented, it is invoked before every API call. Additionally, the following three screens in the Application Manager are modified such that the exposed APIs are called instead of the entity APIs.
  • Application Platform > Participant Modelling > participant setup
  • Application Platform > Security > users
  • DOM>Distributed Order management >Customer
For more information, refer to Javadoc.
564718 05340,122,000 Documentation is appropriately updated for unit of measure configuration. For more information, see Unit of measure topic.
564927 08841,442,000 Inventory Audit is not being updated when lockItemOnInventoryChanges=N.
565192 02001,227,000 A null pointer exception is displayed, when a user performs the following sequence of actions:
  1. Enables the dynamic distribution logic in the financial rules.
  2. Creates an order and moves it to the Shipped status.
  3. Creates a return order with ProcessPaymentOnReturnOrder=N.
  4. Purges the Sales Order and the Return Order.
  5. Restores the Sales Order.
  6. Calls the getOrderList API for the Sales Order with the output template that has @ChargeTransactionDetail element.
565297 Internal GDPR services do not work in non-DEFAULT colonies.
565312 20173,L6Q,000 A null pointer exception is thrown by a service when calling getRegionList API for a new region and then calling changeRegion API to delete that region. Additionally, a null pointer exception is thrown when disabling entity transaction cache.
565374 Internal Documentation is appropriately updated for Elastic search changes required before enabling the GDPR feature. For more information, see the Assumptions and limitations section in the General Data Protection Regulation (GDPR) support topic.
565521 Internal Problem: When createUserHierarchy API is called, even though there is no change happening in Organization, the API validates YFS_ORGANIZATION.SYNC_TARGET_ID with YFS_SYNC_TARGET.SYNC_TARGET_ID.

Solution: Since createUserHiearchy API does not make any changes in Organization, it should not validate YFS_ORGANIZATION.SYNC_TARGET_ID with YFS_SYNC_TARGET.SYNC_TARGET_ID.

565524 Internal The query formed for elastic search when API input has Lucene special characters does not return any ColonyId. Hence, the order details cannot be obtained from the colony.
566709 06119,442,000 The searchCatalogIndex API does not consider specific seller assignments while filtering items based on price range.
566716 22015,L6Q,000 Inventory Capacity Consumption is not getting removed on canceling reservation for resource pool having Capacity UOM Release and when there exists a reservation with same Reservation ID but with different demand type.
567430 Internal The requestCollection API is not calculating the TotalAltRefundedAmount correctly for the sales order payment method when a return order is partially invoiced and the yfs.calcPlanRefForAllSuppressRefSettleWaitTillReturnInv property is enabled.
567432 Internal The changeOrderSchedule API has been enhanced to support SelectMethod in the API input. For more details on this attribute please refer to API java documentation.
567434 Internal The monitorItemAvailability API calls are creating deadlocks. The locking sequence of alert is sorted to avoid deadlocks.
567436 Internal Problem: If multiple supply records are available for supply being updated, incorrect inventory picture is observed after syncLoadedInventory API.

Solution: A new property, yfs.synchLoadedInventory.MultiRec, has been added. When this property is enabled, the syncLoadedInventory API calculates the inventory picture against multiple supply records.

568355 TS000833207 Error code, YFS10447, indicating fractional kit quantity is not allowed, and is added to the API Javadocs for the manageItem API input XML.
569008 TS000894235 In case of multiple API calls in a single transaction, there are instances where the value for the lockid column is not updated in subsequent queries for the same record.
569161 Internal Problem: The releaseCountRequest API takes huge time for counts created at classification level or classification and unit cost level.

Solution: Avoided Zone level LPN query when LPN tracking is disabled in all zones.

549996 Internal Documentation is appropriately updated for model compilation. For more information, see Compile a model topic.

9.5.0.18

Defect ID PMR # Description
560479 84731,L6Q,000 The node capacity is not updated when the orders are rescheduled after changing the PO ETA.
553978 27237,110,846 Problem: The Listener is not picking the expected pickup status when there are multiple eligible pick up statuses.

Solution: The Listener logic is enhanced to be more deterministic by identifying ListenerPreferredPickupStatus based on other mapping entries in the Listener.

Example: Consider a PO listener that is configured with the following mapping:
  • Drop to SO.statusA, when the PO is dropped to PO.statusA and
  • Drop to SO.statusB, when the PO is dropped to PO.statusB

When the purchase order quantity is moved from PO.statusA to PO.status B, the Listener drops the sale order quantity to SO.statusB. It can pick either SO.statusA or SO.statusB (higher status is picked) and drop it to SO.statusB. With this enhancement, the Listener determines that the purchase order status is moved from PO.statusA, and there is a mapping SO.statusA->PO.status A. Therefore, it prefers SO.statusA over other statuses.

565397 75800,020,649/83301,057,649 Cannot add widgets by using the Workbench Extensibility.
565518 Internal Security fixes are addressed in this fix pack. For more details, contact IBM Customer Support.
565530 Internal When the YIFErrorSequenceUE user exit is configured in SDF for an asynchronous integration service for batch processing of reprocess exceptions, the ‘connection leak' messages are observed in the log files. This is because, certain error scenarios related to the API context are not properly closed.
564463 07884,442,000 Problem: The error code, "YDM00114 " is displayed when the confirmShipment API is called to create and confirm the shipment for the tagged items.

Condition: If the input XML contains a different containerDetail element for each Transshipment and for same shipment line.

565054 Internal The documentation has been updated with the information about Change Project Rules.
565058 Internal A null pointer exception occurs for the requestCollection API.
565062 Internal The getShipmentList API in the Javadoc is updated for the missing attributes Quantity and OrderReleaseKey for Shipment/ShipmentLine.
565060 Internal The order price change is not updated correctly in yfs_charge_transaction, when a user completes the following steps.
  1. Configures Financial Rule - For Pricing Confirmed Orders - "System Date".
  2. Creates the pricing rule to apply a discount with the effective start date as current date plus 1.
  3. Creates a draft order. The discount is not applied as the pricing rule is effective tomorrow.
  4. On the second day, confirms the order. The system applies the discount. The order total is updated with the discount, but the delta is not reflected in yfs_charge_transaction.
567377, 567378 Internal Problem: The Inventory Visibility Adapter must be enhanced to provide the capability of fetching availability from Inventory Visibility.
Solution:
  • The getAvailabiliticache API has been enhanced to call the OMPGetInventoryFromCacheUE user exit.
  • Out-of-the-box, the implementation of OMPGetInventoryFromCacheUE user exit has been provided (com.ibm.iv.adapter.IVReadCachedAvailabilityUEImpl). This user exit when implemented calls Inventory Visibility to fetch availability and return the output in form of alerts. For more information, see Javadoc.
The documentation has been updated with the information about fetching availability. For more information, see Fetch inventory availability from Inventory Visibility.
566042 Internal Problem: For a location that contains 5000 items and of which 10 items satisfies the unit cost range criteria, the recordCountResult runs for more than 30 secs.

Solution: The recordCountResult and getNodeInventory have been enhanced to filter in getNodeInventory instead of filtering in the final output.

561527 60441,999,744 An incorrect Shard is used to update the inventory supply and activity records when a user completes the following sequence of actions:
  1. Sets a sharded environment with two different colonies (DEFAULT and COLONY1) for organizations such as DEFAULT and Enterprise1.
  2. Sets the value of the lockItemOnInventoryChanges property to N.
  3. Creates an item for Enterprise1.
  4. Calls the adjustInventory API to adjust inventory for the organization "Enterprise1" by using a user of the DEFAULT Organization.

9.5.0.17

Defect ID PMR # Description
550928 41673,442,000 In the large order scenarios, the changeOrder API throws (OMP10077 | Duplicate TransactionalLineId passed) when a new OrderLine is added with a LineCharge and TransactionalLineId.
554398 87362,000,834 Pricing rule is not applied when a customer performs following actions:
  1. Creates a pricing rule for any item say I1.
  2. From the Sterling Business Center, open the pricing rule and set "This pricing rule is not assigned to any customer".
  3. Calls the getOrderPrice API with Pricing Date less than the current time - 1 day or greater than the current time +1 day.
  4. Makes sure that pricing rule is not applied.
  5. Calls the managePricingRuleAssignment API to assign pricing rule to any customer attribute, say Vertical.
  6. Calls the getOrderPrice API again with attribute Vertical in Selection Criteria with the same pricing date.
555692 73251,L6Q,000 The documentation for the allowed values of TEMPLATE_TYPE in the PLT_API_TEMPLATE table is updated. For more information, see Passing API Templates.
556421 74703,L6Q,000 The documentation has been updated with the migration step for loading database changes. For more information, see Upgrade to release 9.5
557668 15209,227,000 Null pointer exception is thrown when the YFS_ITEM.entity.transactioncache.enabled property is set to false.
558710 17915,227,000 Documentation has been updated with the queries to be run if you have custom status modification groups, to fix status modification records inserted during the upgrade. For more information, see Step 5: Migrate transaction data
559064 76996,L6Q,000 The API javadocs is updated for YFSGetDeliveryLeadTimeUE user exit to have the correct set of attributes under the GetDeliveryLeadTime element.
559528 17844,227,000 When high number of the findInventory API calls are made, a Null Pointer Exception is observed intermittently while reading resource pool capacity overrides.
560184 81021,057,649 Documentation for assigning a staging location is updated with a note on character restriction. For more information, see Assigning a staging location
560430 83853,L6Q,000 The system throws the "Infinite Loop Detected in Dynamic Distribution Best Match" exception when a user performs the following steps:
  1. Enables "Use same authorization multiple times".
  2. Enables "Do Not Consolidate Settlement Or Refund Requests Across Invoices".
  3. Creates an order with 2 lines ($70 and $30).
  4. Adds a payment method with the maximum charge limit ($200) more than the order total.
  5. Records 2 authorizations ($99.99 and $0.01) which sum up to the order total.
  6. Ships and generates invoice for line 1.
  7. Runs payment agents, CHARGE for the first invoice collected.
  8. Ships and generates invoice for line 2.
  9. Runs the requestCollectionAPI.
560497 35780,227,000 When lockItemOnInventoryChanges is set to N, invoking the adjustInventory API to update Availability from INFINITE to TRACK for a supply whose Quantity is zero, has no effect.
560549 36645,227,000 The updateFutureInventory API fails with an Invalid Item ID error when yfs.hotsku.lockItemOnInventoryChanges = N.
561862 78922,442,000 When the receiveOrder API is called with the ShipmentLineKey as blank, the Invalid Line error occurs.
562542 Internal YFS_PAYMENT.REQUESTED_CHARGE_AMOUNT is not correctly updated when the user performs the following steps:
  1. Creates an order for $100.
  2. Adds a payment method to the order.
  3. Creates an invoice for $100.
  4. Calls the requestCollection API.
  5. Closes the CHARGE of $100 as Async.
  6. Suspends the payment method for both charge and refund.
  7. Calls the recordExternalCharges to record the $100 CHARGE, which was closed as Async in step 5.

YFS_PAYMENT.REQUESTED_CHARGE_AMOUNT is updated as -100

562550 Internal The YFSProcessOrderHoldTypeUE user exit does not update the Reason Text.
563063 Internal The getAvailableInventory API returns two tags for AvailableInventory for a single line item due to fixed transit days being considered in the ship date calculation.
563066 Internal The getShipmentContainerDetails API acquires lock on the Order Header even though order details are not required in template.
Solution: The API input now accepts the SelectMethod attribute to explicitly pass the lock method.
563069 Internal Problem: The UI control ‘Option Class display - Popup-Qty’ does not work properly with UI: MAX QUANTITY and UI: MIN QUANTITY properties.
Solution: The Sterling Configurator UI code is enhanced to fix the issue.
563078 Internal Problem: When unexpected lines are allowed for receipt, a new unexpected receipt line gets incorrectly recorded as substitute item. This causes error during close receipt with the reason as not enough quantity.

Solution: The system checks if the unexpected lines are allowed and sets the substitute or override item id accordingly.

563756 Internal Support for General Data Protection Regulation (GDPR) compliance is added. The following services are added:
  • GDPR_Execute_Request
  • GDPR_Get_Data
  • GDPR_Get_Detail_Data
  • GDPR_Manage_Request
  • GDPR_Restrict_Data
  • GDPR_Undo_Restrict_Data
  • GDPR_Delete_Data
This allows for retrieval of a customer's personal information, as well as deleting and restricting the output of this information. For more information, see General Data Protection Regulation (GDPR) support
Note: The services are only functional in single-schema environments at this time and the services do not affect personal information that is part of Elasticsearch indexes.
564566 03552,L6Q,000 Problem: Unit cost is honored only if product class or velocity code is configured.
Solution: Unit cost is honored irrespective of whether the product class and velocity code are configured or not.

9.5.0.16

Defect ID PMR # Description
556324 Internal
Create a Discount - Non billable charge. Perform the following steps:
  1. Create an Order with one order line for 10 quantities and with a Line charge for Non Billable discount charge by passing the ChargePerLine parameter.
  2. Create partial invoice for 5 quantities.
  3. Order line's complete ChargePerLine is invoiced as part of the first invoice.
  4. Create invoice for the remaining 5 quantities.

Order Line's ChargePerLine is again invoiced and the total invoiced ChargePerLine for the Non Billable charges is doubled.

556449, 562933 Internal This enhancement allows the customer to purge order data on their own external system as opposed to the history tables. If the PurgeOrderToExternalDataStoreUE user exit is enabled, then XML representation of order details is passed to the user exit, so that it can be stored externally. If the customer does not implement the UE, then order details are purged to the history tables by default.
557101 86,65,44,42,000 In the Procurement scenario, Modification rule error is thrown even when Override=Y is passed in the changeOrder API call.
560373 Internal The input of the GetExternalSupplyUE user exit contains duplicate ship nodes, when any node related to the organization becomes a dirty node, while having inventory configured externally.
560379 Internal

This issue happens randomly. When the getCompleteItemList API is invoked with filter criteria that produces a mix of tag controlled and non-tag controlled items, the non-tag-controlled-item's logic could end up being used, which results in an inventory mismatch when compared to the API being invoked only for the tag-controlled items.

560383 Internal When RTAM is run in the activity-based mode, it delays processing of activities created for related items.
560402, 562860 Internal

Problem: The support for applets is being removed by web browsers. Hence, applications like Applications Manager, System Management Console and Channel Application Manager need to be supported on Java Web Start technology.

Solution: The applications that are mentioned are supported on Java Web Start now. In the future, the support for applet applications may be completely removed. It is strongly recommended to use the new Java Web Start based Applications Manager, System Management Console and Channel Application Manager. For instructions, refer online documentation.

As of now, the applet-based applications are enabled by default. To enable the Java Web Start applications, the following property must be set in the customer_overrides.properties file. The default setting can be changed to use the Java Web Start in future.
yfs.yfs.configurator.usewebstart=true
Note: If a custom web.xml is used, it needs to be merged with the latest out-of-the-box web.xml after installing the fix pack.
Note: The Java Web Start applications like Applications Manager, System Management Console and Channel Application Manager are supported only on Oracle Weblogic Application Server. The support for other application servers shall be added in future Fix Packs.
561581 01717,442,000 ORA-01438 is observed, if one million demand adjustments are done for an item at a node on the same day for any specific demand type.
562544 Internal
The following attributes are added to the createOrderAPI in the Javadocs:
  • CustomerFirstName
  • CustomerLastName
  • CustomerZipCode
  • CustomerPhoneNo
Note: There is no change to the existing functionality.
562546 Internal When the Distributed on the eligible lines option is selected, the CopyTriggerInclusionsToTargetInclusions is overridden to N for the ABSOLUTE Order Total rules and causes wrong discount distribution.
562548 Internal Problem: The changeShipment API allows to pass the OrderHeaderKey attribute to the Shipment element despite that the API's input does not list the attribute. Due to this, YFS_SHIPMENT.ORDER_HEADER_KEY is set as per the attribute's value.

Solution: If the attribute is passed, it is automatically removed.

564751 02738,L6Q,000 Deployment of EAR fails with the following error message:
org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml
.

9.5.0.15

Defect ID PMR # Description
552532 Internal

User creation fails when the organization name contains a single quote.

557636 04679,227,000

In the createOrder API, on passing SuppressNodeCapacity="Y", the nodes are getting ignored instead of the node capacity. Due to this, the order gets backordered.

557797 Internal When YIFErrorSequenceUE is configured in SDF for an integration service for batch processing reprocess exceptions with a given exception group id, it is observed that after calling the reprocessAllIntegrationErrorsInGroup API, the integration service is not processing the reprocess exceptions belonging to a given exception group id which is returned by the UE.
552598 25820,082,000

Problem: The manageCategory API fails to create a child category with some of the attributes same as that of parent category.

Solution: The manageCategory API has been modified so that it does not inherit attribute from parent category, if the same attribute is passed in the input. However, it inherits the rest of the attributes from it's parent category.

557803 Internal Since getJobs() is framing incorrect date ranges for the records to be purged by executeJob(), the executeJob() is trying to purge a large number of records at a time. As a result, during executeJob(), the person info purge agent is failing with out of memory error.
557806 Internal The Modification Reasons window of the Purchase Order or Transfer Order screen displays the modification reason codes defined for all document types or enterprises.
560226, 560404 Internal You can integrate IBM Inventory Visibility with IBM Sterling Order Management by using the IBM Inventory Visibility Adapter.

For document updates, see Configuring integrations with IBM Inventory Visibility and Sterling Order Management.

560239 Internal

When an order is scheduled against future inventory and is unscheduled, the order line status should point to the current date.

558584 Internal For a resource pool of type "RELEASE", incorrect node capacity consumption is observed when the following steps are completed:
  1. Create a node STORE_1. Configure sourcing such that this node is considered.
  2. Create ITEM_1 and adjust inventory for this item on STORE_1.
  3. Create Resource pool RP_1 at STORE_1 of type RELEASE.
  4. Call the reserveAvailableInventory, createOrder, scheduleOrder, and releaseOrder APIs in a multi API call.

Problem: Three capacity consumption is observed.

558588 Internal On purging, the extended attribute values of the YFS_Payment table are not copied to the history table.
558586 Internal Repricing is considered when the confirmDraftOrder API is invoked on external orders that removes externally added promotions.
558590 Internal For Oracle database, increase the column size YFS_ORDER_HEADER.NO_OF_AUTH_STRIKES from a single digit to support double digits (0 to 99).
558592 Internal Problem: Capacity updated are determined when promising APIs are called in update mode, for example reserveAvailableInventry, ScheduleOrder, and so on. The current application behavior is to update capacity as soon as the change is determined during processing. When update in capacity is required, lock is obtained for the resource pool consumption during the calculation and is released only with transaction commit. Due to this, other process that required to update capacity for the same resource pool waits for a long time.

Solution: Set the property of yfs.yfs.persitCapacityAdjustments=true such that the capacity is adjusted only when a transaction is committed.

558594 Internal For locale BST (Time zone UTC+00:00), when notification is not defined, orders are released one hour prior to the expected time of shipment.
556897, 555940 00249,227,000/40169,211,788
  1. Set up a Node, Item, and Monitor Rules as required by RTAM.
  2. Navigate to Cross Application > Order Promising > Sourcing and Scheduling > Basic Configuration and set the default distribution group.
  3. Do not add the Node level Distribution Group set in Application Manager > GIV > Inventory Rules > Monitor Rules.
  4. Do not configure distribution groups in the Monitor Rule Distribution Groups in IBM Sterling Global Inventory Visibility.
  5. Run RTAM or invoke the monitorItemAvailability API.

    One alert is raised for the Distribution Group.

  6. Implement the YFSGetOverriddenDGForItemUE user exit and return multiple Distribution groups in the response of the UE.
  7. Enable the override DG for the item.
  8. Run the monitorItemAvailability API for the item.
  9. One alert is raised with correct OnhandAvailableQuantity for the first distribution group that is returned in the UE. However, this is not the same distribution group that is configured in Distributed Order Management > Cross Application > Order Promising > Sourcing and Scheduling > Basic Configuration.
557565 Internal

In the changeRegion API, the ResetAll flag at ZipCodeRanges element level is not behaving as expected. If the number of records for a particular region key is more than 500, and if ResetAll="Y", only the first 500 records are deleted as opposed to delete all records from the YFS_REGION_DETAIL table.

9.5.0.14

Defect ID PMR # Description
543341 7,642,082,000
The repriceOrder API throws NullPointerException when a user performs the following sequence of actions:
  1. Implements YPMGetOrderPriceUE to return the OrderAdjustments element under the AdditionalLinePrice element in the output.
  2. Creates an Order.
  3. Calls the repriceOrder API.
552509 85,299,227,000 Problem: As per the API Javadocs, the getOrderDetails API output template returns Reference1. But the API still returns Reference_1.

Solution: The getOrderDetails API is fixed to return Reference1,2,3 instead of Reference_1,_2,_3

552829 63786,L6Q,000 Problem: As per the API Javadocs, the getOrderDetails API output template returns Reference1,Reference2,Reference3 under HeaderTaxes and LineTaxes element. But the getOrderDeatils API output returns Reference_1,Reference_2,Reference_3.

Solution: The getOrderDetails API is fixed to return Reference1,Reference2,Reference3 instead of Reference_1,Reference_2,Reference_3.

554498 40957,122,000

Problem: When safety factors are defined at store level, the YFS_Item fires a SELECT statement on YFS_SKU_SAFETY_FACTOR_DEFN per item related entry in YFS_ITEM_NODE_DEFN, which causes performance issues with large number of stores.

Solution: This is fixed so that one SELECT statement for only the considered nodes, using IN clause to list YFS_ITEM_NODE_DEFN.ITEM_NODE_DEFN_KEY.
555593 Internal If MessageProducer caching is enabled for services and a JMSException is received during Producer.send(), then a NullPointerExeption is thrown instead of the original JMSException.
555708 27505,000,834 The related tasks on the Price List Summary screen of Sterling Business Center shows incorrect tasks while navigating between dependent price lists and parent price list.
557009 65651,227,000 Null Pointer Exception is observed intermittently while loading resource pool capacity overrides.
557205 Internal
The INHERIT_PROCESS_MODEL is set to Y.
  1. Create Enterprise E1.
  2. Create Enterprise E2 under E1.
  3. Create Fulfillment node N1 under E1.
  4. Configure send invoice event for E1.
Event is raised twice when the following steps are performed:
  1. Create order with Enterprise code and Seller Organization as E2.
  2. Order is fulfilled by ship node N1 under E1.
557207 Internal Status quantity for a gift order line (which is added automatically), is not changed after updating the quantity for the parent promotion order line, despite that the quantity is updated on the gift order line.
557209 Internal Configuration: Enable "Do Not Allow Debit And Credit Invoices To Settle Each Other".
The system opens an authorization for $90 instead of the full book amount of $100, when a user performs the following steps:
  1. Creates an order for $100.
  2. Creates a credit memo for $10.
  3. Runs the requestCollection API.
557211 Internal YPMOverrideGetOrderPriceUE is not invoked when a user performs the following sequence of actions:
  1. Removes the modification type "Change Other Attributes" at "Line" level from Modification Impacting Pricing in Applications Manager.
  2. Creates a custom modification type at the line level for "TranDiscrepancyQty" attribute.
  3. Configures custom modification type to Modification Impacting Pricing.
  4. Creates sales order with 2 quantities of item I1.
  5. Schedules and releases the order and creates a shipment.
  6. Confirms the shipment with 3 quantities.
557213 Internal Incorrect output displayed by the getShipmentList API when a user performs the following sequence of actions:
  1. Extends the YFS_SHIPMENT table and add a custom column.
  2. Creates multiple shipments and makes sure that the value of extended column is populated for all the records.
  3. Calls the getShipmentList API with paginate element and extended column in the OrderBy element.
  4. Calls the getShipmentList API again with the PreviousPage record and extended column in the OrderBy element.
557215 Internal NullPointerException is thrown when user performs following steps
  1. Create two Organizations ORG1 and ORG2 which define their own catalog but have a common inventory organization.
  2. Create an Item ITEM_A under ORG1
  3. Adjust Onhand inventory for ITEM_A under ORG2
  4. Call the reserveravailableInventory API for ITEM_A by passing EnterpriseCode="ORG1", OrganizationCode="ORG1" and ReservationID="RES_1"5.
  5. Call the getInventoryReservationList API for ReservationID="RES_1"
557217 Internal Inventory activity record is not created when Inventory changes from INFINITE to TRACK 0 quantity.

9.5.0.13

Defect ID PMR # Description
554180 Internal Problem: A NullPointerException is thrown when a user attempts to launch the Standalone API Tester.

Solution: This issues is addressed.

550486 55324,L6Q,000 Even if the Offline Limit validation is not configured, the executeCollection API calls the YFSGetFundsAvailable UE.
551724 56484,L6Q,000 The error, "INV80_042: The enterprises participating in relationship don't have the same set of inventory rules" is displayed in the VMI model even if all the participating organizations have the same inventory rules configured.
554603 00954,227,000 Problem: Dummy authorization records are not getting created when user performs the following actions:
  • Delayed authorization is enabled in payment rule.
  • Configures X Hours Before Release Date For Product in payment rule.
  • Bundle fulfillment strategy is set to "Delivery together".
  • Creates a bundle item with two components.
  • One of the component is available ONHAND and the other is available after X hours + 10 days.
  • Creates an order for bundled item.

Solution: To push the authorization expiration date till the last component release date, enable the following property:
yfs.delayAuthorizationForBundleParentUntilLastComponent

The valid values are Y and N. By default, the value is set to N.

The Future Authorization is created with the Authorization expiration date that is pushed till the last bundle components release date.

To delay the authorization for bundle parent till the last components release date, in the customer_overrides.properties file, set the value of this property as yfs.yfs.delayAuthorizationForBundleParentUntilLastComponent=Y.

Note: The rule, "INVOICE_PARENT_ON_LAST_COMP_IN_KIT_INVOICE - Create Shipment Invoice For a Bundle Parent On Invoicing Of : All Bundle Components" should be enabled. This rule takes precedence over the customer override property. The new feature is enabled only if the Financial rule is enabled.

Sample scenario:

An order is created for 5 units of Bundle item B1 for which the unit price is 10. The components item BC1 and BC2 with the Kit ratio 1:1.

Supply picture
  • BC1 - ONHAND - 2, PO_PLACED (5/31) - 2
  • BC2 - ONHAND - 2, PO_PLACED (5/31) - 3
Order Schedule
  • Bundle parent quantity that is scheduled against onhand is 2.
  • Bundle parent quantity that is scheduled against PO_PLACED is 3 (BC1 for one quantity is back ordered).
Future Authorization picture
  • Future Authorization is created for 20 with the Authorization Expiration Date set to 5/31 - x hours (Based on Configuration).
  • Future Authorization is created for 10 with the Authorization Expiration Date set to High Date as one of the component, BC1 is back ordered for one quantity.
547608 Internal Transfer schedule is not considered when the following steps are completed:
  1. Create stores, NODE1 and NODE2.
  2. Create sourcing and scheduling rules such that NODE1 is a ship node that procures from NODE2.
  3. Create an item, ITEM_1 having inventory at NODE2.
  4. On the current date, multiple transfer schedule exists from NODE2 to NODE1 as follows:
    1. Transfer schedule 1 is already expired.
    2. Transfer schedule 2 is currently active but ends in the next six days with no possible day to ship.
    3. Transfer schedule 3 is effective from seventh day to three years from now.
    4. Call the findInventory API for ITEM_1 with quantity 1.
547574 43803,082,000 Problem: YFSGetItemNodeCostForSourcingUE is called when RTAM is run with yfs.rtam.algorithm as 00 or 01.

Solution: YFSGetItemNodeCostForSourcingUE is not called.

553077 Internal When you configure the following, system creates a reversal for the complete authorization even when a partial authorization is used for charging:
  1. Enable Use same Authorization multiple times.
  2. Disable partial reversal supported.
  3. Authorization reversal strategy "Reverse Excess".
Solution: Perform the following steps:
  1. Create order for $100.
  2. Authorization with auth id A1 $100 is taken.
  3. Invoice for $50.
  4. Charge for $50 against A1 created consuming $50 authorization.
  5. Cancel $10 from the order.

Run requestCollection, authorization reversal for auth id A1 of $100 is created.

553079 Internal A unique constraint exception is thrown while inserting lock records for an Item-Node combination during scheduleOrder when Optimistic Lock Avoidance is enabled with granular locking.
553081 Internal The Username is encoded in menubar.jsp even though it is already encoded. This results in double encoding and therefore gets displayed incorrectly in the UI.
553089 Internal TotalNumberOfRecords and the number of shipments in the output of getShipmentListForOrder API are not in sync when invoked for a specific store user. Due to this, an exception occurs in Sterling Store when a user performs following actions:
  1. Creates an order with two order lines having two different Ship Nodes being stamped.
  2. Schedule and release the order.
  3. Creates Shipment for all releases.
  4. Logs in to the Sterling Store application with different Node or Store users and performs the Record Pick action using the order number.
556319 Internal Update Javadocs to clearly state that customers are not supposed to use the Reservations element in the findInventory API's input as it has been developed for internal promising server calls.
523004 Internal Configuration: Create an item and a node.

Condition: Create an inbound PO order, receive the same order through receiveOrder API or by using the Inbound UI screens.

Operation: In this scenario, the supply type moves from PO_PLACED to ONHAND and an activity is published in the yfs_inventory_activity table.

Solution: RTAM publishes the inventory picture of the inbound PO while supply type moves from PO_PLACED to ONHAND.

550226 Internal The product is enhanced to support the associations that are not defined in Catalog Management.
To enable this feature, you must set the new property yfs.yfs.order.maintainProductServiceAssociationExternally=Y in customer overrides.
  1. When the product service associations are not defined in the catalog management, a customer must pass the product service associations in the input of the createOrder or changeOrder APIs.

    For this purpose two new attributes namely, ProductQuantity and ServiceQuantity are added for the element <ProductServiceAssoc> on the order level. For more information, refer to Java Docs.

  2. ProductQuantity and ServiceQuantity should not less than or equal to zero when passed at the order product service association element.
  3. When both the catalog and order layers have association, the associations defined in the order takes precedence over the catalog associations.

9.5.0.12

Defect ID PMR # Description
498525 Internal The changeOrder API should allow modification of SCAC on the OrderLine element of a Transfer Order after the order is Released and before it is Shipped.
519601 Internal

An unresponsive Pierbridge or Agile shipping label call blocks the subsequent packing process.

523004 Internal
  • Configuration: Create an item and a node.
  • Condition: Create an inbound Purchase Order (PO), receive the same through receiveOrder API through inbound UI screens.
  • Operation: In this scenario, the supply type moves from PO_PLACED to ONHAND and an activity should be published in the yfs_inventory_activity table.
  • Solution: RTAM should publish the inventory picture of this inbound PO, while supply type moves from PO_PLACED to ONHAND
534301 Internal

Problem: The application is unable to resolve the path of the ValueMaps file (based on the value defined for the property scwc.value.mapping.file) if the file exists in the properties.jar in the deployed EAR .

Solution: The application is enhanced to always read the 'value map' file (based on the value defined for the property scwc.value.mapping.file) from the class path.

After the fix, with the property defined as scwc.value.mapping.file=/ValueMaps.xml, the Application Server and Agent or Integration Server would read the 'value map' file from their respective class paths.

534313 Internal

The BypassPricing flag is used to determine whether repricing is required from the Pricing Engine or not. By design, the YFSOrderRepricingUE is separate from the Pricing Engine. If implemented, the YFSOrderRepricingUE runs even when BypassPricing=Y.

Fix: There is an internal flag, SuppressRepricingUE that can be set on the order header to suppress calls to YFSOrderRepricingUE.

536433 Internal
  • Configuration: Backorder against highest priority node is configured.
  • Problem: If an order is backordered while releasing, it is always backordered against the highest priority node. However, in case the order has been scheduled from a lower priority node, releasing the order should backorder it against that node itself . Releasing the order should not change the node decided while schedule the order.
539600 63878,442,000
  • Configuration:
    1. Edit sandbox.cfg file and set the value of DATABASE_PROPERTY_MANAGEMENT parameter to true.
    2. Run setupfiles.cmd/sh script from the <INSTALL_DIR>/bin directory.
    3. Run loadProperties.cmd/sh script from the <INSTALL_DIR>/bin directory.
      Properties are loaded into database in the PLT_PROPERTY and PLT_PROPERTY_METADATA tables. However, certain properties will remain file based and their entries are persisted for reference in the <INSTALL_DIR>/properties\filesystem.properties file. Following properties are file based:
      • JDBC based properties
      • log based properties
      • sandbox.cfg
      • servers.properties
      • vendor.properties
      • security.properties
      • logfilter.properties
      • logCodes.properties
      • logMessageCodes.properties
      • tuning.properties

    4. Build resource JAR.
    5. Create and deploy EAR.
    6. Restart app,agents, and integration servers.
  • Condition: 950FP12 has to be installed as database property management is enabled only from this release onwards.
  • Out of Scope: Unexposed properties and SMA UI work is out of scope. Unexposed properties can be managed through database using manageProperty API or using customer overrides files.
  • Solution: For more information on merits of database property management and the issues faced in the file based management, refer to Property management in the database.
  • Additional Details:
    • agentServer and startIntegrationServer scripts have been enhanced to take additional details other than having only SERVER NAME as argument. An example to handle server override logic in this feature, from <INSTALL_DIR>/bin directory run the following command:

      agentserver.sh RTAM_SERVER -jvminstance TestJVMInstance1

      The value of "-jvminstance" argument (TestJVMInstance1) should match the value in PROPERTY_OVERRIDE_NAME in the PLT_PROPERTY table for server override logic to work.

    • Use manageProperties.cmd to perform following actions (edit, import, list and detail modes) on database managed properties:

      manageProperties.cmd/.sh -mode edit -property "yfs.considerUnassignedDemands" -category "yfs" -override "BASE" -value "Y" -usercomment "change value of base property to Y"

      manageProperties.cmd/.sh -mode import -file "<INSTALL_DIR>\properties\customer_overrides.properties" -usercomment "importing co properties to db"

      manageProperties.cmd/.sh -mode list -category "yfs"

      manageProperties.cmd/.sh -mode details -property "yfs.context.namespace" -category "yfs"

547567 40343,999,744 ICU4J creates Buddhist calendar for Thai locale by default. ICU4J also provides an override mechanism such that, for any locale, a particular calendar can be explicitly set. The application is enhanced to set the override calendar for ICU4J by setting a yfs property as yfs.icu4j.<LOCALE_CODE>.calendar=gregorian. For example, yfs.icu4j.en_TH_ICT.calendar=gregorian
548795 Internal Secure token is added to the URL that is formed by the JavaScript on the alert list screen.
550226 Internal
  • Configuration: Enable yfs.yfs.order.maintainProductServiceAssociationExternally=Y in the customer_overrides.properties file.
  • Condition:
    1. When product service association are not defined in catalog management, customer should pass the product service associations in input of createOrder or changeOrder API as specified as follows:
      <Order>
      <OrderLines>
      <OrderLine/>
      </OrderLines>
      <ProductServiceAssocs>
          <ProductServiceAssoc ProductQuantity="2"  ServiceQuantity="2">
      <ProductLine PrimeLineNo="1" SubLineNo="1" />
      <ServiceLine PrimeLineNo="3" SubLineNo="1" />
          </ProductServiceAssoc>
      <ProductServiceAssocs>
      </Order>
      No change in behavior should be observed, if associations are not passed in input of createOrder or changeOrder APIs. Additionally, the ProductQty, ServiceQty attributes should not be zero or not less than zero, when passed at Order Product Service Association element.
    2. For the generateWorkOrder API to work for Delivery Service lines with this feature enabled, the Order Product Service Association mentioned in Step 1 should be in place, as catalog module will not have this association.
    3. When both catalog and order layers have association, order takes precedence over catalog associations.

    Operation: Ensure that the createOrder or changeOrder API has Order Product Service Association in place, before invoking the generateWorkOrder API.

    Solution: Work Order is created for Delivery Service lines by using the generateWorkOrder API only when the Order Product Service Association is in place, else the work order wont be created in system

    Limitations:
    1. Variable capacity calculation for external product service association is not in scope.
    2. Service skill association defined in the catalog layer is out of scope for external product service association.
    3. Service Pricing Quantity and Product Pricing Quantity is out of scope for external product service association.
550800 21874,442,000 The Applications Manager does not display the full list of carrier services when there are more than 75 carrier services.
550839 Internal

Problem: An order is partially backordered intermittently, when multiple items placed on order are being procured and the constraint line ship complete and ship from single node is enabled.

Solution: Enable the yfs.yfs.expandAllLinesIfAny=Y property in customer overrides.

550841 Internal The scheduleOrder API does not consider the pre-reserved capacity correctly in boundary condition when the following steps are performed:
  1. Create a node say, NODE1and adjust inventory capacity and adjust inventory for 'ITEM1' at this node.
  2. Set the configuration to consider only nodes that have XX% capacity in next Y days in sourcing rule sequence.
  3. Create reservation for ITEM1 at NODE1 using the reserveAvailableInventory API.
  4. Create more reservations or orders such that the capacity cut off criteria set up in sourcing rule is met.
  5. Create an order using this reservation for ITEM1.
  6. Schedule the order. Order is backordered.
551213 65651,227,000 Null Pointer Exception is observed intermittently while loading resource pool capacity overrides.
551306 60790,L6Q,000 The Node capacity configuration screen of Sterling Business Center does not load if there is only one capacity period defined.

9.5.0.11

Defect ID PMR # Description
546382 Internal Problem: LinePackListPriceInfo values such as unit price, extended price, line total, tax, and charges do not get updated to zero upon moving Orderline to the extended Cancel status.

Solution: Fixed the product to consider the extended Cancel status for updating the LinePackListPriceInfo values to zero.

546379 Internal Problem: Uncaught TypeErrors when configuring the models in SIC. JavaScript errors are displayed in a browser console which lead to issues in the configurator functionality.

Solution: Enhanced the product code to update the container to fix the JavaScript errors.

527695 Internal When yfs.pricing.upgrade.complete is set to Y, the Item Pricing Rules are applied correctly based on the Pricing Rule Seller Assignments.
546385 Internal Problem: Submit to Server (UI: AUTOMATIC POST) property at the option class level does not work for user entered values. UEV was getting auto-posted to the server even though 'Submit to Server' was set to 'On User Request'.

Solution: Enhanced the product code to submit to the server based on the auto-post option selected by a user.

537855 Internal Configuration: Configure the bundled items.

Condition: Call changeShipment and confirmShipment in a single transaction boundary.

Problem:
  • Create an order with one kit item along with the component items and one non-kit item.
  • Process the order till the shipment is created. One shipment must be created for both items.
  • Cancel all the component items of kit by invoking changeShipment.
  • Call confirmShipment.

    The result of running the steps 3 and 4 under the same transaction boundary is different from running them in the different transaction boundary.

Solution: Action attribute is cleared properly, so confirmShipment behaves consistently irrespective of the transaction boundary.

527703 Internal The Application Manager crashes, when there are large number of users created in the system, and the user performs the following sequence of actions:
  1. Goes to the details of any existing service in the Application Manager,that has an alert component.
  2. Clicks the Alert component in the service diagram.
538015 61679,442,000 Java Docs has been updated with the reservation attributes introduced for promising the server setup. The added attributes are TotalDemand, ReservationTS, and PublishTime in the <ReserveItemInventoryList/> element.
537858 Internal Additional tracing statements for JMS calls are introduced for JMS Sender component in SDF Services.

By default the above statements are not enabled. In order to enable these JMS trace statements the following property needs to be set in customer_overrides.properties file. If enabled, these statements are logged with INFO level logging.

yfs.jms.debug.enabled=true

Optional properties:

The following optional properties can also be set in customer_overrides.properties file to control the frequency with which the JMS trace statements are logged.

  1. yfs.jms.debug.send.interval.perthread=<n>

    <n> is number greater than 0. Default value of <n> is 1000.

    Tracing statement printing total time, will be logged after every 'n' message sends done by a thread to a queue defined in an SDF service.

  2. yfs.jms.debug.qsender.interval.perthread=<n>

    <n> is number greater than 0. Default value of <n> is 1000.

    Tracing statement printing total time, will be logged after every 'n' Queue Sender creations done by a thread.

  3. yfs.jms.debug.commit.interval.perthread=<n>

    <n> is number greater than 0. Default value of <n> is 1000.

    Tracing statement printing total time, will be logged after every 'n' Queue Session Commits done by a thread.

  4. yfs.jms.debug.pool.fetch.interval=<n>

    <n> is number greater than 0. Default value of <n> is 1000.

    Tracing statement printing total number of sessions in pool, will be logged after every 'n' fetch requests made to the pool, across all threads.

527711 Internal The error "YFS10048" is displayed when a user performs the following sequence of actions:
  1. Ensures GIV has "iba allowed" is set.
  2. Enables yfs.yfs.considerUnassignedDemands = Y in the customer overrides file.
  3. Creates an order with order line reservation (created through reserveItemInventoryList API).

Solution: The invalid node error is fixed and order creation will succeed.

547725 27454,110,846 Null Pointer Exception is observed when RTAM is run in the activity based mode for the VMI model.
537870 Internal ChangeAppointment modification type incorrectly outputs the Override flag for the canceled orders.
537873 Internal Configuration: Configure the bundle items.

Problem: confirmShipment API deletes all the canceled bundle lines.

Steps:
  1. Create an order with the normal item land bundle item and proceed till the shipment creation.
  2. Cancel the shipment lines of the bundle items.
  3. Call confirmShipment.

All the bundle lines are deleted.

Solution: Similar to the normal items, the canceled bundle lines are retained during confirmShipment.

548668 Internal For pricing rules that capture trigger criteria using the attributes, the behavior of Item Attribute groups is corrected.

A Sku is considered as a trigger item, if it has all the attributes within an attribute group.

Note: Re-evaluate all the item attribute pricing rules and modify them as per the corrected behavior before applying this fix pack. Also, the attribute quantity for an attribute group must be same.
550497 Internal The error "Record already exists in the database." is displayed second time when managePricingRuleAssignment is invoked, given that the input is missing CustomerType. In addition, this fix allows you to assign two or more values to a customer extended field, instead of overwriting the record.
543485 Internal Ineligible ship node appears in the input of the user exit YFSGetExternalInventoryForItemListUE for items when different order lines have an item that is sourced differently.
547593 Internal Incorrect MovedQty is displayed by the "ON_ORDER_RELEASE_STATUS_CHANGE" event when a user performs the following sequence of actions:
  1. Enables the ON_ORDER_RELEASE_STATUS_CHANGE event of the changeOrder transaction.
  2. Creates an item and a node.
  3. Adjusts the inventory ONHAND=10 for this item-node combination.
  4. Creates an order for the quantity 15.
  5. Schedules the order.

Upon scheduling, the order moves to the Partially Scheduled status. Quantity 10 moves to the scheduled status and quantity 5 moves to the back-ordered status.

543488 Internal Data load agent does not initialize the shadow column values for the records that are imported using the CDT tool.
547596 Internal Problem: When an agent that has an auto trigger interval of one minute is run with multiple JVMs and the getJobs of the agent finishes quickly, it is observed that the agent auto trigger happens multiple times during the one minute window. The number of times of the auto trigger equals the number of JVMs.

Solution: The agent allowed the auto trigger to happen early by the margin of 60 seconds. This margin is reduced to 30 seconds when the auto trigger interval of the agent is 1 minute. For higher values of the trigger interval, this margin will remain as 60 seconds.

539014 Internal The managePricingRule API resets IsCustomRule from Y to N, if not passed in the API inputs.
547614 Internal Problem: All the five order headers are locked for an update even when the line belonging to a single order is received when a user performs the following sequence of actions:
  1. Creates five purchase orders. For example, from NODE2 to NODE1 for multiple items.
  2. Schedules and releases the purchase orders.
  3. Creates a single shipment for the above orders.
  4. Receives only the first line of shipment.

Solution: If the shipment line key is specified in the order line element of the receiveOrder API, only the corresponding order will be locked for the update.

539020 Internal Non invoiced Header Discounts are getting invoiced when the changerOrder API is made to change the header discounts.

A new property yfs.bDoNotConsiderNonInvHeaderDiscountForAdjInv is introduced. Set the value of this property in the customer_overrides.properties file as yfs.yfs.bDoNotConsiderNonInvHeaderDiscountForAdjInv=Y.

If this property in customer_overrides.properties is set to Y, it will stop creating the adjustment invoice for any changes in the charge type Discount until the charge is either partially invoiced or completely invoiced.

  1. The behavior change will be a property driven fix.
  2. Once you enable this property, the system will not the create adjustment invoice for the Discount Header charges unless the Header charges are either completely or partially invoiced.
  3. If the financial rule INVOICE_OPEN_HDR_CHG_TAX_ON_INV_COMPLETE - "Invoice Open Header Charges/Taxes On Invoice Complete" is enabled, it will override the property behavior if the order is completely invoiced. The header level charges on the order that is not invoiced, will be invoiced and the adjustment invoice will be created. The financial rule behavior will remain the same.
539022 Internal Configuration: Configure milestone for the release status.

Problem: There is a performance issue when the releaseOrder agent fires a query on the YFS_CHARGE_TRANSACTION table with a TRANSFER_FROM_OH_KEY where clause.

500830 Internal For pricing rules that capture trigger criteria using the attributes, the behavior of Item Attribute groups is corrected.

A Sku is considered as a trigger item, if it has all the attributes within an attribute group.

Note: Re-evaluate all the item attribute pricing rules and modify them as per the corrected behavior before applying this fix pack. Also, the attribute quantity for an attribute group must be same.
539024 Internal Configuration: Enable Do Not Consolidate Settlement Or Refund Requests Across Invoices and Do Not Allow Debit And Credit Invoices To Settle Each Other.
Problem: Excess refund CHARGE is created when a user performs the following sequence of actions:
  1. Creates an order for $100.
  2. Runs the payment APIs.
  3. Schedules, releases and ships the order.
  4. Creates the shipment invoice.
  5. Runs the payment APIs to move the order to PAID.
  6. Gives $10 as a customer appeasement.
  7. Runs the requestCollection API. A refund CHARGE for -10 is create.
  8. Runs the executeCollection API and marks the transaction as ASYNC.
  9. Runs the requestCollection API.
  10. Gives another $10 as a customer appeasement.
  11. Run the requestCollection API.
500829 Internal The SQL Query to fetch YFS_RES_POOL is optimized in the reserveItemInventory API for performance up-gradation. The SQL Query uses AND clause instead of OR clause, when the YFS_RES_POOL.PROVIDER_ORGANIZATION_CODE and YFS_RES_POOL.NODE_KEY values are available.
547623 Internal Problem: When the count program is created at the classification level and a unit cost range is given, a variance record is created for all the uncounted items that belong to the classification irrespective of their unit cost value.

Solution: The program creates the classification count request by considering the Max Min unit cost values of the count program condition. The count result records will be created only for the items satisfying the count request criteria.

500832 Internal The Order Line price attributes such as ExtendedPrice, ListPrice, LineAdjustment and LinePrice must be populated in the YPMRunCustomPricingRuleUE user exit input.
500835 Internal When a Sterling Store user issues prints, a possible connection leak in the Database is identified.
547629 Internal The system opens the authorization for the excess delta amount when a user performs the following sequence of actions:
  1. Enables the following financial rules:
    1. "Do Not Consolidate Settlement Or Refund Requests Across Invoices"
    2. "Do Not Allow Debit and Credit Invoice to Settle Each Other"
  2. Creates a credit memo that is greater than the actual order total in the PAID status.
  3. Runs the payment agents.
500836 Internal The Application Console does not display appropriate Payment Type under Payment Info panel, when a user performs the following sequence of actions:
  1. Selects payment rule, "Use Enterprise of an Order(Instead of the Seller) to Determine Payment Processing Rules" in the System Payment Processing Rules from the application manager.
  2. Defines payment method "Test" under the DEFAULT enterprise.
  3. Creates a Store under DEFAULT enterprise. For example, TestNode.
  4. Creates an Order from store with "TestNode" as a Seller Organization.
  5. Opens the order on the Application Console.
500837 Internal If a custom pricing rule of type, Item Quantity or Combination is applied to multiple order lines, the individual adjustments applied to the order lines are not honored.
535058 Internal An error "empty stack exception" is displayed, when a user performs the following sequence of actions:
  1. Enables the free gift pricing rule.
  2. Creates an Order.
543328 23809,082,000 OMPSimplePricingOrderLineImpl, which has an indirect reference to YFS_Order_Header, is cached. This causes memory leak and eventually major latency.
535062 Internal When shipToAddress is passed to getFulfillmentOptionsForLines, it is not passed to YFSgetExternalAvailabilityUE as input.

Solution: When shipToAddress is passed to getFulfillmentOptionsForLines, it is passed to YFSgetExternalAvailabilityUE as input.

535060 Internal OrderReference is not populated in the PricelistHeaderSelectionUE input when a user performs the following sequence of actions:
  1. Enables free gift pricing rules and implements PricelistHeaderrSelectionUE user exit.
  2. Creates and activates the Free Gift pricing rule.

Solution: This issue is fixed.

548231 86909,000,834 Some language bundle entries of SBC were incorrectly removed resulting in usability issue.
547647 Internal Expected time of Shipment is incorrectly updated when a user performs the following sequence of actions:
  1. Configures a listener to change the status to extended schedule say SCH_EXT when transfer order is received.
  2. Sets up node and inventory configuration to support transfer order from NODE2 to NODE1 with fixed transit days as 2 days.
  3. Creates an order with delivery date in future and carrier service and SCAC.
  4. Schedules the order, a transfer order is created.
  5. Schedules, releases, and ships the transfer order before time.
  6. Receives the order early. The sales order is moved to SCH_EXT status and ETS is incorrectly updated to current time on the sales order line.
535066 Internal Only one FreeGift was assumed for a 'EACH_COMBINATION' pricing rule, where multiple quantity are specified for the target quantity.

Solution: 'EACH_COMBINATION' FreeGift rule has been fixed by enabling multiple qty to be given as a free gift for each combination of eligible items.

536801 42409,227,000 If an agent with more than one threads has a backup queue configured in the product and uses Jboss messaging, it is observed that when the Jboss primary queue is not reachable during the agent server startup, the agent server threads are not able to connect to the backup queue.
522969 Internal When a quote is validated in Sterling Field Sales and the verbose logging is enabled, BOMXML Validation failed error is thrown consistently.
522979 Internal The findInventory API is unable to find availability, when the inventory is kept as external and ShipNode is passed in the input.
522989 Internal When sourcing rule based on Item classification are defined, extra spaces or blank value are observed in the query for reading sourcing header.
545699 Internal Real Time Availability Monitor algorithm 00 does not display OnhandAvailableQuantity as the user defined infinite value in alerts.
545701 Internal Problem: Attributes are missing in the OMPGetSourcedFromNodesExternallyUE input for the Procurement scenario.

Solution: The application is enhanced to display Original Line Ordered Quantity for the chained lines in the input of the user exit OMPGetSourcedFromNodesExternallyUE. The user exit template must be extended to include OriginalLineQuantity under the <PromiseLine/> element.

527056 Internal When importOrder API is called with Promotion and Award in the input xml, the PROMOTION_KEY is not stamped in the yfs_promotion_award table.
545703 Internal Problem: IBM Call Center for Commerce or IBM Order Management System runs a query on the customer table during the login process, even when a user is not a customer.

Solution: Fixed the product to query on yfs_customer_contact only for customer users based on the YFS_USER.IS_CUSTOMER flag. The YFS_USER.IS_CUSTOMER flag indicates if a user is a customer in the system. As a part of the fix, the manageCustomer API will set YFS_USER.IS_CUSTOMER ='Y' for the inserted user records.

For backward compatibility, if the system has users who are customers, run the following query to update the Is_Customer flag for the existing user records:

UPDATE <SCHEMA>.YFS_USER
           SET IS_CUSTOMER = 'Y'
           WHERE TRIM(LOGINID) IN
          (SELECT USER_ID
           FROM <SCHEMA>.YFS_CUSTOMER_CONTACT a,
                <SCHEMA>.YFS_CUSTOMER b
           WHERE a.CUSTOMER_KEY=b.CUSTOMER_KEY);
545707 Internal Problem: Users need a unique identifier to track and record asynchronously closed payment transactions.

Solution: PaymentCollection user exit output object is enhanced to accept asyncRequestIdentifier when a transaction is closed asynchronously. This identifier can be passed in the recordExternalCharges API input to record the response for the original transaction for which the response is getting recorded.

AsyncRequestIdentifier must be passed along with ReducePendingAsyncronousAmounts as Y in the recordExternalCharges API input to store AsyncRequestIdentifier against the newly recorded transaction, and to reduce the requested amount on the payment method. A response for an asynchronously closed transaction must only be recorded once in the system. Trying to call recordExternalCharges twice for the same AsyncRequestIdentifier will record the duplicate transaction in yfs_charge_transaction, but the corresponding requested amount on the payment method will not be reduced.

AsyncRequestIdentifier is an optional attribute, if NULL or not passed the recordExternalCharges will not store AsyncRequestIdentifier against the payment transaction.

544961 32334,L6Q,000 AVAILABLE_DATE is not calculated correctly for transaction RELEASE in YFS_TASK_Q table when a user performs the following sequence of actions:
  1. In the Installation rule, checks "Release Order On Date-Time".
  2. Creates an order for 1 quantity with ReqShipDate within 30 minutes from current time.
  3. Schedules the order.
  4. Runs the ReleaseOrder agent.

Order is not released and AVAILABLE_DATE in YFS_TASK_Q is pushed by 30 minutes.

Solution: After the fix, the AVAILABLE date will not be pushed by 30 minutes rather it will be calculated based on ReqShipDate.

545693 Internal Null pointer error is displayed on the Cancel Return screen of IBM Call Center for Commerce when a user performs the following sequence of actions:
  1. Creates a sales order with the two quantities of an item A.
  2. Schedules, releases, and ships the order.
  3. Invoices and settles.
  4. Creates a return from IBM Call Center for Commerce UI for both the quantities and confirms them.
  5. Receives 1 quantity on the returned line by using the foundation console.
  6. Goes to the Return Order Summary screen in IBM Call Center for Commerce and clicks the Cancel Return screen.
  7. Selects the cancellation return reason code and double clicks the Enter Quantity field to cancel the entered quantity.
  8. Enters the quantity as 1 and clicks the Save/Next button.
  9. Clicks ok on the confirmation dialog box.

    The Error description not available error message is displayed on the UI.

545705 Internal The default Real Time Availability Monitor (RTAM) algorithm does not consider the demands for future date when a user performs the following steps:
  1. Sets the monitor rules and distribution groups for monitoring as required by the RTAM.
  2. Creates an item ITEM_1 with no lead time setup.
  3. Adjusts an inventory for the above item in STORE1 quantity 5.
  4. Creates a reservation for quantity 1 for future date.
  5. Calls the monitorItemAvaialbility API for this item. An alert is generated with OnhandAvailableQuantity="5.00".
523014 Internal The requestCollection API gets into a infinite loop, when a user performs the following sequence of actions:
  1. Enables BC payment processing by setting the yfs.payment.persistCtrMaps to Y.
  2. Creates an order for $100.
  3. Creates a CTR for $100.
  4. Takes Authorization for $100.4. Authorization expires.
  5. Deletes the CTR.
  6. Creates a new CTR.
523019 Internal The getResourcePoolCapacity API performance is improved to a great extent.
546373 Internal Problem: When an SDF service that has the JMS Sender Component is used to send messages to a jms queue, an anonymous QueueSender object will be cached for QueueSession. When the same QueueSession is used again, instead of creating a fresh QueueSender, the cached QueueSender object will be used to send the message.

Solution:

This feature is disabled by default. To enable this feature, the following property must be added in the customer_overrides.properties file:

yfs.jms.sender.anonymous.reuse=true

This feature is effective only when the jms session pooling in the product is enabled.

The maximum number of times the same QueueSender object to be reused can be configured by setting the following property in the customer_overrides.properties file:

yfs.jms.sender.anonymous.reuse.limit=5000

The default value of this property is 5000.

527687 Internal Order is not scheduled properly, when inventory is partially available on procurement node under the following configurations:
  1. Sourcing rule has "Use Only on hand Inventory".
  2. Procurement sourcing rule has "Use shipping Delivery Souring Rule Inventory Window".
  3. Scheduling constraint "Line ship from single node" is set.
527096 Internal The YFS10131 error is observed, when a user completes a standalone work order on sales order with product lines already delivered and then performs the following sequence of actions:
  1. Bundles Item with few product lines BUN_1 consisting of component items COMP_1 and COMP_2.
  2. Delivers service. For example, DS_1.
  3. Delivers service slots and resource pool exist with appropriate resource capacity.
  4. Creates an Order with Bundle Item. For example, BUN_1.
  5. Calls scheduleOrder with Release="Y", Order status moves to Partially Awaiting shipment consolidation.
  6. Calls consolidate to shipment for the release created and then confirms the shipment.
  7. Calls Deliver shipment. Order status will be partially delivered as bundle parent line is not yet delivered.
  8. Calls changeOrderStatus API to move the status of bundle parent to delivered.
  9. Adds a delivery service line. For example, DS_1.
  10. Creates work order for DS_1.Takes an appointment.
  11. Confirms the work order.
546376 Internal Problem: The JMS session pool in the product is enhanced such that for a given thread, a queue session will be reused across the SDF services when a user performs the following sequence of actions:
  1. Ensures to have multiple SDF services that have the JMS sender component, to send a message to different queues, but all the services have the same queue connection configuration.
  2. Ensures that the jms session pooling in the product is enabled.
  3. Ensures to have an asynchronous integration service with the multiple threads, such that the above mentioned SDF services are called in the same transaction boundary randomly to send a message.
  4. Runs the above mentioned integration service using an integration server.

Solution: This feature is disabled by default. To enable this feature for the jms session pool, the following property must be set in the customer_overrides.properties file:

yfs.yfs.jms.session.pool.reuse.across.services=true

541262 84299,442,000 The product is enhanced to use the number of retry attempted for NO_WAIT locking on YFS_INVENTORY_ITEM or INV_INVENTORY_ITEM_LOCK in hot sku OLA. Set the property yfs.hotsku.NumberOfLockWithNoWaitAttempts to a valid integer value [minimum value 2]. The default value is 3.
527687 Internal Order is not scheduled properly, when inventory is partially available on procurement node under the following configurations:
  1. Sourcing rule has "Use Only on hand Inventory".
  2. Procurement sourcing rule has "Use shipping Delivery Souring Rule Inventory Window".
  3. Scheduling constraint "Line ship from single node" is set.
550220 Internal Problem:
  1. If the asynchronous raise event is enabled post commit of the parent transaction using the property 'yfs.asyncevent.enabled=true', it is observed that if the database commit of parent transaction fails for some reason, the asynchronous event still gets raised.
  2. If the asynchronous order audit publish to external systems is enabled using the property 'yfs.publish.mode=OrderAudit', it is observed that if the database commit of parent transaction fails for some reason, the order audit record is still published to the external system.

    Solution: If the commit of the database fails for the parent transaction, the 'asynchronous publishing of the order audits to external system' and 'asynchronous raise event' should not occur for the parent transaction.

550223 Internal During changeOrder calls, when a customer adds references to YFS_Reference_Table, duplicates were created in YFS_Reference_Table. Order sync agent picks the order and tries to create it at enterprise and that is failing with the duplicates not allowed error. This happens when the order has more than 15 references that are two reference table records and when the list with the "WHERE" query for the reference table records in the changeOrder API returns the records in the descending order of their sequence.
547635 Internal Problem:When a User Exit (UE) exposed under an API is implemented, the statistics record for the UE is logged with same CONTEXT_NAME as that of the API. So, the duplicate records are displayed for the API call.

Solution: The product is enhanced such that the statistics record for the User Exit will display the User Exit name in the CONTEXT_NAME column.

522980 Internal The findInventory API is unable to find availability, when the inventory is kept as external and ShipNode is passed in the input.

9.5.0.10

Defect ID PMR # Description
523056 Internal Redundant call to the OMPConfirmRefundDistributionUE user exit is removed for the processReturnOrder API.
523060 77404,082,000 The Application Manager does not respond and the error message java.lang.StackOverflow is displayed when a user performs the following sequence of actions:
  1. Navigates to Application Manager > Warehouse Management System.
  2. Selects the nWMS nodes button from the pop-up window.
  3. Selects the node to be configured and the enterprise.
  4. Clicks OK.
533338 54343,227,000 Extended modifications to a grid do not get saved sometimes due to the "This value is required" error.
499452 Internal The PAYMENT_COLLECTION.PAYMENT_STATUS event is raised, when the order payment status is not updated.
523072 Internal The recordExternalCharges API does not update the Open_Order_Amount in the yfs_customer_acct_balance for a customer account payment method, when CHARGE is recorded for an asynchronous payment processing.
499458 Internal In the Change Data Import agent, when multiple zip files belonging to the same profile are imported, it is observed that the on_complete event displays success only for the first zip file of the profile even if all the zip files have succeeded.
521713 40730,442,000 Problem: Some of the entities that are added through the factory setup are not getting tracked through the Delta export.

Solution: Enhanced MigratorMain to read CallingOrganizationCode from the Task element and used the same for executing the task.

499462 Internal Refund amounts are split and multiple RFOs are created, when a user performs the following sequence of actions:
  1. Enables Allow Immediate Refund from Hold Amount.
  2. Keeps the refund configuration for the gift card as RFO.
  3. Keeps the refund configuration for the credit card as RFO.
  4. Creates an order with the two order lines. For example, $80, and $20.
  5. Pre-charges the order with a gift card ($30 charges are created with hold against book), and one credit card with the authorize and charge.
  6. Ships both the lines.
  7. Creates the shipment invoice.
  8. Runs the requestCollection API. $30 is distributed against the invoice and the remaining amount of $70 is collected from the credit card.
  9. Returns the line 1 ($80).
  10. Creates an invoice.
  11. Adds the third line to the SO for $20.
  12. Runs the requestCollection API. An RFO is created for $70.
  13. Runs the requestCollection API. Another RFO is created for remaining $10.

Solution : The new customer override property, yfs.payment.overrideDeferredCreditRefundWithAllowImmRefFromHold, is exposed. This property is set to Y in the customer_overrides.properties file. Setting this property to Y along with the payment rule Allow Immediate refund from hold amount will calculate the sum of negative debit (negative invoice) that are not refunded (distributed). The system refunds the complete negative debit from the amount that is held against the book. (Charges with hold against book as Y).

Note : Setting this property overrides DO_NOT_CONSOL_DEBITS_OR_CREDITS = N. When you have the positive and negative invoices in an order that are not settled, the system would consolidate all the negative invoices, create a refund, consolidate all the positive invoices separately, and create a charge request.
516118 Internal When the Purchase Order is created and then the Sales Order is created with the order lines chained from the Purchase Order lines by using the ChainedFrom element, the Related Orders link does not work at the header level.
499466 Internal All the buyer organization profiles are eligible for the export except for the B2B organization.
516120 Internal The validateReship API fails with ErrorCode="YFS10309" and ErrorDescription="YFS: Invalid Scheduling Rule Id", when a user performs the following sequence of actions:
  1. Creates the two enterprises, E1 and S1.
  2. Adds the role SELLER to S1.
  3. Creates the scheduling rule SR1 for E1.
  4. Creates an order for enterprise E1 and seller S1, stamping with AllocationRuleID="SR1".
  5. Schedules the order and releases the order.
  6. Creates and confirms the shipment.
  7. Calls the validateReship API with OrderHeaderKey in the API input.

Solution:The validateReship API is fixed to identify the scheduling rule from E1.

516122 Internal The application is enhanced to support the selective tracing of components such as API or services or agents based on the log categories.
Solution : The application is enhanced such that when the trace is enabled for a component such as API or service or agent, a user can additionally configure the comma separated log categories. When the API or service or agent is run, only the trace statements from the configured log category classes are logged into the log files.
Note: For more information on the modifyTraces API, refer to Javadocs.
Note: This feature is designed for debugging purposes. To ascertain, how log categories must be configured for debugging issues, users must contact IBM Customer Support.
499468 Internal If a business customer exists with the same combination of OrganizationCode and Buyer Organization, the manageCustomer API validates it.
545862 09154,442,000 Publishing of the order audit data to the external system does not work even after setting the appropriate values for the publish.mode and order.audit.publish.listener properties.
515382 Internal Problem: The CreateShipment API fails with the error ShipmentLine quantity cannot be less than sum of tagged quantity of the line and containerized quantity when a user creates a shipment for the tag controlled item with the decimal quantities.

Solution: There are some discrepancies when using the comparator operator with the decimal values. This is fixed by replacing the comparator operators with the associated double-util methods.

524491 Internal If a hang-off table is created for the YFS_ORDER_HEADER table, and the importOrder API is called with the History="Y" xml attribute in the root level element of the API input, it is observed that the new database record for the hang-off table is created in the non-history table instead of the corresponding history table.
524499 Internal The null pointer exception is displayed, when a user performs the following sequence of actions:
  1. Enables the dynamic distribution logic in the financial rules.
  2. Creates an order and moves it to the Shipped status.
  3. Creates a return order.
  4. Purges the sales order and the return order.
  5. Calls the getCompleteOrderDetails API for the sales order with the output template that has ChargeTransactionDetail.
513616 Internal Configuration:
  1. Set up a node and an item.
  2. Set up sourcing rules, scheduling rules, and landed cost.
  3. Implement OMPGetExternalCostForOptionsUE.

Problem: The fulfillment type attribute is not populated in the XML input of getExternalCostForOptionsUE for certain transactions when a user performs the following sequence of actions:

  1. Creates an order with the fulfillment type passed at OrderLine.
  2. Schedules the order.

    The UE input formed does not have the fulfillment type in the PromiseLine element.

513621 Internal A query generated by the consolidateToShipment API results in evaluating the non-eligible shipment thereby affecting the API performance.
535052 Internal CALCULATE_INV_VELOCITY  in the mode 10 does not pick up sudden hotness of an item and hence does not update NEXT_PROCESSING_TS on the activity for an inventory item in the YFS_INVENTORY_ACTIVITY table.
518745 Internal Performance improvement in the payment collection agent.

A new agent criteria, AuthorizationExpirationDateWindowInDays is introduced for the PAYMENT_COLLECTION agent. Setting this criteria to a positive non-zero number would add an additional where clause for the Payment_Collection agent to pick orders having AUTHORIZATION EXPIRATION DATE between the current date and current date - AuthorizationExpirationDateWindowInDays.

Example: AuthorizationExpirationDateWindowInDays=10, if the current date is 9/12/2016. The agent would only process orders having AUTHORIZATION_EXPIRATION_DATE between the current date such as 9/12 and currentDate - 10 such as 9/2/2016.

Note: For the document updates on Payment Collection, refer to Payment Collection.
519607 Internal When the sales order has the purchase order associated with it, the Invalid Order error is displayed, if there is a record shortage for a shipment line from Sterling Store.
518749 Internal UnitPrice passed with IsPriceLocked="Y" in the API input is ignored on the Return Orders with GTIN item, when a user performs the following sequence of actions:
  1. Enables Read Availability across Items Sharing the same GITN feature in the Global Inventory Visibility.
  2. Sets up more than one item with the same Global item ID. For example, Item001, Item002, Item003. This allows the Item Substitution feature.
  3. Sets up On Hand Inventory for Item002.
  4. Creates an Order for Item001.
  5. Schedules the order and releases the order.
  6. Creates shipment for the same order.
  7. Confirms the shipment.
  8. Creates a return order for the shipped item. Makes sure to pass UnitPrice. Example, <LinePriceInfo UnitPrice="100.00" IsPriceLocked="Y" />.
  9. Creates a return order, and checks the return order total.

Solution: When LinePriceInfo is passed with IsPriceLocked="Y" attribute, the LinePriceInfo element of the order line with the substituted item is not ignored.

519609 Internal The Real-Time Availability Monitor (RTAM) deletes the activities, without publishing the inventory alert for the ship node.
546133 Internal The consolidateToShipment API consolidates the order releases incorrectly to the existing shipment, even if the existing shipments are created with DoNotConsolidate="Y".
523028 Internal The status 9000 (Shipment Canceled) must be a valid pickup status for the transaction CLOSE_SHIPMENT.0006.
527076 Internal The outbound shipment handling cost is not considered correctly, when a user performs the following sequence of actions:
  1. Enables Landed cost, handling cost, transportation cost.
  2. Sets outbound Shipment handling cost for store to $1000000.
  3. Creates Items ITEM_1 and ITEM_2.
  4. Creates two stores. For example, NODE_1 and NODE2.
  5. Configures the Sourcing Rules to have the Nodes created.
  6. Calls the FindInventory API with two promise lines; ITEM_1, Quantity 1 and ITEM_2, Quantity 1.
545346 28023,211,788 Configuration:
  1. Enable landed cost, handling cost, transportation cost.
  2. Set outbound Shipment handling cost for store to 1000000.
  3. Create an item ITEM_1.
  4. Create two stores NODE_1 and NODE2.
  5. Adjust the inventory NODE1: 1, and NODE2: 2.
  6. Sourcing rules are configured to have the nodes created.

Problem: Handling cost when the choice selection in logs appears as 100000 for NODE1 and 200000 for NODE2 though comes correct in the solution when a user calls the FindInventory API with the promise lines for ITEM_1 Quantity 2.

519605 Internal When the partial cancellation of the order happens, null pointer exception is displayed.
514506 Internal Problem: When no tracing is enabled in the application, the function YFCLogManager.checkLogRegistry() is invoked several times and it utilizes a considerable amount of the CPU.

Solution: The logging framework is fixed such that the unnecessary calls to the YFCLogManager.checkLogRegistry function is eliminated.

546132 Internal "Data Security Violation" is observed when a user performs the following sequence of actions:
  1. Creates a new locale from the Applications Manager.
  2. Creates a new category using the manageCategory API with the valid input under the CategoryLocale element to localize the category details.

Solution : Two separate API calls or a multi-API call is used to insert the Category and CategoryLocale data. The Java docs are also updated with these details.

546134 Internal For the document updates about the newly added text, refer to Customizing the logo on the sign in screen.
527086 Internal For VMI model, the application is enhanced to consider the node control for the organization where the inventory or supply is adjusted.
523052 Internal The SBC Organization drop-down is not visible when a user re-sizes the browser.
547643 Internal For the document updates about the newly added note, refer to Defining user interface validation.
547617 Internal For the document updates about the newly added text, refer to Calculating notification date.
546135 Internal In Sterling Business Center, the Pricing Rule is created with WhenToApply as SINGLE_ITEM instead of ALL, when a user performs the following sequence of actions:
  1. Creates an Order Total Manual Pricing rule with When to Apply as All Items.
  2. Saves the order.
  3. Views the pricing rule details using the API.
523049 Internal The thread safety of the CacheManager is increased, so that the PromotionRulesCache is enabled as expected.
546158 Internal In Sterling Business Center for the resource pool, we create the slot and slot group only through Application Manager Console. It is required that these slot details are created and managed by an external system and the same are updated automatically through an integration with the system.

Solution: The manageServiceSlotGroup is introduced to create, modify, and delete Service Slot and Service Slot Group.

This API enhances Sterling Business Center screens such that a user can manage Service Slot Group from Sterling Business Center.

This configured Service Slot Group is set on a resource Pool for Purpose ‘INVENTORY’ from Sterling Business Center. Currently setting Service Slot Group is allowed only to be set for resource Pool with Purpose ‘SERVICE’ from the Application Manager.

546144 Internal The SKUs are not displayed on the UI, when they are not returned in the getItemListForOrdering API output. These SKUs are not returned in output, since the default maximum number of records returned by the getItemListForOrdering API is limited to 1000.
547649 Internal Problem: A user cannot deselect the default selection in the multi-select tabular display.

Solution: Enhanced the product code to allow a user to deselect the default selection in the multi-select tabular display.

520171 Internal As a part of Sterling Order Management and WebSphere Commerce integration, when one way or two way SSL between Sterling Order Management and WebSphere Commerce is enabled, 'java.io.IOException: Server returned HTTP response code: 500' exception is observed for 'https://<host>:<port>/webapp/wcs/component/order/services/OrderServices' URL in Sterling Order Management when the modifyOrder API is called.
546138 Internal The Elastic Search index does not work, when the customer index for OrderStatus is added by extending entities.xml.

Solution: The out of the box relationship is added from the YFS_ORDER_HEADER to the YFS_ORDER_RELEASE_STATUS table. To index the OrderStatus, a user must extend the STATUS column and the relationship "Name=OrderHeader" of the YFS_ORDER_RELEASE_STATUS table.

546137 Internal The XPATH utility functions provided by the class SCXmlUtil, cache the xpath expression internally without any upper limit due to which OutOfMemory error is observed.

Solution: The utility is enhanced, such that the xpath expression cache limit is controlled by the system property scxmlutil.xpathexpr.cache.limit.

This property is passed as a system argument at the time of JVM startup. It is used to set the maximum number of XPath expressions which can be present in the cache.

The default value of this system property is -1. If the value < 0, an unlimited cache is used.

If value = 0, no cache is used.

If value > 0, the cache size is limited to the value. If the cache limit is reached, the least recently used entry is removed from the cache to put a fresh entry.

For example, to set a limit of 100K Xpath expressions in the cache, pass the following system argument in the JVM startup: Dscxmlutil.xpathexpr.cache.limit=100000.

9.5.0.9

Defect ID PMR # Description
502752 Internal "Either Work Order Key or Work Order Appointment Key incorrect" error message is displayed when a user performs the following sequence of actions:
  1. Creates a delivery order with multiple product lines and a work order with the appointments.
  2. Schedules and releases the order.
  3. Creates a shipment, for example, S1 and makes sure that all the lines must be in a single shipment.
  4. Calls the changeShipment API to set the quantity to zero for one shipment line.
  5. Removes corresponding order line from the existing work order.
  6. Adds a new delivery request for the order line removed from the shipment.
  7. Creates a new work order for a new delivery line.
  8. Schedules and releases the order.
  9. Creates a shipment S2 for a new release.
  10. Calls the changeShipment API to modify the first shipment.
502755 Internal When a Customer Service Representative (CSR) tries to complete a cancel order flow, a Sales Order that is in "Included in Shipment" status, the Order is in the same status and no error is reported.
502756 Internal The MaxChargeLimit is not calculated correctly, when a user resumes the suspended credit cards.
537861, 534396 94791,122,000 Configuration: Enable reverse excess for the payment method and "use same authorization multiple times".
Steps:
  1. Create an order for $100.
  2. Take an authorization for $100 - AuthorizationID - A1.
  3. Ship and invoice $10.
  4. Run the payment API.
  5. Charge of $10 is created using $10 of A1.
  6. Authorization A1 is expired.
  7. Run requestCollection.

Problem: System reverses the complete $100 authorization A1.

538006 88580,227,000 changeShipmentContainer API fails with the error code "YFC0009" when a user performs the following sequence actions:
  1. Creates an order with two different items having 1 quantity each for a SIM Node.
  2. Schedules and releases the order.
  3. Creates a shipment for the order.
  4. Completes the Backroom Picking of the shipment.
  5. Completes the packing of the entire shipment of 2 quantity in the same container.
  6. Calls the removeFromContainer and changeShipmentContainer APIs in a multi-API to remove one item from the container and reduce the weight of the container.
537867, 535471 Internal, Internal Problem: In some Order Management System environments, because of a high volume of the data, initial full sync of the catalog and related sync profiles is done manually outside the sync agents using the native database features. Delta-sync for the same profiles is done using the data-sync feature of the product.

Currently, without this feature manual changes are done with each deployment as if the full-sync is performed. This is not scalable for a large number of stores.

Solution: As a part of this enhancement, when defining the sync profiles through the SBC UI or APIs, a user can specify in the sync profile definition whether the profile will be used for:
  • Full-sync
  • Delta-sync, or
  • Blank (both the full-sync and delta-sync)

With this enhancement, the CHANGE_DATA_EXPORT agent will only consider the sync profiles whose SYNC_TYPE column value matches the CHANGE_DATA_EXPORT agent sync mode which is passed in the agent criteria parameter. Sync profiles with the no sync type defined will be considered for both the full-sync and delta-sync as it is the existing behavior.

A new service MarkEntityChangesForFullSync is provided which can be used by a system user to mark the entity changes as sync exported. So, the entity changes made after the external full sync are not lost due to optimization.

For more information, see External custom full sync support.

516116 Internal Inventory Activity record is not created for an item, when the inventory is adjusted from infinite to a finite value and when a user performs the following sequence of actions::
  1. Creates an ITEM and Node. For example, ITEM_1, NODE_1.
  2. Enables RTAM in the activity based mode.
  3. Sets up distribution group and rules for monitoring.
  4. Adjusts Inventory for ITEM_1 at NODE_1 to infinite.
  5. Adjusts Inventory for ITEM_1 at NODE_1 to a finite value.
512142 Internal RTAM Quick Sync publishes alerts recursively, when FromAlertTimestamp and FromLastNumberOfHours is used.
537512 20478,000,834 Extended assignment functionality to support the use case where a customer wants to filter pricingRuleAssignment based on the extended attribute similar to out of the box customer profile assignment attributes. Extending either YPM_Pricing_Rule_Assignment or YPM_Pricelist_Assignment requires that both are extended.

We have also extended the pricelist or pricingRule seller assignments in the same manner as the customer assignments so all the assignments can use the extended attributes. In case of the seller assignment, the Seller Organization record is used to determine eligibility. To have a valid assignment with an extended attribute set, YFS_Organization will have to be extended with the same attribute as your assignment tables.

Existing functionality for determining the customer assignment eligibility was to use the selectionCriteria or customer record to determine eligibility. There is a related use case where a customer record does not have an attribute set and a user wants to pass this attribute in selectionCriteria when using the remaining customer attributes to determine the assignment eligibility. To allow for this use case we have provided the following rule:

YPM_RULE_PRICING_USE_SELECTION_CRITERIA_AS_OVERRIDE_TO_CUSTOMER

This rule will default to "N", but organizations can set this rule to "Y" to override customer attributes during getOrderPrice or getApplicablePricingRuleList.

539018 Internal Original ordered quantity is not getting updated in the yfs_order_line table for the draft orders when a user performs the following sequence of actions:
  1. Creates a draft order for the quantity 2.
  2. Calls the changeOrder API to change the quantity to 5.
543563 Internal Configuration: AttributeValue and RetentionDays configured as ParameterName in the OrderPurge transaction, must take the input as comma-separated (ParameterValue) values for AttributeName(OrderType).

Condition: Index of each comma-separated data of RetentionDays will correspond to the respective AttributeValue. See ../com.ibm.help.config.timetriggered.doc/configuration/r_OrderPurge.html for more information.

Operation: Run the OrderPurge agent.

Solution: Orders will be purged based on OrderAttribute (OrderType) apart from the existing PurgeCode based logic.

500833 Internal The adjustInventory API functionality is enhanced to support a new value "A" for the RemoveInventoryNodeControl attribute.
Note: For more details, refer to the API Java docs.
535064 Internal Inventory activity is not created for an item, when inventory_item_key does not exist for an item and infinite inventory is adjusted.
535068 Internal IBA agent is not processing the items which have inventory node control in any node, when a user performs the following sequence of actions:
  1. Creates and schedules a Sales Order with Item1 for Node1, that has the future inventory.
  2. Adjusts the ONHAND inventory for Item1 at Node1.
  3. Invokes the manageItemBasedAllocationTrigger to set IBARunRequired=Y for this Item and Node combination.
  4. Triggers IBA agent. A user can see that SCHEDULE_HOLD gets applied on the order.
  5. Applies the inventory node control by calling manageInventoryNodeControl API for Item1 at different node such as Node2.
  6. Repeats the steps 1 to 4, the hold is not applied on the order.
542454 Internal Problem: getOrderList fires a SQL query with the OrderHeaderKey on OrderLineSchedule table even though output template does not include the following attributes or elements of OrderStatus:
  • Attributes: ShipNode/ProcureFromNode/ReceivingNode/MergeNode/ExpectedDeliveryDate/ExpectedShipmentDate
  • Elements: Details/ShipNode

Solution: Fixed to load the schedule only when the mentioned attributes or elements of OrderStatus are present in the template.

509424 Internal Packages that are included in future manifest are displayed on the "Ship Packages" screen. These packages cannot be shipped as the future manifests cannot be closed.

Solution : The packages which manifest for the current or prior date will be displayed on the "Ship Packages" screen.

509428 Internal Customer Account Balance is not updated as the Seller has "Payment processing" in the disabled status, when a user performs the following sequence of actions:
  1. Configures an enterprise as DEFAULT and Store1 as an organization being a Node and Seller.
  2. Enables the payment processing for DEFAULT.
  3. Disables the payment processing for the Seller.
  4. Checks the payment rule of the use enterprise of an order to determine the payment processing rule.
  5. Creates a customer account.
  6. Creates an order with Store1 with the customer account payment method.
  7. Ships and invoices the order.
  8. Runs the payment API.
531189 Internal Problem: Installation of IBM Sterling Order Management fix packs on the OMS-WMS environment does not complete successfully.
Solution:
  1. Apply a patch in the runtime before applying the IBM Sterling Order Management fix pack.
    Note: For details, contact IBM Customer Support.
  2. Apply the minimum supported fix pack on the OMS-WMS environment that is IBM Sterling Order Management 950-FP9.
530700 Internal In the partial procurement scenario, improper landed cost calculation leads to an incorrect choice selection and thus a non-optimized solution.
530702, 530704 Internal, Internal The application is enhanced such that it does not lock the yfs_inventory_item, during the availability check by using the OLA feature. The following configurations must be done for this feature:
  1. To enable Granular Locking, set the yfs.hotsku.useGranularLockingForItem property to Y. This property is in addition to the properties introduced for OLA.
  2. To enable No lock for an inventory item while availability check, set the yfs.hotsku.qtyMultiplier property to a negative value. For example, yfs.yfs.hotsku.qtyMultiplier=-1.
  3. It is recommended to set yfs.hotsku.assumeUnavailableOnLockTimeout=Y with this feature.
530708 Internal The Carrier service transit times are not considered for substituted lines.
527081 Internal For the item-node combination, queries are observed for the YFS_INVENTORY_SUPPLY and YFS_INVENTORY_DEMAND tables, even when the InventoryKeptExternally flag is set to 'Y' for the node.
502751 Internal When Hot SKU is enabled, if global availability becomes high from "not available" for an inventory item, the inventory item lock record with the purpose "11" is not updated or deleted in the INV_INVENTORY_ITEM_LOCK table. Hot SKU is enabled, when the yfs.yfs.hotsku.lockOnlyOnLowAvailability =Y and yfs.yfs.hotsku.assumeUnavailableOnLockTimeout =Y properties are enabled.
545117 Internal Configuration: Adjust the inventory for an item against a node. The item can have safety factor quantity or percentage enabled. The safety factor quantity or percentage can be enabled across the delivery methods as well.

Condition: Invoke the inventory APIs such as findInventory.

Operation: Enable the template for a user exit getExternalCostForOptions, with the Supplies element present in it as per the java documentation.

Solution: Every assignment option generated will have the Supplies details. This assignment option can be for a normal item or an item fulfilled with the procurement nodes or substitute items.

543366 Internal The print dialog box is not displayed when a user performs the following sequence of actions:
  1. In the Outbound Shipment Console screen, searches for a shipment.
  2. Opens the Shipment Detail screen.
  3. Clicks on the action Print.
512138 Internal The registerBatchPick and recordShortageForBatchPick APIs must be enhanced to support Transfer Orders, when the Transfer Order delivery pipeline is customized to support the Backroom Pick functionality.
512140 Internal The YPMRunCustomPricingRuleUE User Exit is not invoked, when the target item list is empty for a custom Pricing Rule, when the getOrderPrice API is called.
512144 Internal Invalid reship quantity passed error is displayed by the getReshippableOrderLines API when a user performs the following sequence of actions:
  1. Creates an order of 2 order lines with the delivery method as PICK.
  2. Schedules and releases the order.
  3. Creates a shipment and makes sure that the shipment is in the Ready For Backroom Pick status.
  4. Completes the backroom pick task and makes sure that order moves to the Ready For Customer status.
  5. Performs the customer pick for one line item and short picks the other line item.
  6. Makes sure that the shipment has a line with zero quantity.
  7. Calls the getReshippableOrderLines API for the order.
512146 Internal When the order total is negative, the Payment Dynamic distribution does not honor the yfs.payment.dynamicDistribution.upperBound property.
512148 Internal The getOrderDetails API with the award element passed in the template, and the changeOrder API in the same multi-API call result in the PRICE mod type applied, when a user performs the following sequence of actions:
  1. Implements the YFSOrderRepricingUE user exit and additional line charges are included on the order or order line.
  2. Triggers the YFSOrderRepricingUE user exit.
Solution: The virtual column, AMOUNT_FROM_ADDNL_LINE_PRICES is changed to a managed variable, accessed through the get or set methods to avoid the PRICE mod type triggering when the value is calculated.
512150 Internal The CapturePayment API does not pass the Currency and SecureAuthenticationCode attributes to the collection user exits for the zero dollar authorization.
512156 Internal When Return Order payment processing is on the sales order, the ChargeTransaction details are not published in the PAYMENT_COLLECTION.ON_INVOICE_COLLECTION event XML.
545575 Internal Problem: getOrderExternally.xml is placed in an incorrect location repository/xapi/template/source/smcfs/userexit.

Solution: hffiles.ini is corrected to place the UE template in the correct location xapi/template/source/smcfs/userexit. The broken links in the javadocs for the input or output xml for YFSGetOrderExternallyUE are fixed.

522964 Internal Performance issue observed with getFulfillmentOptionsForLines when a user performs the following sequence of actions:
  1. Creates at least 20 ship nodes that have procurement allowed.
  2. Creates the distribution group including all the nodes for the products being shipped. For example, DG_S and products being procured such as DG_P.
  3. Sourcing rule for the fulfillment type such as PRODUCT_SOURCING has DG_S in the sequence 1 and procurement is allowed and for procurement rule, configures DG_P.
  4. Sets the Default Transit days to 2 in the Logistics attribute.
    Solution:
    1. Adjust the inventory 1 at each node for an item ITEM_1. So we have overall 20 Units available across the network.
    2. Call getFulfillmentOptionsForLines for the quantity 15.
507784 31452,999,744 The addContainerToManifest API updates the AirwayBillNo with blank value in the YFS_SHIPMENT table, when a user performs the following sequence of actions:
  1. Adjusts inventory for an item at pack location.
  2. Creates an outbound shipment.
  3. Calls addToContainer API to pack the shipment.
  4. Calls ChangeShipment API to stamp Airway_Bill_No in the YFS_SHIPMENT table.
  5. Calls addContainerToManifest API.
522212 Internal For the document updates about the text change, refer to Move from nonshraded mode to shraded mode.
545960 Internal For the document updates about the newly added parameters, refer to Order purge.

9.5.0.8

Defect ID PMR # Description
499460 77457,L6Q,000 Order purge agent does not purge the return order if the corresponding sales order has No payment processing required enabled and the sales order status is NOT_APPLICABLE.
529951 Internal Problem: The assignment quantities set by the getExternalCostForOptionsUE implementation is not considered by the Promising APIs.

Solution: As part of this enhancement, the promising APIs invoking getExternalCostForOptionsUE will consider the assignment quantities set by the implementation.

531235 Internal Problem: ShipToID is not getting changed after updating the customer information during the draft order.

Solution: The attribute ShipToID is exposed in the changeOrder input to update ShipToID at the order header level on change of a customer.

533111 Internal This is a security fix for masking the password.
Note: For more details, contact IBM Customer Support.
533841 53970,227,000 GetCalendarDayDetails gives an incorrect output when called twice in a single transaction boundary and FromDate is same or higher.
507778 Internal Problem: findInventory API fails with the class cast exception when the forwarding for items, nodes, and sourcing rules is enabled and the ship node and merge node are stamped on the promise line.
535042 Internal Performance issue is observed in the promising API when a user performs the following sequence of actions:
  1. Creates five nodes STORE_1, STORE_2, STORE_3, STORE_4 and STORE_5.
  2. Sets up transfer schedules to STORE_1 from STORE_2, STORE_3, STORE_4, and STORE_5.
  3. Adjusts an inventory for an item. For example, ITEM_1 at any of procurement node. For example, STORE_5 quantity: 5.
  4. Sets the Minimize Number of Shipments to Customer Through Transfers Between Shipping Nodes flag to True.
  5. Creates a sourcing rule with a distribution group consisting of all the nodes, STORE_1 to STORE_5.
  6. Calls the FindInventory or ReserveAailableInventory API for ITEM_1.
536815 Internal IBM Sterling Selling and Fulfillment Suite does not backorder or release the order, when the Purchase Order or Transfer Order is linked to a sales order line with a requested ship date or delivery date and due to delay in the Purchase Order, the requested dates are no longer met.
534747 60882,227,000 When Do Not Consolidate Settlement Or Refund Requests Across Invoices, Only Authorize Charge Transaction Request Total, and refund fulfillment order configuration for the payment method are enabled, processOrderPayment, changeOrder and getOrderDetails display Infinite Loop Detected in Dynamic Distribution Best Match exception when a user performs the following sequence of actions:
  1. Create an order with the two payment methods with pre-charge during the order creation.
  2. Reduce the order total and run the payment APIs. Transfer out charge is created for the reduced total.
  3. Create CTR for the partial amount that is to be released and invoiced.
  4. Run processOrderPayments.
535054 Internal When the lockItemOnInventoryChanges property is set to N, the deadlock is observed intermittently, when the batch updates are executed on the yfs_inventory_demand table for the chained order creation.
536805 Internal The Expected Delivery Date is incorrectly updated upon scheduling the order with forwarding enabled, when a user performs the following sequence of actions:
  1. Creates stores NODE_1 and merge node NODE_2.
  2. Creates a calendar at Ship Node NODE_1 from 00:00:00 IST to 23:59:00 IST, all days of the week.
  3. Creates a calendar at merge node NODE_2 from 08:00:00 IST to 18:00:00 IST, all days of the week.
  4. Creates the Node Transfer schedule from NODE_1 to NODE_2 with the transit time as 1 day.
  5. Enables "Use Forwarding" flag under Forwarding/Transfer Rules.
  6. Sets the Receipt Processing Time at merge node as 24 hours.
  7. Creates a Sales Order. For example, if the current date is 2016-01-01, create an order with shipnode as NODE_1, merge node as NODE_2 and ReqDeliveryDate="2016-01-10 T0 8:00:00".
  8. Schedules the order. Expected Delivery Date is stamped as "2016-01-09 T0 18:00:00".
535029 53607,082,000 During the pipeline determination, the condition returns an incorrect value due to which an incorrect pipeline is selected for the order when a user performs the following sequence of actions:
  1. Has a condition with one or more order fields. For example, 'OrderType equal to XYZ' and uses this condition in the pipeline determination rule to determine the pipeline for the order.
  2. Reuses the above condition in an SDF service and on true or false of the condition calls the createOrder API.
  3. Invokes the above SDF service with an input such that the condition returns true. For example, pass the input that has OrderType as XYZ.
  4. Invokes the SDF service again with an input having blank values for the condition fields. For example, pass the input that has OrderType as blank.
535746 63965,227,000 Problem: Conditions with the order line attribute evaluate to true or false for all the order lines of an order.

Solution: Condition parameters to evaluate the condition are corrupt with the order line attributes. This is fixed so that the conditions evaluate to different results as per the order line input.

535074 Internal When the consolidated additional inventory agent is run with the number of records to buffer being less then the total number of records in the yfs_inventory_demand_addnl table for an inventory item, incorrect demand and demand details are observed.
534172 Internal Configuration: Adjust the inventory for an item against a node. The item can have safety factor quantity or percentage enabled. The safety factor quantity or percentage can be enabled across the delivery methods as well.

Condition: Invoke the inventory APIs such as findInventory.

Operation: Enable the template for a user exit getExternalCostForOptions, with the Supplies element present in it as per the java documentation.

Solution: Every assignment option generated will have the Supplies details. This assignment option can be for a normal item or an item fulfilled with the procurement nodes or substitute items.

537207 87240,227,000 Problem: The ResetAll flag at the ZipCodeRanges element level in the changeRegion API does not function as expected. If the number of records for a particular region key is more than 500, and if ResetAll=Y is set, the product deletes only first 500 records as opposed to delete all the records from the YFS_REGION_DETAIL table.

Solution: The default limit of 500 records is removed, so all the records can be fetched and deleted.

522964 Internal Performance issue observed with getFulfillmentOptionsForLines when a user performs the following sequence of actions:
  1. Creates at least 20 ship nodes that have procurement allowed.
  2. Creates the distribution group including all the nodes for the products being shipped. For example, DG_S and products being procured such as DG_P.
  3. Sourcing rule for the fulfillment type such as PRODUCT_SOURCING has DG_S in the sequence 1 and procurement is allowed and for procurement rule, configures DG_P.
  4. Sets the Default Transit days to 2 in the Logistics attribute.
    Solution:
    1. Adjust the inventory 1 at each node for an item ITEM_1. So we have overall 20 Units available across the network.
    2. Call getFulfillmentOptionsForLines for the quantity 15.
509422 Internal A potential NullPointerException is observed, when a user creates the return order from the Commerce Call Center application.
522974 Internal Inventory is not visible in the consuming organizations (VMI model), when a user performs the following sequence of actions:
  1. Creates an Enterprise DEFAULT where default is Seller, catalog and Inventory Organization.
  2. Creates a Node, STORE_1 in DEFAULT.
  3. Creates an Enterprise ENT_1, where default is Seller, catalog and Inventory Organization. ENT_1 consumes inventory from organization DEFAULT.
  4. Creates an Item, ITEM_1 in DEFAULT and also an item, ITEM_1 in ENT_1.
  5. Adjusts Inventory for ITEM_1 for Inventory organization DEFAULT at STORE_1. For example, 10 Quantities.
  6. Inventory item gets created for ITEM_1 - DEFAULT.
  7. Calls find Inventory API or getATP API for ITEM_1 with ENT_1 Organization.
530698 Internal If Tax is refunded, the processReturnOrder API gives a Null Pointer exception during computation. This happens only if tax exists, without any associated charge category.
527066 Internal In the VMI model, future demands are not getting considered correctly, when a user performs the following sequence of actions:
  1. Creates ORG_1, which is Inventory, catalog and Seller.
  2. Creates Store. For example, NODE1.
  3. Creates ORG_2 which is Inventory, catalog and Seller. The ORG_2 consumes inventory from ORG_1.
  4. Creates ORG_3 which is Inventory, catalog and Seller. The ORG_3 consumes inventory from ORG_1.
  5. Creates ITEM_1 in ORG_1, ORG_2 and ORG_3 sharing the same GTIN ID.
  6. Creates Store. For example, STORE_1.
  7. Sets rule to consider STORE_1 for fulfillment at each Organization ORG_1, ORG_2 and ORG_3.
  8. Adjusts Inventory for ITEM_1 at ORG_1.For example, 100 Quantities.
  9. Creates Order for ITEM_1 at STORE_1, 10 Quantities and Requested Date in future for ORG_2 .
  10. Schedules the Order.
  11. Calls findInventory API for ITEM_1 at STORE_1 for ORG3, 100 quantities.

The Demand of 10 quantities by ORG_2 at STORE_1 for ITEM_1 is not considered, during fulfillment suggestion of ITEM_1 at ORG_3.

527707 Internal After successful login through the WMS RF device, the subsequent operations fail due to the CSRF validation errors.
506315 Internal The department groups configured in the Sterling Business Center are saved with an incorrect prefix resulting in an invalid department group setup.

This causes failure in the configure batch flow of the Sterling Store.

527570 91835,442,000 If not passed, set the attribute IgnoreCombinationRules based on the value of the rule IGNORE_COMBINATION_PRICING_RULES. If an empty string is passed as the attribute value, it is initialized to N. Note that setting the attribute to N means the combination pricing rule is not ignored.
539006 Internal The processReturnOrder API resets the LineType attribute of the return order line from the associated sales order line. This results in overwriting the attribute value even if it is set explicitly to a different value as required by the business logic.
539008 Internal LineCharges element of the order details does not return the house keeping columns (Createts, Modifyts, Createuserid, Modifyuserid) when the template requests for the same.
533306 21635,000,834 When a pricingRule is assigned to multiple specificCustomers, it is not applied to all the eligible assignments when a user performs the following sequence of actions:
  1. Creates pricingRule.
  2. Creates pricingRuleAssignment for CustomerId="BC1".
  3. Creates pricingRuleAssignment for CustomerId="BC2".
  4. Sets getOrderPrice with CustomerId="BC1".
  5. Sets getOrderPrice with CustomerId="BC2".

Either step 4 or step 5 will not have the pricingRule applied despite an eligible order.

There was a caching issue where only top element was returned instead of all the specific assignments. All eligible assignments are now considered.

535046 Internal This update allows clients to import orders (and their related orders) along with the related entities, such as shipments from an external system using the user exit YFSGetOrderExternallyUE. The assumption is that the UE will not provide the data which already exists in the history or transaction tables, and so if an element that represents an entity is missing from the UE's output, we look for it in the history tables. This approach allows the order details to be restored even if the data is partially present in the external system, as long as we have them in the history tables.

Updated and added files:

  • OMPOrderShardEP.java
  • YFSApiImpl.javajava
  • YFS_HIST_ORDER.java
  • YFS_HIST_SHIPMENT.java
  • YFS_Source.javaclass
  • YFSRestoreCoordinator.java
  • YFSRestoreHelper.javaclass
  • YFSRestoreManager.java
  • YFSRestoreShipments.java
  • YFSRestoreWorkOrders.java
  • OMPOrderShardEPImpl.java
  • YFSGetOrderExternallyUE.java
  • YFSUserExistConsts.java
  • YSCUserExitProxy.java
  • YCP_YFS_USER_EXIT.xml
  • YFS_GetOrderExternallyUE_input.xml
  • YFS_GetOrderExternallyUE_output.xml
507805 Internal The inventory purge fetches the inventory supply records according to the NumRecordsToBuffer and filters the records that have a supply type that does not match it's ship nodes availability type. This reduces the purge records count to less than the NumRecordsToBuffer and hence the inventory purge starts adding demand records into the purge queue and does not complete the inventory supply purge. This results in some inventory supply records never being purged, under the following configuration steps:
  1. Setup the inventory purge.
  2. Have some inventory supplies with some supplies having a supply type that does not match with the ship nodes availability type. The supply records must exceed the NumRecordsToBuffer of purge config. Also have some demand records which are eligible for purge.

Solution: The purge logic fetches the eligible inventory supply records completely after filtering.

509414 Internal The getFundsAvailableUE User Exit is called in the changeOrder API, when no payment related attributes are changed.
509418 Internal Upgrade from Foundation 8.5 to 9.4 using the documented process. The upgrade fails during view creation and results in some views missing after the upgrade completion.

Solution: The upgrade script issues a message instead of throwing an error, when a view with the same name already exists in the older version.

538923 79149,L6Q,000 The importOrder API fails to load the orders into the history tables. This happens as the importOrder API tried to create Person Info into the history tables for the payment methods.
530696 Internal The processReturnOrder API considers a partially returned order as fully returned in case of orders with the multiple shipments resulting in the incorrectly refunding header charges.
527101 Internal RTAM is not monitoring Items in different inventory organizations using same GTIN ID, when a user performs the following sequence of actions:
  1. Creates ORG_1, which is Inventory, catalog and Seller.
  2. Creates Store, For example, NODE1.
  3. Creates ORG_2 which is Inventory, catalog and Seller. The ORG_2 consumes inventory from ORG_1.
  4. Creates RTAM rules for both the organization.
  5. Creates ITEM_1 in ORG_1 and ORG_2 sharing the same GTIN ID.
  6. Adjusts Inventory for ITEM_1 at ORG_1, say Quantity 100; activity will be created for ITEM_1 at NODE1 for ORG_1.
  7. Runs RTAM in activity based mode.
514518 Internal The Colony Map Sync agent fails to update the existing PLT_COLONY_MAP record. The error message "Record already exists in the database" is displayed.
519611 Internal Incorrect Inventory picture is displayed, when the supply adjustment of AdjustmentType is ABSOLUTE and a user performs the following sequence of actions:
  1. Ensures that multiple supply records exist in the YFS_INVENTORY_SUPPLY for the same Item-Node-SupplyType. For example, ITEM_1 - NODE1 - OHNAND.
  2. Calls adjust inventory with AdjustmentType as ABSOLUTE for ITEM_1 - NODE1 and ONHAND supply type.
502754 Internal When the Optimistic Lock Avoidance (OLA) feature is turned ON, the transactions that must delete the supply record from the YFS_INVENTORY_SUPPLY are not working as expected.

Solution: When OLA is turned ON and when the supply record must be deleted as a part of any transaction, the supply record is updated as zero.

9.5.0.7

Defect ID PMR # Description
533129 46187,L6Q,000 System does not honor the reservation element (Promise/PromiseLines/Reservations) passed in the input template of the YFSGetExternalAvailabilityUE user exit.
Note: Attributes CapacityReservationDate and CapacityReservationEndTimeStamp must be passed for the external availability to work properly.
533117 Internal Manufacturing date is not updated in the YFS_INVENTORY_TAG table when a user performs the following sequence of actions:
  1. Configures an item as the tag controlled item, and sets a batch number as the tag identifier and a manufacturing date as the tag attribute.
  2. Creates an inbound order with the buyer and seller organization code and confirms the inbound order.
  3. Creates a shipment for the above created order.
  4. Performs the report or record receipt task for the above created order from the application console.
523331 Internal Configuration: A new attribute AssociateItemToCategories and an element CategoryList is introduced under the Item Header level, in the input to the manageItem API. When the attribute value is set to Y and CategoryList is mentioned in the API input, only mentioned Categories are associated to the Item. If CategoryList is not defined, all the categories are associated to the Item. Refer to Javadocs for more information.

Condition: When invoking the manageItem API, set the AssociateItemToCategories attribute to Y for Action= Create/Manage.

Operation: Invoke the manageItem API per the above condition.

Solution: A new attribute AssociateItemToCategories is introduced in the input to manageItem API to perform the Category-Item association during the item creation. The valid values are Y or N.

532718 92964,122,000 In the large order scenarios, the Pricing Input Max Modify Timestamp value is set to the default, if you access the order line during the shipment confirmation.
523320 Internal Part 1: Extending columns of YFS_Attribute, YFS_Additional_Attribute, and YFS_Kit_Item tables.

Configuration: Set IsExtensible=Y, in ysc_tables.xml (YFS_Attribute and YFS_Additional_Attribute) and ycm_tables.xml (YFS_Kit_Item) in the entity definition.

Condition: Build entityjar and then build smcfsear.

Operation: Extensions of the custom columns for the three tables mentioned is possible with above details.

Solution:
  • Invoke the manageItem API for managing YFS_Kit_Item's extended columns.
  • Invoke manageAttribute for handling YFS_Attribute's extended columns.
  • Invoke manageCategory or manageItem APIs to populate the extended columns in the YFS_Additional_Attribute table.

Part 2: manageItem API is enhanced to persist the data in the YFS_ATTR_ALLOWED_VALUE table based on the flag InsertMissingAttributeAllowedValues set at the ItemList level.

Configuration: N/A

Condition: Valid values for the new flag InsertMissingAttributeAllowedValues at the ItemList level is Y or N.

Operation: Invoke the manageItem API with Action=Manage.

Solution: When the existing flag ValidateAdditionalAttributeValues is set to Y at ItemList level in manageItem API, the system validates the value (present in yfs_addtional_attribute) to be associated to an item attribute against corresponding attribute allowed values (part of yfs_attr_allowed_value). Currently the YSC84_0006 error code is thrown when the validation fails. The value of yfs_attr_allowed_value table can be a a free text or a number (decimal or integer in the range or list format). This enhancement is about the manageItem API inserting the data into the table yfs_attr_allowed_value, when validation fails (because of the error code YSC84_0006). The insertion logic is controlled when the InsertMissingAttributeAllowedValues flag is set to true.

509400 Internal Create a sales order that has two lines with two quantities each with payment methods:
  • Gift-card Tender=50
  • Credit Card=441.55

Overall order-Total=491.55

  • Release both the order lines.
  • Ship both the units of PrimeLineNo=1.
  • Invoice the shipment and collect the invoice by running the ProcessOrderPayments API.
  • At this stage, return one quantity of PrimeLineNo=1.
  • Invoice the return order. ReturnOrder Total=114.
  • Run the requestCollection API.

Problem: Charge transaction record should be opened for $64 ($114 - $50) instead of $114.

509420 Internal YFSRecalculateLineTaxUE is invoked when a user performs the following sequence of actions:
  1. Enables and implements YFSRecalculateLineTaxUE.
  2. Calls createOrder and changeOrder (changeOrder API call does not have any attribute changes that affect pricing) within a single multiAPI call.
533183 46912,L6Q,000 Problem: NullPointerException when YCDCanPriceMatchBePerformedUE is invoked.

Solution:

  1. Implement the YCDCanPriceMatchBePerformedUE user exit with a reference implementation provided by YCDCanPriceMatchBePerformedUEImpl user exit.
  2. From Sterling Call Center, open an order and select the price match related task.
523330 Internal Configuration: N/A.

Condition: Set DisableBundleLookup to Y or N at the Order Line level for the bundle parent item during createOrder.

Operation: Invoke the createOrder API as per above condition.

Solution: Bundle components will not be created, if the flag DisableBundleLookup is set to Y at the Order Line level for a bundle parent item during createOrder. Order fulfillment will have an impact, if the attribute value is set to true without a valid use case.

534123 48967,L6Q,000 External demand change event is not publishing all the demand changes.
534045 50096,L6Q,000 XML conversion from executeCollection InputStruct needs to include additional Payment References.
523024 Internal OOB Credit Card Implementation proxy service frame work does not process the yfs_payment PaymentReference4 to PaymentReference9 and extension columns in service input or output.
532984 94001,122,000 Promotion query during getOrderList is corrected to avoid the querying extra records.
529829 41642,227,000 removeFromContainer API is not updating IS_PACK_COMPLETE flag of YFS_SHIPMENT_LINE table, when user performs the following sequence of actions.
  1. Creates a shipment for one quantity of an item with one shipment line.
  2. Packs the shipment in a container.
  3. Runs removeFromContainer API for that Shipment.

9.5.0.6

Defect ID PMR # Description
503222 29877,499,000 The updateStatus functionality is modified to reset the returnable Qty before running the processReturnOrder API to support the use case, when updateStatus functionality is modified manually through the changeOrder API.
507781 Internal The quantities and prices shown on the SIC Summary screen and configuration screens are different from the resultant order lines, when a user performs the following sequence of actions:
  1. Creates a configurable Model such that an Option Class has a SKU attached with the Quantity selection, and has child Option items.
  2. Associates this to a configurable bundle item and initiates quote creation from the Sterling Field Sales.
  3. Adds the item to quote and starts configuration.
  4. Selects the option class, provides a quantity value and makes option item selections.
  5. Views the Summary and saves the quote.
This happens due to the method of interpretation by the special Model's BOM, between the Sterling Configurator and Sterling Order Management.

Solution : A new numeric property, kitQty is created, and the value of this at the option item picks is set to the effective multiplier quantity using a Rule.

The value of this kitQty is considered, when calculating quantities and prices on the SIC screens. For example, oc1(qty=3) |-> oi1 (qty=1, kitQty=3) |-> oc2 (qty=2, kitQty=3) |-> oi2 (qty=1, kitQty=6).

509408 Internal The application is enhanced to generate unique identifier for each User Interface (UI) element to support UI automation.
516114 Internal The application is enhanced to support Gift Flag modification until the Order is released.
523051 Internal The thread safety of the CacheManager is increased, so that the PromotionRulesCache is enabled as expected.
526448, 531454 Internal, Internal A Security issue is addressed here.
Note: For more details, contact IBM Customer Support.
526540 14213,227,000 Incorrect shortage of quantity is displayed on the Pack screen, when a user performs the following sequence of actions:
  1. Creates an Order for 6 quantities.
  2. Creates shipment with same quantity and makes sure that it goes to "Ready for backroom pick" status.
  3. Calls changeShipment API to reduce the shipment quantity to 3 quantities with CancelRemovedQuantity="Y" and CancelShipmentOnZeroTotalQuantity="Y".
  4. Logs in to Sterling Store application and completes picking up all the 3 quantities.
  5. Navigates to Pack screen and packs 2 quantities and marks shortage for 1 quantity.
The Shortage quantity is displayed as 4 quantities instead of 1 quantity.
530706 Internal The application is enhanced to support two decimal places values for Next Task Queue Interval criteria parameter in the RELEASE transaction.
530902 54617,122,000 Null Pointer Exception is observed, when a user performs the following sequence of actions:
  1. Creates Item. For example, ITEM_1.
  2. Creates Node. For example, STORE_1.
  3. Creates sourcing rule for STORE_1 to be used for sourcing.
  4. Implements OMPGetSourcingCorrectionsUE user exit to not return any of the Nodes.
  5. Calls findInventory for ITEM_1.

9.5.0.5

Defect ID PMR # Description
505225 Internal System refunds more funds than the actual charges to the Gift cards, when a user performs the following sequence of actions:
  1. Disables the PAYMENT_EXECUTION agent.
  2. Creates an Order with multiple Gift cards and the Gift cards are pre-charged for the Order Total.
  3. Includes Discounts on the order such that one of the cards is refunded completely.
  4. Runs requestCollection API to open the refund CHARGES. The CHARGES are in OPEN status.
  5. Calls changeShipmentInvoice API to Invoice the order, and the changeOrder API to give further discount on the order, followed by the requestCollection API, all APIs are in the same transaction boundary using multiApi.
507769 Internal When the ON_SUCCESS event of Create Exception Transaction is invoked, it errors out with user not authenticated exceptions.

Solution: This issue is fixed.

509404 Internal RTAM does not consider Resource Pool consumptions, when a user performs the following sequence of actions:
  1. Sets up Item, Node and Distribution group. For example, ITEM_1, STORE_1, DG_1, and Real Time Availability Monitoring rules.
  2. Adjusts Inventory for the Item at STORE_1. For example, 100 quantities.
  3. Sets up Node capacity at STORE_1. For example, 20 Units for each day.
  4. Runs RTAM and checks for availability alert at this time, the availability is published correctly as the on hand available date is set to the current date.
  5. Creates Order for 20 quantities and schedules at STORE_1. The Capacity is consumed for the Current date.
  6. Runs RTAM. Availability published is 80 quantities for the current date.
509406 Internal When a user tried to cancel the reservation with a blank organization code value and the reserveItemInventoryList API is called, the Null pointer exception is observed.
526136 67662,442,000 In Sterling Business Center , an incorrect greex expression gets stored in the table YFS_ORDER_APPROVAL_RULE , when a user performs the following sequence of actions:
  1. Goes to System Setup > Pricing > Validation Policies and Override Rules > Pricing in Sterling Business Center.
  2. Selects "CPN_GRACE_PERIOD" from the "Policy List" and goes to 'Override Rules' tab.
  3. Creates new Override Rule by using 'Days Before Start Of Coupon It Is Used Is' attribute in the UI condition with NOT condition and saves the rule.
527051 Internal The getShipmentList API is not honoring SelectMethod passed, when the template has the container details and the user performs the following sequence of actions:
  1. Creates an Order.
  2. Schedules an order.
  3. Releases an order and calls CreateShipment API.
  4. Creates a Shipment Container for the Shipment.
  5. Calls the getShipmentList API with SelectMethod=NO_LOCK as the input and output template with container details. The YFS_ORDER_HEADER record select query is fired with FOR UPDATE

Solution: The SelectMethod is set as WAIT, only if it is not passed in the input.

9.5.0.4

Defect ID PMR # Description
505213 Internal The application is enhanced to have no selections for an option class using YIC APIs, when the default pick configured.
Solution : A sample input to the processConfigurationPicks is given below to illustrate this activity. (Note the AddPick element). Here oc2 has default pick configured as oi5 and also has None option available.
<ManagePicks Country="US" Currency="USD" Language="en" OrganizationCode="Matrix" Path="Matrix/hmpcp" >
<Exclude Class="*" />
<Include Class="picks" />
<Picks>
<Pick Item="hmpcp" Quantity="1" />
<Pick Item="hmpcp.oc1" Quantity="1" />
<Pick Item="hmpcp.oc2" Quantity="1" />
<Pick Item="hmpcp.oc2.oi5" Quantity="1" />
<Pick Item="hmpcp.oc3" Quantity="1" />
</Picks>
<AddPick Item="hmpcp.oc2.none" Quantity="-1" />
<RemovePick Item="hmpcp.oc2.oi5" Quantity="1" />
</ManagePicks>
506311 Internal In the Sterling Business Center bundles some literals are missing, which are related to the delivery methods listed under the Item Inventory Fields for safety factors. The rendering of safety factor settings is not legible.
506307 Internal The getCompleteOrderDetails API fires a query on the YFS_WORK_ORDER_H history table during the work order search. This search is resource intensive and causes performance issues.

Solution: The history table query is optimized to use UNION and is modified similar to the query fired on the YFS_WORK_ORDER table.

506319 Internal The getTransactionSummary API needs an ability to do rolling count for a year, when the StartDate is specified.

Solution: The StartDate and RollingCount attributes are introduced in the getTransactionSummary API input. If RollingCount is Y and StartDate is passed, then the API computes orders created from the month and year of the StartDate for one year.

506327 Internal The java.lang.NullPointerException is thrown intermittently by the service while handling cookies in the request, when the following conditions are set:
  1. Has an asynchronous service with the JMS receiver component and Sterling Integrator (SI) component.
  2. Has multiple consumer threads configured in the JMS Receiver.
  3. Starts the integration server such that the above service starts reading messages from external JMS queue and sends them to Sterling Integrator component parallel by multiple threads.

Solution: The product is enhanced such that the access to cookies is synchronized in the HTTP Component and SI Component.

515744 Internal The Request approval or Validate quote throws an error , when a user performs the configure or re-configure action in the following sequence:
  1. Enables the Native application in SFDC custom settings. Sterling enterprise code is different from omni configurator org code or tenant id. For example, external partner id in Visual Modeler.
  2. Creates or Modifies a quote in SFDC, the configurator pop-up does not open up.
520177 Internal The ChangeDataImport fails with FileNotFound exception for .wip file and the import of data halts.

Solution: Along with .xml extension files, the .wip extension files are picked for processing, the issue is fixed by ignoring the .wip extension file.

520342 26040,442,000 User is not able to export new item associated with category during Delta export, when they perform the following sequence of actions:
  1. Sets up a Change Project.
  2. Sets up a synch profile for category.
  3. Creates a new item and associates it with a category. A record is inserted in the yfs_entity_change table for this item with sync_exported = N.
  4. Runs the export agent in delta mode. The record does not get exported.

Solution: For YFS_Category_Item, the locking entity is YFS_Category, hence changes on YFS_Category_Item can be exported only if the YFS_Category is modified. This issue is fixed by updating Category.modifyts, when the CategoryItem is modified. So when ever CategoryItem is modified, its Category is also modified and both these details gets exported during delta export.

520930 41969,442,000 The "Additional_Line_Price_Key" Attribute, in "Order_Line" ForeignEntity RelationShip under the YFS_Promotion table(in omp_tables.xml), should include a new attribute called AppendNullClauseForBlankParent(Value being true).
522882 94680,227,000 The recordCustomerPick API throws a null pointer exception, when a user performs the following sequence of actions:
  1. Configures Sterling Order Management.
  2. Configures Sterling Store for backroom pick and registering customer pickup using recordCustomerPick API.
  3. Configures Sterling Store Inventory Management application (9.3) for having node with location.
  4. Configures ShipNode as WMS node ( node with location).
  5. Creates Sales Order for the Store. This order must be customer pick up order.
  6. Schedules the order and Releases the order.
  7. Creates Shipment for the order.
  8. Picks the order using backroom pick screen in Sterling store application.
  9. Moves the Order( shipment) to Ready for customer pickup status.
  10. Invokes API recordCustomerPick without passing any output template from the API tester.

Solution: The recordCustomerPick API is fixed to set the default output template properly.

523861 94857,227,000 The changeShipmentContainer API fails with error code "YFC0009", when a user performs following sequence actions:
  1. Creates an Order for a Node with Sterling Store Inventory Management.
  2. Schedules an order and releases the order.
  3. Creates a shipment for the order.
  4. Completes the Backroom Picking for the shipment.
  5. Completes the Packing of the shipment in a container.
  6. Calls removeFromContainer API and changeShipmentContainer API in a multiApi call to remove one quantity from the container and to reduce the weight of the container.

9.5.0.3

Defect ID PMR # Description
506804 Internal Count needs to consider original system quantity during variance creation, when a user performs the following sequence of actions:
  1. Sets property yfs.yfs.completetask.considersystemqty.countrequesttypelist= to a valid count request type.
  2. Adjusts inventory for item I1 at location B1 for quantity=100. (System Qty)
  3. Creates count request with request type based on the set value at the property level. A record of the current inventory picture is inserted in the yfs_phy_cnt_request table (new table) against the count request key.
  4. Adjusts inventory for item I1 at location B1 for 20 quantities. (Sales Qty)
  5. Completes the count task with count as 90 quantities. A record is inserted in the yfs_count_result table with a variance of -10 quantities.
  6. Releases a recount task, the existing record in the yfs_phy_cnt_request table is updated with the current inventory picture.
  7. Completes recount task with count as 90 quantities. A new record is inserted in the yfs_count_result table with a variance of -30 quantites.
On acceptVariance, inventory for item I1 at location B1 is adjusted for 90 quantities.
510339 31008,756,000 The application is enhanced to allow Batch Pick for an item with null UOM.
511686 33640,227,000 The manageItem API does not insert or modify the Hangoff table data for an existing item.
511893 76722,442,000 The getOrderList API provides incorrect merged output, when a synced order exists in both EDGE and Mothership servers.
512734 Internal When dealing with multiple instances of servers, it can be very difficult to rollout a production release to all servers at once. Instead, it is preferred to deploy a release in a few number of OMS servers only for the purpose of proof of concept of a feature or functionality. Once the release is stable in these few servers they would rollout the same release in remaining servers in a phased manner. Our product provides the flexibility to support running application servers/agent servers across multiple versions in parallel. The multi version agent support is also required for the rollout of upgrades or Fix packs. To address this requirement, we need to have an ability to support rollout for agents.

Solution: As part of the solution for Stage rollout, the requirement here is multiple version of instances will process data from the same transaction schema. This requirement would be addressed by the following enhancements:· Transactional data should be tagged by their RollOut Version.· Agent servers should be aware of the RollOut Version of the transaction data and process only transaction data that matches the Agent’s Rollout Version. The agent multi Version support feature addresses this requirement.

512920 86540,077,724 For Absolute AdjustInventory calls, the input is expecting one update only per supply record. When multiple absolute adjustments are made to the same supply record, the behavior is undefined.
516649 86718,077,724 If both the Dojo and Angular customization files are present in extension folder, then the wsc build will fail.
517562 80483,227,000 User is not able to build wsc (non developement mode) with the ngstore extensions.
518737 Internal The getShipmentListForOrder API always locks the YFS_ORDER_HEADER record, irrespective of passed SelectMethod, when a user performs the following sequence of actions:
  1. Creates an Order.
  2. Schedules the Order, releases the Order and ships the Order.
  3. Calls getShipmentListForOrder API with SelectMethod="NO_WAIT". The select method used comes as WAIT even if NO_WAIT is passed in input.

Solution : The getShipmentListForOrder API is fixed to honor the SelectMethod.

518899 83882,227,000 The newly created queue does not show up in the queue search, when a user performs the following actions:
  1. Ensures that there are more than 21 queues created in the system.
  2. Opens the Agent Criteria Detail pop-up screen and clicks the lookup icon for the Alert Queue name.
  3. Creates a new queue by selecting create new icon in the search result panel of the Queue Search pop-up.
  4. Searches for the newly created screen in the search screen.
520168 Internal Input to the user exit YFSGetExternalInventoryUE has more nodes than the allowed limit for smart nodes, when sourcing rule have sequences that allows and disallow smart sourcing and YFSGetExternalInventoryUE user exit is implemented.
520558 91829,227,000 When modifications are done to the YFS_ITEM table, the cache refresh messages are sent to all JVMs running. This happens even after the cache is disabled for the YFS_ITEM table, by using the property, dbclassCache.YFS_ITEM.enabled=false in the customer_overrides.properties file.

Solution : This issue is fixed.

522444 28785,122,000 Redundant queries are observed on the YFS_SKU_SAFETY_FACTOR_DEFN table, when the safety factor is defined on Item Classification.
524374 53007,442,000 Extending a grid to add an editable column does not work as expected, because of Java script error.

9.5.0.2

Defect ID PMR # Description
487784, 510966, 514692 Internal, Internal, Internal A security issue is addressed.
Note: For more details, contact IBM Customer Support.
499454 Internal The Data Sync Export agent exports data in a wrong order for the YFS_ATTRIBUTE_GROUP.

Solution: The Data Sync Export agent exports data for the YFS_ATTRIBUTE_GROUP, selected by ATTRIBUTE_GROUP_PATH.

504887 77961,227,000 ON_SUCCESS event XML of the Execute Count Program transaction does not contain any count request record.
505323 Internal Real Time Availability Monitor(RTAM) in full sync mode can slow down with too many inventory alerts and inventory items records. So, full sync mode of RTAM and Inventory purge agents are enhanced as mentioned below.
Full sync mode of RTAM is enhanced to purge inventory alerts, alert details, and alert relation records of the following:
  1. Ship node and distribution groups at which item is no longer required to be monitored.
  2. Items that are no longer required to be monitored.

Inventory purge agent is enhanced to check if there are inventory items whose modify timestamp satisfies the lead days of Inventory purge criteria. If the lead days of Inventory purge criteria is satisfied, the purge agent will lock the inventory item record and checks further if the inventory item is eligible for purge. The inventory item will not be eligible for purge, if there are records for it in any of these tables- YFS_INVENTORY_SUPPLY, YFS_INVENTORY_SUPPLY_ADDNL, YFS_INVENTORY_SUPPLY_TEMP, YFS_INVENTORY_DEMAND, YFS_INVENTORY_DEMAND_ADDNL, YFS_INVENTORY_TAG, YFS_INVENTORY_NODE_CONTROL, YFS_IBA_TRIGGER, YFS_ITEM_NODE_VELOCITY_DUMP, YFS_ITEM_NODE_VELOCITY, YFS_GLOBAL_SERIAL_NUM, YFS_INVENTORY_RESERVATION, YFS_INV_OWN_TRANSFER_RCD, pending status records in YFS_INVENTORY_PENDING_ADJ and YFS_INVENTORY_MATCH, not yet posted records in YFS_INVENTORY_SHIPMENT and YFS_INVENTORY_RECEIPT. If the inventory item isn't eligible for purge, the purge agent updates its modify timestamp to the current timestamp. If records don't exist in any of the above tables for an inventory item, the inventory item is eligible for purge and the purge agent purges its records from the following tables: YFS_INVENTORY_ACTIVITY , YFS_INVENTORY_ALERTS, YFS_INVENTORY_ALERT_DETAIL, INV_ALERT_DTL_RELATIONSHIP, INV_INVENTORY_ITEM_LOCK, YFS_INVENTORY_PENDING_ADJ, YFS_INVENTORY_ITEM_NODE_COST, YFS_INVENTORY_MATCH, YFS_INVENTORY_SHIPMENT, YFS_INVENTORY_RECEIPT and YFS_INVENTORY_ITEM.

Note:
  • Once inventory items become stale based on the purge lead time and there aren't records in other tables referencing those items, no other process should have the need for such items. If another process runs for such an item concurrently with inventory purge agent, it may result in either supply/demand, etc records without having the corresponding inventory item record or NPE in the other process.
  • For monitorItemAvailability API, a DG that is set up for RTAM should be passed as overridden DG.
506305, 510088 Internal, 31596,227,000 A new API tester with REST xapi invocation support has been introduced.

Solution: When smcfs EAR or WAR is built, set the -Ddevmode=Y and after the deployment, access the new API tester at <host>:<port>/smcfs/yfshttpapi/ibmapitester.jsp.

New API tester supports only "BASIC" authentication Style. Add property, "xapirest.servlet.authstyle=BASIC" in the customer_overrides.properties file for setting BASIC style authentication.

506402 85968,227,000 The error "java.lang.IllegalStateException" is thrown, when a user performs the following sequence of actions:
  1. Creates a Store which is on boarded as a follower store.
  2. Onboard a store.
  3. Selects the store which is modeled as a follower store.
  4. Clicks next to view the store and store the address.
  5. Selects the model store.
  6. Clicks Next and then clicks Finish.
507772 Internal Elastic search spawns a new thread for each transaction schema to fetch Return Order to associate it to the Exchange Order. The processReturnOrder API fails to associate Return Order to the Exchange Order when the returnOrder is fetched by any thread except the first thread and when a user performs the following sequence of actions:
  1. Creates the Sales Order with 1 item and completes it.
  2. Creates the Return Order that returns the item.
  3. Calls processReturnOrder API on the return order.
  4. Creates an Exchange Order by passing the ReturnOrderHeaderKeyForExchange=<OHK from Step 2>.
  5. Calls processReturnOrder API on the return order from Step 2.

Solution: This issue is fixed and we get the Return Order from the correct thread which returns the Return Order object.

507787 Internal A Blind order line is added as a normal order line in the Return Order when a user performs the following sequence of actions:
  1. Creates sales order with one order line and quantity one at the MOTHERSHIP server.
  2. Initiates return for the sales order from the EDS server.
  3. Adds order line which is present in sales order in the return order.
  4. Tries to add same order line again in return order.
Since sales order has only one quantity of this order line, second time order line must be added as blind order line, instead it is added as normal line.

Solution: Return line (EDS) association to the Sale line (MOTHERSHIP) logic is fixed to identify other associated return lines for the same sales line.

507793 Internal Agents built by the buildagent.sh properly initialize the entire setup, including the log4j extensions.
507802 Internal The "ORA-00942: table or view does not exist" error is observed, when a user performs the following sequence of actions:
  1. Configures the application with Multi schema setup. Data Sync Export agent is setup with in the Delta synchronous mode.
  2. Creates Data sync profile for table groups that have tables in the MASTER schema and Data Sync Query is associated to that sync profile.
  3. Runs the agent.
508193 08059,227,000 The CreateOrderOnSuccessToChangeOrder.xsl does not use OrderNo as Order Identifier in the absence of Cart Id.
509563 30786,227,000 Pricing rule is applied for the seller who is not entitled for pricing rule, when a user perform the following sequence of actions:
  1. Creates an Enterprise with 2 Sellers, for example, Seller1 and Seller2.
  2. Creates a price-list and pricing-rule for this Enterprise.
  3. Assigns Seller1 in the Assign To Sellers tab.
  4. Performs the Test Pricing by specifying the Seller2.
509749 08673,227,000 WCIntegrationUser Data Access Policy issue after property spelling yfs.massageapiinput.registerextnpoint was corrected to 'yfs.massageapiinput.registerextnpoint' in 95 code.

The issue is, earlier the property being used in the code had a spelling issue and was yfs.massageapiintput.registerextnpoint which was not defined in OOB yfs.properties_ysc* properties file. So the code reads the default value of it as Y and Data Access override was always enabled.

After the change in 95, the code is modified to use the correct property yfs.massageapiinput.registerextnpoint and its reading the value defined in the OOB properties file which is N and causing the Data Access override to be disabled.

Solution: For backward compatibility Data Access override must always be enabled OOB, so OOB value for yfs.massageapiinput.registerextnpoint in the properties files(yfs.properties_ysc_ext and yfs.properties_ysc ) must be changed to Y.

Its also consistent with the OOB value for the property, yfs.massageapioutput.registerextnpoint which is already set to Y.

509904 08673,227,000 For document updates on Enabling data access policies override, refer to Enabling data access policies override.
510607 Internal When the user tries to associate a bundle to a configurable/preconfigured model, the models are not listed in Sterling Business Center with the following prerequisites:
  1. Omni configurator is enabled in Sterling by adding the required properties in the customer overrides file.
  2. Sterling catalog organization code is different from the omni configurator org code or tenant id (For example, external partner id in Visual Modeler).
510814 Internal The manageCommonCode API gets invoked, when the user performs the following sequence of actions:
  1. Navigates to "Customer Contact Type" configuration screen in Sterling Business Center.
  2. Clicks save button without making any changes in the User Interface.
510835 Internal When a user performs datasync using CHANGE_DATA_IMPORT in the multithreaded mode, an error " Record already exists" is seen in the logs, for YFS_PERSON_INFO table, when import zip has multiple organizations sharing the same person info.
511421 34864,227,000 Incorrect error message is displayed in Application Manager, when a user tries to delete a User Group that is already subscribed to another user.
512524 52276,227,000 The seller organization code is entered in the test pricing screen of Sterling Business Center as a free text is not considered and falls back to the context organization code unless chosen from the organization search pop-up.

9.5.0.1

Defect ID PMR # Description
499476 Internal The CapacityUtilization in the getExternalCostForOptionsUE user exit's input for the assignments needs to be of higher precision.

Solution: The CapacityConsumed, Capacity and CapacityUnitOfMeasure attributes are exposed in the getExternalCostForOptionsUE input for assignments, so that the utilization percentage could be derived from these attribute values. There is no change in the precision of the OOB CapacityUtilization in the UE input.

505660 88664,227,000 The YCD-SALES-SHIPMENT-9.4 pipeline is not displayed in the upgraded pre-9.4 to 9.5 environment.
506321 Internal The NullPointer exception is observed in the findInventory API, when special service is used and PromiseLineOptions element is passed in the input.
506411 05081,227,000 Sterling Order Management opens a complete authorization reversal records, also a CHARGE record with the reversed authorization ID stamped on it when a user performs the following sequence of actions:
  1. Configures the authorization reversal strategy "Reverse Excess", Partial reversal disabled.
  2. Enables charge consolidation. Disables same authorization."Do Not Consolidate Settlement Or Refund Requests Across Invoices" is enabled.
  3. CreateOrder with authorization greater than the order total.
  4. Runs requestCollection API.
  5. Schedules and releases the order.
  6. Ships the order partially and creates shipment invoice.
  7. Runs requestCollection API.
506823 05390,227,000 The Pickup statuses are missing for the transactions "YCD_BACKROOM_PICK_IN_PROGRESS" and "YCD_BACKROOM_PICK" in the upgraded environment.
507215 Internal Bundle properties are key or value pairs that are used in rendering UI. The bundle property values are translated, so the product can be used worldwide. During 9.5 development, certain bundle properties were removed as they would no longer be needed for the OOB setup. These properties must be replaced to preserve backward compatibility for users, who have overridden the user interface(UI) for a particular screen.