Feature Pack 5

Enabling interim fix IV23778.fep

Interim fix IV23778 enhances the Catalogs tool to be able to view and edit product data that contains offer prices with conflicting or overlapping quantity ranges or date ranges. You must update some files for Management Center to adapt to the enhancement.

Before you begin

Install the cumulative interim fix for Feature Pack 5, JR53048.fep.

Procedure

  1. Start WebSphere Commerce Developer.
  2. Open the LOBTools/WebContent/config/commerce/catalog/listViewDefinitions/PricingObjectGrid.def file.
    1. Under the "catOfferObjectGrid" class, add the following code snippet
      <GridNumeric editable="true" name="precedence" propertyName="precedence"
      	text="${catalogResources.precedence_ColumnHeader}" visible="true" width="120"/> 
      <GridDateTime editable="true" name="startDate" propertyName="startDate"
            text="${catalogResources.startDate_ColumnHeader}" visible="false" />
      <GridDateTime editable="true" name="endDate" propertyName="endDate"
            text="${catalogResources.endDate_ColumnHeader}" visible="false" />
    2. Under the "catInheritedOfferObjectGrid" class, add the following code snippet
      <GridNumeric editable="true" name="precedence" propertyName="precedence"
            text="${catalogResources.precedence_ColumnHeader}" visible="true" width="120"/> 
      <GridDateTime editable="true" name="startDate" propertyName="startDate"
            text="${catalogResources.startDate_ColumnHeader}" visible="false" />
      <GridDateTime editable="true" name="endDate" propertyName="endDate"
            text="${catalogResources.endDate_ColumnHeader}" visible="false" />
  3. Open the LOBTools/WebContent/config/commerce/catalog/objectDefinitions/CatalogCommonObjectDefinitions.def file.
    1. Under the "catBaseCatalogEntryOffer" class, in the <UpdateService> element, add new properties
      <ServiceParam name="precedence" optional="true" propertyName="precedence"/> 
      <ServiceParam name="startDate" optional="true" propertyName="startDate"/>
      <ServiceParam name="endDate" optional="true" propertyName="endDate"/>
    2. Under the "catBaseCatalogEntryOffer" class, add new property definitions
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPricePrecedence_DisplayName}"
            propertyName="precedence" type="number"/> 
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPriceStartDate_DisplayName}"
            propertyName="startDate" type="datetime"/>  
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPriceEndDate_DisplayName}"
            propertyName="endDate" type="datetime"/> 
  4. Open the LOBTools/WebContent/config/commerce/price/listViewDefinitions/PriceListListView.def file.
    1. Under the "prcPriceEntryGrid" class, add new property definitions
      <GridNumeric editable="true" name="precedence" propertyName="precedence"
            text="${catalogResources.precedence_ColumnHeader}" visible="true" width="120"/> 
      <GridDateTime editable="true" name="startDate" propertyName="startDate"
            text="${catalogResources.startDate_ColumnHeader}" visible="true" />
      <GridDateTime editable="true" name="endDate" propertyName="endDate"
            text="${catalogResources.endDate_ColumnHeader}" visible="true" />
  5. Open the LOBTools/WebContent/config/commerce/price/objectDefinitions/PriceListPrimaryObjectDefinition.def file.
    1. Under the "prcPriceEntryObjectDefinition" class, add new property definitions
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPricePrecedence_DisplayName}"
            propertyName="precedence" type="number"/> 
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPriceStartDate_DisplayName}"
            propertyName="startDate" type="datetime"/> 
      <PropertyDefinition
            displayName="${catalogResources.catalogEntryOfferPriceEndDate_DisplayName}"
            propertyName="endDate" type="datetime"/>
    2. Under the "prcPriceEntryObjectDefinition" class, and under the <UpdateService> element, add new properties
      <ServiceParam name="startDate" optional="true" propertyName="startDate"/>
      <ServiceParam name="endDate" optional="true" propertyName="endDate"/>
      <ServiceParam name="precedence" optional="true" propertyName="precedence"/> 
    3. Find the definitionName="prcPriceEntryObjectDefinition" element.
    4. Within the element, find the property definition with propertyName="minimumQuantity".
      For example,
      <PropertyDefinition displayName="${prcPriceResources.value}" minValue="1" propertyName="minimumQuantity" type="number" required="true"/>
    5. Delete the minValue attribute.
      For example,
      <PropertyDefinition displayName="${prcPriceResources.value}" propertyName="minimumQuantity" type="number" required="true"/>
  6. Open the LOBTools/WebContent/WEB-INF/config/com.ibm.commerce.price/wc-price-clientobjects.xml file.
    1. Under the "Offer" class, add new elements
      <_config:URLParameter name="precedence" nounElement="/PriceEntry/precedence"/> 
      <_config:URLParameter name="startDate" nounElement="/PriceEntry/startDate"/>
      <_config:URLParameter name="endDate" nounElement="/PriceEntry/endDate" />
    2. Under the "PriceEntry" class, add new elements
      <_config:URLParameter name="startDate" nounElement="/PriceEntry/startDate"/>
      <_config:URLParameter name="endDate" nounElement="/PriceEntry/endDate" />
      <_config:URLParameter name="precedence" nounElement="/PriceEntry/precedence"/> 
    3. Under the "ComponentOffer" class, add new elements
      <_config:URLParameter name="startDate" nounElement="/PriceEntry/startDate"/>
      <_config:URLParameter name="endDate" nounElement="/PriceEntry/endDate" />
      <_config:URLParameter name="precedence" nounElement="/PriceEntry/precedence"/> 
  7. Open the LOBTools/src/com.ibm.commerce.catalog.client.lobtools.properties/CatalogLOB_en_US.properties file.
    1. Add the following properties if the properties do not exist
      precedence_ColumnHeader=Precedence 
      startDate_ColumnHeader=Start 
      DateendDate_ColumnHeader=End Date
      catalogEntryOfferPricePrecedence_DisplayName=Precedence
      catalogEntryOfferPriceStartDate_DisplayName=Start Date
      catalogEntryOfferPriceEndDate_DisplayName=End Date
  8. Open the LOBTools\WebContent\WEB-INF\src\lzx\commerce\catalog\restricted\CatalogManagementResourceBundle.lzx file.
    1. Add the following properties if the properties do not exist
      <wcfResourceBundleKey name="precedence_ColumnHeader"/>
      <wcfResourceBundleKey name="startDate_ColumnHeader"/>
      <wcfResourceBundleKey name="endDate_ColumnHeader"/>
      <wcfResourceBundleKey name="catalogEntryOfferPricePrecedence_DisplayName"/>
      <wcfResourceBundleKey name="catalogEntryOfferPriceStartDate_DisplayName"/>
      <wcfResourceBundleKey name="catalogEntryOfferPriceEndDate_DisplayName"/>
  9. Open the LOBTools\WebContent\config\commerce\catalog\objectDefinitions\CatalogCommonObjectDefinitions.def file.
    1. Find the <PropertryDefinition> for the minimum quantity of the offer. The property name is propertyName="minimumQuantity".
      For example,
      <PropertyDefinition displayName="${catalogResources.catalogEntryOfferPriceMinimumQuantity_DisplayName}" minValue="1" propertyName="minimumQuantity" type="number"/>
    2. Delete the minValue attribute.
      For example,
      <PropertyDefinition displayName="${catalogResources.catalogEntryOfferPriceMinimumQuantity_DisplayName}" propertyName="minimumQuantity" type="number"/>
  10. Deploy the LOBTools project from WebSphere Commerce Developer to your production environment.
    1. Export the LOBTools WebModule.
    2. Deploy the updated LOBTools WebModule.