3.15.14

Release Date: 2024-10-10

Software Version

The document refers to the following applications and corresponding software versions:

Application Version
Promotion Calculation Engine 3.15.14

What's New

Issue Key Release Notes Note
PPCE-7889

Accept the TriggerSequenceAddend for externally applied manual promotions

The TriggerSequenceAddend is now considered for externally applied manual promotions. This means that the next promotion that could be applied internally must have a sequence that is greater than the sum of the sequences from an externally applied promotion and the TriggerSequenceAddend.

PPCE-7736

Transaction-related discount proration improved

The discount share proration of transaction-related monetary discounts has been improved. Previously, if the adjustment amount to be assigned to the last item was found to be invalid by the validation logic, then the proration failed all together. After the adjustments, the remaining amount is assigned to the rest of the proration items or if it not possible for a remaining amount to be assigned to any item, it will be accounted for in the shared rounding amount.

PPCE-7716

Scaling numeric values in ClientAPI response

Scaling of all numeric values returned by PCE in the ClientAPI response has been improved so that their representation does not depend on actual values used during promotion calculation. Improvements include removing trailing zeros and setting an appropriate scale for specific values. The default minimum scale is:

  • No digit after the decimal point for quantity-related values where integers are expected only (for example Sale.Quantity, AdditionalBonusDiscountLineItem.TotalGrantedQuantity or Coupon.AppliedQuantity)
  • One digit after the decimal point for quantity-related values where decimals can be expected (for example Sale.Quantity.Units or PromotionRecommendationMissingTrigger.MissingQuantity)
  • One digit after the decimal point for amount-related values (for example RetailPriceModifier.ComputationBaseAmount or PromotionRecommendationMissingTrigger.MissingAmount)
  • One digit after the decimal point for points-related values (for example FrequentShopperPointsModifier.PointsAwardedAmount)
  • One digit after the decimal point for rounding-related values (for example RetailPriceModifier.Rounding)

If the actually returned value contains more valid digits after the decimal point than defined by the minimum scale above, then all of those digits are returned.

Due to this improvement, many expected values in the existing JBehaves have to be corrected. The full list of necessary changes is located in the subpage JBehave Changes for 3.15.14.RELEASE.

PPCE-7646

Refactor the LineItemRelease NotesValues

Refactoring has been performed to not mix the usage of fields appliedQuantity and calculationBaseQuantity. The logic that handles the BuyNGetM topic has been moved from AbstractRebateDistributionService to the implementation of AbstractNormalizedItemModifierCreator.

Resolved Issues

Issue Key Release Notes Note
PPCE-7882

GiftCertificateExpirationDate in PCE response contains time zone information

Description of the GiftCertificateExpirationDate in the swagger file describing the recalculate-transaction API v1 has been updated to match the current format of a value returned by the PCE. The time zone or even the time information itself is not needed there, but changes to the data format could cause compatibility issues on the client side. This is why the time zone information is still provided in the recalculate-transaction v1 response as before.

PPCE-7846

ExclusiveConditionDiscountablePositionHandler performance issue

A bug that caused significant performance degradation when a transaction-related promotion was applied on top of a line item-related promotion has been fixed. In addition, the ExclusiveConditionDiscountablePositionHandler also considers FrequentShopperPointsModifiers and externally applied modifiers from now on.