Consideraciones sobre CalculationCodeListDataBean

Si la tienda utiliza CalculationCodeListDataBean para mostrar información relacionada con la promoción para entradas de catálogo o categorías, los valores pueden afectar al rendimiento del escaparate. Cuando utiliza CalculationCodeListDataBean, el rendimiento se puede ver afectado por el número de segmentos de clientes y las condiciones que se especifiquen para las promociones, al igual que si se inhabilita cualquier funcionalidad no utilizada.

HCL Commerce utiliza CalculationCodeListDataBean para recuperar una lista de CalculationCodeDataBeans que coincida con un conjunto de criterios especificado. Con esta lista, los archivos JSP para la tienda pueden visualizar los descuentos disponibles que están asociados con una determinada categoría o entrada de catálogo.

Visualización de la descripción de la promoción

La visualización de la descripción de la promoción en la página de visualización de un producto la gestiona la página DiscountDetailsDisplay.jsp de una tienda. Este archivo JSP utiliza CalculationCodeListDataBean para filtrar promociones para los que el producto está autorizado. El bean de datos se utiliza para filtrar a través de las condiciones de promoción, grupos de miembros, ID de tiendas, entradas de catálogo incluidas y excluidas, y más. Por ejemplo, si una promoción se aplica a un producto determinado, la descripción de la promoción se visualiza en la página de visualización de producto para todos los códigos de artículo de ese producto. Sin embargo, el bean de datos está limitado para filtrar los valores de atributo tal como se especifica en las condiciones de compra de promoción. El bean de datos no puede filtrar a nivel de diccionario de atributos. Si una promoción se aplica a solamente los códigos de artículo que contienen valores de atributo específicos, la descripción de promoción todavía se visualiza en la página de visualización de producto, independientemente de los códigos que se hayan seleccionado para el producto.

Dada la limitación de los beans de datos CalculationCodeListDataBean, la descripción del promoción puede visualizarse en los SKU del producto que no califican para la promoción. Cuando un comprador ve la descripción de la promoción en una página de visualización de producto, el comprador puede suponer que el código de artículo del producto que han seleccionado tiene derecho a la promoción. Para evitar esta confusión, asegúrese de que las descripciones de promoción son lo suficientemente descriptivas para incluir las condiciones de valor de atributo o segmentos de clientes a quienes van dirigidas. Por ejemplo, en lugar de tener una descripción que diga: 50% de descuento en el vestido pijama de Luigi Valenti Empire, la promoción puede decir en su lugar: 50% de descuento en el vestido pijama rojo de Luigi Valenti Empire. Al incluir condiciones de valores de atributos en la descripción de promociones, los compradores están bien informados de las promociones potenciales a las que tienen derecho.

Número de segmentos de clientes y condiciones

Similar a la evaluación de promociones, CalculationCodeListDataBean puede llamar al subsistema de miembros para recuperar la información de segmentos de clientes para los compradores. El rendimiento del subsistema de miembros para recuperar información de segmentos de clientes depende del número de segmentos de clientes disponibles en una tienda. Los segmentos de clientes pueden definirse como un segmento de clientes explícitos con miembros añadidos explícitamente al segmento. El uso de segmentos explícitos en lugar de segmentos de cliente implícitos puede mejorar el rendimiento porque el cálculo de segmentos implícitos necesita recursos de proceso en tiempo de ejecución. Los segmentos de cliente implícitos se definen utilizando reglas destinadas a los datos de usuario, que sólo se pueden calcular en tiempo de ejecución. Para mejorar el rendimiento de CalculationCodeListDataBean, puede realizar los cambios siguientes:
  • Habilitar WCUserDistributedMapCache DistributedMap para ayudar a mejorar el rendimiento lógico del subsistema miembro
  • Eliminar los segmentos de clientes cuando los segmentos ya no son necesarios

Inhabilitación de funciones no utilizadas

Para mejorar el rendimiento del escaparate, inhabilite estas funciones, si procede.

allowUnentitledPromotionsByMemberGroup
Este parámetro controla si se deben incluir promociones del escaparate que van destinadas a un grupo de miembros para compradores que no pertenecen a dicho grupo. Si no utiliza promociones destinadas al grupo de miembros, establecer este parámetro en true puede mejorar el rendimiento evitando esta comprobación. El valor predeterminado para este parámetro es false. Cuando está establecido en false, se realiza una comprobación para garantizar que el comprador pertenezca al grupo de miembros de una promoción. Si el comprador pertenece al grupo, la promoción se incluye en el escaparate.
onlyManagementCenterPromotions
Este parámetro controla si sólo las promociones de Management Center aparecen en el escaparate. Si la tienda sólo utiliza promociones que se crean y actualizan en el Management Center, puede establecer este distintivo en true para inhabilitar el proceso de comprobación. La inhabilitación de este proceso de comprobación puede mejorar el rendimiento del escaparate. El valor predeterminado para este parámetro es false. Cuando se establece en false, se realiza una comprobación para determinar si sólo se visualizan en el escaparate las promociones del Management Center
El siguiente ejemplo muestra cómo establecer estos parámetros en CalculationCodeListDataBean.
<%-- CalculationCodeListDataBean is used to show the discount information of the product --%>
<wcbase:useBean id="productDiscounts" classname="com.ibm.commerce.fulfillment.beans.CalculationCodeListDataBean">
      <c:set property="catalogEntryId" value="${productId}" target="${productDiscounts}" />
      <c:set property="isProdPromoOnly" value="${param.productIsProdPromoOnly}" target="${productDiscounts}"/>
      <c:set property="includeChildItems" value="${param.productIncludeChildItems}" target="${productDiscounts}"/>
      <c:set property="includeParentProduct" value="${param.productIncludeParentProduct}" target="${productDiscounts}" />
      <%-- UsageId for discount is -1 --%&gt;</p><p> <c:set property="calculationUsageId" value="-1" target="${productDiscounts}" />
      <c:set property="allowUnentitledPromotionsByMemberGroup" value="true" target="${productDiscounts}" /
      <c:set property="onlyManagementCenterPromotions" value="true" target="${productDiscounts}" /
</wcbase:useBean>