Ajout d'un attribut de segment de clientèle au fichier d'exportation de segment de clientèle
Vous pouvez personnaliser la fonction d'exportation de segment de clientèle dans le Management Center pour inclure plusieurs attributs de segment de clientèle dans le fichier exporté.
Avant de commencer
Pourquoi et quand exécuter cette tâche
- Adresse électronique (ADDRESS.EMAIL1)
- ID de connexion (USERREG.LOGONID)
- Titre du client (ADDRESS.PERSONTITLE)
- Prénom du client (ADDRESS.FIRSTNAME)
- Nom de famille du client (ADDRESS.LASTNAME)
Si les professionnels nécessitent davantage d'informations client dans le fichier d'exportation, vous pouvez personnaliser la fonction d'exportation pour inclure des informations extraites de toute table de base de données, y compris des tables personnalisées. Cependant, cette table doit comporter une valeur ou une relation correspondante avec la colonne MEMBER_ID de la table ADRESSE.
- Ville (ADDRESS.CITY)
- Département/Province (ADDRESS.STATE)
- Pays (ADDRESS.COUNTRY)
- Numéro de téléphone (ADDRESS.PHONE1)
- Genre (USERDEMO.GENDER)
- Situation de famille (USERDEMO.MARITALSTATUS)
Procédure
- Ouvrez HCL Commerce Developer. Basculez vers la vue Explorateur d'entreprise.
-
Définissez les propriétés de texte de l'outil Marketing applicables aux options d'attribut de segment de clientèle.
-
Enregistrez les nouvelles propriétés dans le regroupement de ressources.
-
Enregistrez le fichier de regroupement de ressources là où il est utilisé.
Par exemple :
<dependency localName="extMarketingManagementResourceBundle" moduleName="cmc/MyCompany/extMarketingManagementResourceBundle"/> -
Créez la définition d'objet d'exportation de segment de clientèle pour inclure la définition des nouvelles options d'attribut de segment de clientèle. La définition d'objet permet d'utiliser l'attribut de segment de clientèle dans un objet d'exportation de segment de clientèle, dans la structure du Management Center.
-
Créez la définition de vue présentant les propriétés d'exportation de segment de clientèle pour les nouvelles options d'attribut de segment de clientèle. Cette définition indique comment afficher l'option permettant aux utilisateurs d'inclure le nouvel attribut de segment de clientèle dans le fichier d'exportation.
Par exemple, sous la forme d'une case à cocher pour indiquer que les informations d'attribut sont incluses dans le fichier d'exportation.
-
Créez une classe Java d'implémentation pour gérer les nouvelles options d'attribut.
Par exemple, vous pouvez nommer cette classe com.mycompany.marketing.segment.CustomizedCustomerSegmentExtractCmdImpl personnalisée, où mycompany est le nom de votre entreprise.
Vous devez utiliser cette classe d'implémentation personnalisée pour étendre la classe d'implémentation par défaut CustomerSegmentExtractCmdImpl de la classe de commande CustomerSegmentExtractCmd.
Dans votre nouvelle classe, étendez la classe de commande com.ibm.commerce.marketing.segment.commands.CustomerSegmentExtractCmdImpl. Pour étendre cette classe, ajoutez du code dans le nouveau fichier afin d'appeler des méthodes d'accès set pour extraire les attributs de segment de clientèle à ajouter au fichier d'exportation. Vous pouvez utiliser les méthodes d'accès set suivantes pour vous aider à construire votre classe :setInclude1stAdditionalADDRESScolumns(String)- Cette méthode ajoute des colonnes d'informations extraites de la table ADDRESS. Vous pouvez inclure plusieurs colonnes en respectant le format suivant :
setInclude1stAdditionalADDRESScolumns("Column1, Column2, Column3"); setInclude2ndAdditionalUSERDEMOcolumns(String)- Cette méthode ajoute des colonnes d'informations extraites de la table USERDEMO. Vous pouvez inclure plusieurs colonnes en respectant le format suivant :
setInclude2ndAdditionalUSERDEMOcolumns("Column1, Column2, Column3"); setIncludeLastAdditionalCustomTableColumns(String, String, String)- Cette méthode ajoute des colonnes d'informations extraites de tables personnalisées. Lorsque vous définissez cette méthode, identifiez la table, les colonnes ainsi que la valeur ou la relation correspondante entre la table personnalisée et la colonne ADDRESS.MEMBER_ID. Respectez le format suivant pour définir cette méthode :
setIncludeLastAdditionalCustomTableColumns("Table", "column1, column2", "relationship to ADDRESS.MEMBER_ID")
Par exemple, le code suivant appelle les méthodes d'accès set ci-après pour extraire des informations client à partir des tables ADDRESS, USERDEMO et USERS. La relation entre la table USERS et la colonne ADDRESS.MEMBER_ID passe par la colonne USERS.USERS_ID.public class CustomizedCustomerSegmentExtractCmdImpl extends CustomerSegmentExtractCmdImpl implements CustomerSegmentExtractCmd{ ... public void performExecute() throws ECException { .. setInclude1stAdditionalADDRESScolumns("CITY, STATE, COUNTRY"); setInclude2ndAdditionalUSERDEMOcolumns("GENDER,AGE"); setIncludeLastAdditionalCustomTableColumns("USERS","PROFILETYPE, LANGUAGE_ID", "USERS_ID"); super.performExecute(); ... } ... }Remarque : Si la personnalisation est plus complexe, vous pouvez employer les méthodes d'accès set suivantes pour remplacer l'instruction SQL par défaut que la fonction d'exportation utilise pour extraire des informations client. En remplaçant l'instruction SQL par défaut, vous pouvez définir et utiliser une instruction SQL personnalisée pour extraire des informations client. Lorsque vous employez les méthodes d'accès set suivantes pour définir une instruction SQL personnalisée, les méthodes d'accès set précédentes personnalisant l'instruction SQL par défaut sont ignorées puisque celle-ci n'est plus utilisée. Lorsque vous créez une classe d'implémentation personnalisée, appelez les méthodes d'accès set suivantes pour utiliser l'instruction SQL personnalisée. Ces méthodes d'accès set sont définies dans la classe de commande CustomerSegmentExtractCmd.setSQLSelect(String)- Cette méthode remplace l'instruction SQL select que la fonction d'exportation de segment de clientèle utilise pour extraire des informations. Définissez la valeur de l'instruction SQL en respectant le format suivant :
Où"SELECT TABLE_<n>.COLUMN_1, ...CLOUMN_N FROM TABLE_1, TABLE_2, ...TABLE_N WHERE TABLE_<m>.MEMBER_ID IN (<QUERY>)"(<Query>)est la liste des valeurs MEMBER.MEMBER_ID des clients enregistrés dans le segment de clientèle. La fonction d'exportation de segment de clientèle utilise la commande com.ibm.commerce.membergroup.commands.ListUsersInStoreMemberGroupCmd pour générer la liste des valeurs d'ID membre du segment de clientèle sélectionné par l'utilisateur dans l'outil Marketing. Vous ne pouvez pas personnaliser l'extraction de cette liste pour la fonction d'exportation de segment de clientèle. setSQLOrderBy(String)- Cette méthode remplace l'instruction
ORDER BY SQLqui définit le mode de tri des informations client. Définissez la valeur de l'instruction SQL en respectant le format suivant :"ORDER BY TABLE_<x>.COLUMN_<y> ASC" setFileHeader(String)- Cette méthode remplace l'en-tête du fichier d'exportation. Lorsque vous employez la méthode d'accès set
setSQLSelect(String), vous devez utiliser la méthode d'accès setsetFileHeader(String)pour changer la séquence des en-têtes de colonne selon l'ordre de tri de votre instruction SQL. Le format de l'en-tête de fichier peut se présenter comme suit :"EMAIL,LOGONID,GENDER,AGE,CITY"
SELECT T1.C1, T2.C2, T3.C3 FROM T1, T2, T3 WHERE T1.C2=T2.C3 AND T1.C3=T3.C4 AND T1.MEMBER_ID IN (<Query>) ORDER BY T1.MEMBER_ID ASCPar exemple, l'instruction SQL suivante remplace l'instruction SQL par défaut pour extraire l'adresse électronique, le titre, le prénom, le nom de famille et l'ID de connexion du client
Le fichier CustomizedCustomerSegmentExtractCmdImpl.java peut inclure le code suivant pour remplacer l'instruction SQL que la fonction d'exportation utilise pour extraire des informations client.SELECT LOWER(T1.EMAIL1) AS LOWER_EMAIL1, T1.PERSONTITLE, T1.FIRSTNAME, T1.LASTNAME, T2.LOGONID FROM ADDRESS T1, USERREG T2 WHERE T1.MEMBER_ID=T2.USERS_ID AND T1.STATUS='P' AND T1.SELFADDRESS=1 AND T1.MEMBER_ID IN (<QUERY>) ORDER BY LOWER_EMAIL1 ASC//Customize SQL query to overrides the SQL select statement //that the customer segment export feature uses to retrieve information. String customOrderby = "ORDER BY LOWER_EMAIL1 DESC"; String customHeader = "EMAIL, PHONE1, ADDRESS1 "; StringBuilder sb = new StringBuilder("SELECT "); sb.append( "LOWER(T1.EMAIL1) AS LOWER_EMAIL1, T1.PHONE1, T1.ADDRESS1, T3.PASSWORDCREATION FROM ADDRESS T1, USERDEMO T2, USERREG T3 ") .append("WHERE T1.MEMBER_ID=T2.USERS_ID") .append(" AND T1.MEMBER_ID=T3.USERS_ID ") .append("AND T1.MEMBER_ID ").append("IN ").append("(<QUERY>)"); String customSQL = sb.toString(); setSQLSelect(customSQL); //Override the ORDER BY SQL statement that defines how customer information is sorted setSQLOrderBy(customOrderby); //Override the file header of the export file. setFileHeader(customHeader); -
Mettez à jour les commandes d'exportation de segment de clientèle pour inclure les nouveaux attributs de segment de clientèle.
- Republiez l'application pour récupérer les modifications LOBTools.
- Démarrez ou redémarrez le serveur de test HCL Commerce pour que les modifications prennent effet. Cliquez avec le bouton droit de la souris sur le serveur et sélectionnez Démarrer ou Redémarrer.
-
Vérifiez que les attributs de segment de clientèle peuvent être inclus lorsqu'un segment de clientèle est exporté à l'aide de l'outil Marketing.