Direct links to fixes
APAR status
Closed as program error.
Error description
A business user would like to be able to send an e-mail to a guest shopper when the guest shopper abandons a shopping cart. The guest shopper has completed most of the checkout flow and has provided their e-mail address. The business user requires that a dialog activity that uses the "Customer Abandons Shopping Cart" trigger to send an e-mail should send the e-mail to both registered and guest users. This scenario requires a customization to two areas of the code. 1) The class CustomerAbandonsShoppingCartTriggerTaskCmdImpl needs to be extended to return true from the method includeGuestShoppers. This enables the code to find abandoned shopping carts for both registered and guest users. 2) Customize the e-mail code to find the e-mail address for a guest shopper, and allow a marketing e-mail to be sent to a guest shopper. There is not an easy way to implement this customization without writing a large amount of code.
Local fix
Problem summary
USERS AFFECTED: WebSphere Commerce users on v7.0 using Management Center dialog activities. PROBLEM ABSTRACT: Marketing e-mail cannot be sent to a guest user as a result of a Customer Abandons Shopping Cart trigger. This scenario requires a customization, but a required customization point is not exposed. BUSINESS IMPACT: Guest users do not receive marketing e-mail . RECOMMENDATION:
Problem conclusion
This APAR exposes a method named getQueryToFindMemberIdAndEmailForIndividualUser in the class ListEmailRecipientsInMemberGroupTaskCmdImpl. A customization can implement this method to create a query that returns the e-mail addresses of both registered and guest users. This enables the code to send a marketing e-mail to both registered and guest users. The details steps of this customization are: 1) Create a custom class ExtCustomerAbandonsShoppingCartTriggerTaskCmdImpl CustomerAbandonsShoppingCartTriggerTaskCmdImpl needs to be extended to return true from the method includeGuestShoppers. This allows guest shoppers to participate in the abandoned shopping cart dialog activity. package com.custom.marketing; import com.ibm.commerce.marketing.commands.elements.CustomerAbandonsSho ppingCartTriggerTaskCmdImpl; public class ExtCustomerAbandonsShoppingCartTriggerTaskCmdImpl extends CustomerAbandonsShoppingCartTriggerTaskCmdImpl { protected boolean includeGuestShoppers() { return true; } } 2) Create a custom class ExtListEmailRecipientsInMemberGroupTaskCmdImpl ListEmailRecipientsInMemberGroupTaskCmdImpl needs to be extended to return both guest and registered users. Implement the method getQueryToFindMemberIdAndEmailForIndividualUser to return a query used to find guest and registered shoppers user IDs and e-mail addresses. package com.custom.marketing; import com.ibm.commerce.emarketing.commands.ListEmailRecipientsInMember GroupTaskCmdImpl; public class ExtListEmailRecipientsInMemberGroupTaskCmdImpl extends ListEmailRecipientsInMemberGroupTaskCmdImpl { protected String getQueryToFindMemberIdAndEmailForIndividualUser(Integer storeId, Long userId) { return "SELECT MEMBER_ID, EMAIL1, EMAIL2 FROM USERS, ADDRESS WHERE USERS.USERS_ID = " + userId + " AND USERS.USERS_ID = ADDRESS.MEMBER_ID AND ( (USERS.REGISTERTYPE ='G' AND ADDRESS.STATUS = 'P') OR " + "(USERS.REGISTERTYPE ='R' AND ADDRESS.MEMBER_ID = any (SELECT USERS_ID FROM EMLUSRRECV WHERE USERS_ID = " + userId + " AND ((RECEIVEEML = 1 AND STOREENT_ID = " + storeId + ") or (RECEIVEEML = 1 AND STOREENT_ID = 0)) and USERS_ID NOT IN (SELECT USERS_ID FROM EMLUSRRECV WHERE USERS_ID = " + userId + " AND RECEIVEEML = 0 AND STOREENT_ID = " + storeId + ")) AND SELFADDRESS=1 AND STATUS = 'P') )"; } } 3) Register the custom classes in the CMDREG database table insert into cmdreg (storeent_id, interfacename, classname) values (0, 'com.ibm.commerce.marketing.commands.elements.CustomerAbandonsSh oppingCartTriggerTaskCmd', 'com.custom.marketing.ExtCustomerAbandonsShoppingCartTriggerTask CmdImpl'); insert into cmdreg (storeent_id, interfacename, classname) values (0, 'com.ibm.commerce.emarketing.commands.ListEmailRecipientsInMembe rGroupTaskCmd', 'com.custom.marketing.ExtListEmailRecipientsInMemberGroupTaskCmd Impl'); 4) In the dialog activity Send Message (e-mail) action, the "Send immediately" checkbox needs to be selected. ------------------------------------------------------------- The latest available maintenance information can be obtained from the Recommended Fixes for WebSphere Commerce technote: http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
Temporary fix
Comments
APAR Information
APAR number
JR44833
Reported component name
WC BUS EDITION
Reported component ID
5724I3800
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-20
Closed date
2013-01-09
Last modified date
2013-04-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WC BUS EDITION
Fixed component ID
5724I3800
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
09 April 2013