CalculationCodeListDataBean considerations

If the store uses the CalculationCodeListDataBean to show promotion-related information for catalog entries or categories, your settings can affect storefront performance. When we use the CalculationCodeListDataBean, performance can be affected by the number of customer segments and conditions specified for promotions, and whether you disable any unused functionality. The CalculationCodeListDataBean is used by WebSphere Commerce to retrieve a list of CalculationCodeDataBeans that matches a specified set of criteria. With this list, the JSP files for the store can display the available discounts associated with a particular category or catalog entry.


Promotion description display

The display of promotion description on a product display page is handled by the DiscountDetailsDisplay.jsp page for a store. This JSP file uses the CalculationCodeListDataBean to filter promotions for which the product is entitled. The data bean is used to filter through promotion conditions, member groups, store IDs, included and excluded catalog entries, and more. For instance, if a promotion applies to a particular product, the promotion description displays on the product display page for all SKUs of that product. The data bean however is limited for filtering out attribute values as specified in the promotion purchase conditions. The data bean cannot filter at the attribute dictionary level. If a promotion applies to only the SKUs that contain specific attribute values, the promotion description still displays on the product display page regardless of which SKUs are selected for the product.

Given the limitation of the CalculationCodeListDataBean data bean, the promotion description can show up on product SKUs that do not qualify for the promotion. When a shopper views the promotion description on a product display page, the shopper can assume that the product SKU that they selected is entitled to the promotion. To avoid this confusion, ensure that the promotion descriptions are descriptive enough to include any targeted attribute value conditions or customer segments. For example, instead of having a description that read: 50% off Luigi Valenti Empire Waist Slip Dress, the promotion can instead read: 50% off Red Luigi Valenti Empire Waist Slip Dress. By including attribute value conditions in promotion description shoppers are correctly informed of the potential promotions that they are entitled.


Number of customer segments and conditions

Similar to promotion evaluation, the CalculationCodeListDataBean can call the member subsystem to retrieve customer segment information for shoppers. The performance of the member subsystem for retrieving customer segment information depends on the number of customer segments available in a store. Customer segments can be defined as an explicit customer segment that has members explicitly added into the segment. The use of explicit segments instead of implicit customer segments can improve performance because calculating implicit segments requires processing resources at run time. Implicit customer segments are defined by using rules that target user data, which can be calculated only at run time. To improve the performance of CalculationCodeListDataBean, we can make the following changes:


Disable unused functions

To improve storefront performance, disable these functions, if appropriate.

The following example illustrates how to set these parameters on the CalculationCodeListDataBean.


Related concepts
Additional WebSphere Commerce data cache configuration


Related tasks
WebSphere Commerce data cache
Enable WebSphere Commerce data cache


Related reference
Promotion performance tuning
Logical cache names and the DistributedMaps they use by default
Access bean classes extended to take advantage of WebSphere Commerce data cache
Data bean classes extended to take advantage of WebSphere Commerce data cache