Customizing the agenda builder
If you want to change the default logic that selects potentially applicable promotions for evaluation, or to improve system performance by screening promotions prior to evaluation to reduce the number of promotions to be evaluated at runtime, you can customize the agenda builder. A WebSphere Commerce instance has only one agenda builder. Customizations apply to all stores in the same instance.
About this task
The agenda builder searches promotions directly related
to shopping cart content rather than all available promotions in the
system. The purpose of using this agenda builder is to enhance performance
for promotion evaluation at the production server by only evaluating
the promotions related to products purchased. This agenda builder
works best with a shopping cart that has small number of items, while
the store has a large number of active promotions that are targeting
different sets of products or categories. This implementation requires
data populated in the CATENCALCD,
and CATGPCALCD table during the
promotion authoring process that indicates the mapping between promotion
and catlogEntry or category. If the store rarely has category-level
promotions, then a flag can be set in the promotion engine configuration
file for the agenda builder. The name of the flag is PerformCheckForCategoryLevelPromotions
and
it may have a value of true or false. If the flag is set to true,
then a search is performed for any active category-level promotions
in the store. If none are found, then no call is made to get the categories
of items in the order. This can improve the performance of store-front
evaluation of promotions especially if the catalog has a deep category
structure. If the flag is set to false, then the default behavior
of getting categories of order items is performed.