3.14.12
Release Date: 2024-10-04
Software Version
The document refers to the following applications and corresponding software versions:
| Application | Version |
|---|---|
| Promotion Calculation Engine | 3.14.12 |
What's New
| Issue Key | Release Notes | Note |
|---|---|---|
| PPCE-7401 |
PCE - validation of negative discount values Validation of negative values was added for rebate and Mix&Match rules. The rebate rule will be rejected if a negative value is present for the specified price modification method. The Mix&Match rule will be rejected if all values for the specified reduction methods in all matching items are negative. |
|
| PPCE-7354 |
Log-related security findings Potentially insecure log entries have been corrected. |
|
| PPCE-7310 |
NullPointerException during verification if fully priced condition should be applied. No Null Pointer Exception is thrown when an invalid eligibilityID is used for getting a promotion from the map during verification if a fully priced condition should be applied. |
|
| PPCE-7210 |
Javadoc warnings and errors Javadoc warnings and errors in modules delivered to SAP have been fixed. |
|
| PPCE-7140 |
Adjustments for Java 17 / Spring 6 The PCE core source code is now fully compatible with Java 17 and Spring 6 including almost all junit tests. There are only a few GK-specific integration tests which cannot be executed because Java 17 and Spring 6 is still not supported by all GK applications. |
Resolved Issues
| Issue Key | Release Notes | Note |
|---|---|---|
| PPCE-7394 |
Sales vs. Returns: Wrong Behavior when using RegularSalesPrice When FixedPriceFlag = true and RegularSalesPrice is provided in the ClientAPI request, the positive RegularSalesPrice for returned items was mapped directly to the internal PCE data model which led to incorrect calculations. The bug has been fixed and now the RegularSalesPrice is negated for the returned items. |
|
| PPCE-7363 |
Discount tx-related proration calculates wrong result for SALES_MINUS_RETURNS and new price Transaction-related monetary discount promotion with SaleReturnCode = SALES_RETURNS/"00", calculationBase = CALCBASE_01/"01" and PriceModificationMethodCode = NewPrice could not prorate the benefit correctly in case a mixture of sold and returned items was present in a transaction. This bug has been fixed. |
|
| PPCE-7322 |
Bonus points tx-related proration is not working for SALES_MINUS_RETURNS Bonus points transaction-related promotion with SaleReturnCode = SALES_RETURNS/"00" and calculationBase = CALCBASE_01/"01" could not prorate the benefit correctly in case a mixture of sold and returned items was present in a transaction. This bug has been fixed. |
|
| PPCE-7302 |
Amount value of an external RPM on a return line item is processed incorrectly Mapping of a RPM on a return line item from the ClientAPI request to the internal PCE data model and back to the ClientAPI response was fixed. Now, all appropriate values (Amount, ExtendedAmountBeforeModification, ExtendedAmountAfterModification, ExtraAmount and CalculationBaseAmount) are inverted correctly. |
|
| PPCE-7271 |
Customer points not calculated for some item combinations Under a very specific set of conditions, including a certain number of normalized line items, a certain number of colliding but not conflicting line item-related promotions and a presence of a custom RebatableItemFilterPlugin which rejects a certain subset of normalized line items as triggers, the remaining normalized line items might not be available at all for other line item-related promotions with a sequence and a calculationBaseSequence value equal to or higher than the sequence of the previously applied colliding promotions. This bug in the product PCE code has been corrected. |
|
| PPCE-7257 |
Coupons are consumed by promotions with CONSUMPTION_02 If a coupon promotion with CONSUMPTION_02 was applied, the coupon was consumed for any further promotion with CONSUMPTION_01 or 00 preventing such a promotion to be applied. This bug has been fixed. |
|
| PPCE-7218 |
NullPointerException in case logging unknown rule type No Null Pointer Exception is thrown when logging an unknown promotion price derivation rule type. |
|
| PPCE-7217 |
Incorrect ExtendedAmountBefore and AfterModification on the normalized item level Correction of value-computation for fields (ExtendedAmountBeforeModification and ExtendedAmountAfterModification) on the normalized item level in case line item-related and transaction-related promotions are applied at once. |
|
| PPCE-7173 |
Different scaling of frequentShopperPointsEarnedAmount Removed trailing zeros from the frequentShopperPointsModifier's property pointsAwardedAmount in the ClientAPI response. As a result, the expectation for the pointsAwardedAmount value of the following JBehave test had to be corrected:
|
|
| PPCE-7167 |
Duplicating identifiers in ad-hoc promotions PCE now checks generated promotions, conditions, and rule IDs for ad-hoc promotions for possible duplicity and re-generates such IDs, if necessary. |
|
| PPCE-7160 |
RetailTransactionPromotionPriceDerivationRule is missing with calculation mode LINE_ITEM Splitting an original request transaction in the calculation mode LINE_ITEM and summarizing single transactions back into one response transaction has been corrected. The response transaction now contains all elements which were previously missing, such as promotion price derivation rules, price modification line items, loyalty reward line items or additional bonus discount line items. |
|
| PPCE-7152 |
Duplications of the merchandiseSetGroupFilters sent to SDC PCE code contained a bug which led to multiple identical MerchandiseSetGroupFilterSO objects created when a transaction contained multiple line items with the same identifiers and the same generic attribute(s). These merchandiseSetGroupFilters were sent to the SDC module to load triggered merchandise set eligibilities and resulted in a suboptimal calculation time. This PCE bug has been corrected. |
|
| PPCE-6933 |
NullPointerException in case rule with unknown rule type is loaded No Null Pointer Exception is thrown while loading a promotion price derivation with an unknown rule type. |