Troubleshooting: Business Channel ID is not updated correctly

Every time an order is processed, irrespective of source, the Business Channel ID is populated with the value -4 (Telesales).

Problem

Prior to HCL Commerce Version 9, the Business Channel ID was populated with the channel that was used to submit the order. In Version 9, it is always captured as -4.

Solution

You can resolve the issue by adding flag KeepOriginalChannel="true" to the wc-server.xml configuration file in the Transaction server.

Add the flag as an attribute of the BusinessContextService element, as follows:
<BusinessContextService
BusinessContextConfigFile="config/businessContext.xml,config/com.ibm.commerce.catalog/wc-business-context.xml,
    config/com.ibm.commerce.store/wc-business-context.xml,
    config/com.ibm.commerce.giftcenter/wc-business-context.xml,
    config/com.ibm.commerce.foundation/wc-business-context.xml"
display="false"
KeepOriginalChannel="true">
<ExpiryManagement
ExpiryMgmtChannelId="-4"
InactivityTimeout="15"
Threshold="15" enable="true"/>
</BusinessContextService>

After you set KeepOriginalChannel="true", the original channel ID of the order is retained in the database, restoring the expected behavior.