Extended Site store creation failing with PriceRuleTC not registered error

Technote (troubleshooting)


Problem(Abstract)

Attempts to create an Extended Site storefront asset store result in the publish failing with a PriceRuleTC not registered error when using IBM WebSphere Commerce Enterprise.

Symptom

An error similar to the following exists in the trace.log file:

[5/16/11 21:22:21:213 EDT] 000000e9 WC_SERVER 3 com.ibm.commerce.key.ECKey getNextValue Table termcond fetches the next set of key values starting from 12001

[5/16/11 21:22:21:215 EDT] 000000e9 WC_CONTRACT > com.ibm.commerce.contract.helper.TCConfigUtil validateTcUsage Entry

[5/16/11 21:22:21:217 EDT] 000000e9 WC_CONTRACT 3 com.ibm.commerce.contract.helper.TCConfigUtil validateTcUsage PriceRuleTC: This type (tcSubType='PriceRuleTC') tc has not been registried.

Cause

There is an entry missing for the PriceRuleTC in

WC_EAR/xml/trading/xml/TCConfiguration.xml
Another version of this file exists for any customizations, and check the following in addition, if needed: TCConfigurationExt.xml
If you do not have a TCDefinition element defined in this file, the registration error is logged.


Diagnosing the problem

In the TCConfiguration.xml file there is a snippet similar to the following:

<?xml version="1.0" encoding="UTF-8"?>

<!--********************************************************************-->

<!-- Licensed Materials - Property of IBM -->

<!-- -->

<!-- WebSphere Commerce -->

<!-- -->

<!-- (c) Copyright IBM Corp. 2006 -->

<!-- -->

<!-- US Government Users Restricted Rights - Use, duplication or -->

<!-- disclosure restricted by GSA ADP Schedule Contract with IBM Corp. -->

<!-- -->

<!--********************************************************************-->

<!-- This file is for internal use only. Customers should not change this file -->

<TCConfiguration resourceBundle="contract.contractRB"

xmlns="http://www.ibm.com/xmlns/prod/commerce/9/contract"

xmlns:ecore="htt p://www.eclipse.org/emf/2002/Ecore"

xmlns:oa="http://www.openapplications.org/oagis/9"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/9/contract TCConfiguration.xsd">

<!-- Add the definitions of internal term and condition here. -->

<TCDefinition display="true" existing="false" type="CatalogFilterTC" usage="Contract">

<Display descriptionKey="CatalogFilterTCDescription" displayNameKey="CatalogFilterTC"/>

<Property changeable="true" column="BIGINTFIELD1"

name="catalogFilterId" required="false">

<Display descriptionKey="catalogFilterIdDescription" displayNameKey="catalogFilterId"/>

</Property>

</TCDefinition>

<TCDefinition display="true" existing="false" type="PriceRuleTC" usage="Contract">

<Display descriptionKey="priceRuleTCDescription" displayNameKey="priceRuleTC"/>

<Property changeable="true" column="STRINGFIELD1"

name="priceRuleId" required="false">

<Display descriptionKey="priceRuleDescription" displayNameKey="priceRuleId"/>

</Property>

<Property changeable="true" column="TIMEFIELD1"

name="priceRuleBeginDate" required="false">

<Display descriptionKey="priceRuleBeginDateDescription" displayNameKey="priceRuleBeginDate"/>

</Property>

<Property changeable="true" column="TIMEFIELD2"

name="priceRuleExpiryDate" required="false">

<Display descriptionKey="priceRuleExpiryDateDescription" displayNameKey="priceRuleExpiryDate"/>

</Property>

</TCDefinition>

</TCConfiguration>

Your file should match this one with specific entries for the PriceRuleTC:

<TCDefinition display="true" existing="false" type="PriceRuleTC" usage="Contract">

<Display descriptionKey="priceRuleTCDescription" displayNameKey="priceRuleTC"/>

<Property changeable="true" column="STRINGFIELD1"

name="priceRuleId" required="false">

<Display descriptionKey="priceRuleDescription" displayNameKey="priceRuleId"/>

</Property>

<Property changeable="true" column="TIMEFIELD1"

name="priceRuleBeginDate" required="false">

<Display descriptionKey="priceRuleBeginDateDescription" displayNameKey="priceRuleBeginDate"/>

</Property>

<Property changeable="true" column="TIMEFIELD2"

name="priceRuleExpiryDate" required="false">

<Display descriptionKey="priceRuleExpiryDateDescription" displayNameKey="priceRuleExpiryDate"/>

</Property>

</TCDefinition>


Resolving the problem

There are multiple causes for the file either not containing the correct element or not being able to be accessed during the Extended Site creation process.

1. Ensure that the permissions are set correctly for the wc-non-root user to this file.

2. Ensure that either the Feature Pack 2 store-enhancements feature was enabled or make sure that it did not fail enablement.

3. If enablement was successful and the permissions are correct, update your WC_EAR/xml/trading/xml/TCConfiguration.xml file to include the correct TCDefinition element.

In addition, ensure that you have entries in the TCSUBTYPE database table. Include a row for PriceRuleTC and PriceRuleTC under the TCSUBTYPE_ID and TCTYPE_ID columns.


Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere Commerce Enterprise
Contracts / Pricing / Offer

Software version:

7.0

Operating system(s):

AIX, Linux, Solaris, Windows, i5/OS

Reference #:

1500489

Modified date:

2013-06-11

Translate my page

Machine Translation

Content navigation