![HCL Commerce Developer](../../base/images/ngdev.gif)
Añadir un atributo de segmento de clientes al archivo de exportación de segmento de clientes
Puede personalizar la característica de exportación de segmento de clientes en el Management Center para incluir más atributos de segmentos de clientes en el archivo exportado.
Nota: Para garantizar la seguridad de la información del cliente, siga todas las reglas y regulaciones relacionadas con el manejo, el almacenamiento y el acceso a la información del cliente.
Antes de empezar
Si desea probar la personalización en el entorno de desarrollo con datos de segmento de clientes del entorno de producción, realice la tarea siguiente:
Por qué y cuándo se efectúa esta tarea
De forma predeterminada, los usuarios de empresa pueden incluir los atributos de segmento de clientes siguientes en un archivo de exportación de segmento de clientes:
- Dirección de correo electrónico (ADDRESS.EMAIL1)
- ID de inicio de sesión (USERREG.LOGONID)
- Título del cliente (ADDRESS.PERSONTITLE)
- Nombre del cliente (ADDRESS.FIRSTNAME)
- Apellido del cliente (ADDRESS.LASTNAME)
Si los usuarios de empresa requieren más información del cliente en el archivo de exportación, puede personalizar la característica de exportación para que incluya información de cualquier tabla de base de datos, incluidas las tablas personalizadas. Sin embargo, la tabla debe tener un valor o una relación de coincidencia con la columna MEMBER_ID de la tabla ADDRESS.
Por ejemplo, puede personalizar la exportación de segmento de clientes para que incluya alguno de los siguientes tipos de información del cliente para la lista de clientes de un segmento:
- Ciudad (ADDRESS.CITY)
- Estado/Provincia (ADDRESS.STATE)
- País (ADDRESS.COUNTRY)
- Número de teléfono (ADDRESS.PHONE1)
- Sexo (USERDEMO.GENDER)
- Estado civil (USERDEMO.MARITALSTATUS)
Procedimiento
Personalice la herramienta Marketing para mostrar nuevas opciones de atributo de segmento de clientes para exportar
- Abra HCL Commerce Developer. Vaya a la vista Explorador de empresa.
-
Defina las propiedades de texto de la herramienta Marketing para las opciones de atributo de segmento de clientes.
-
Registre las nuevas propiedades en el paquete de recursos.
-
Registre el archivo de paquete de recursos dondequiera que se utilice.
Por ejemplo:
<dependency localName="extMarketingManagementResourceBundle" moduleName="cmc/MyCompany/extMarketingManagementResourceBundle"/>
-
Cree la definición de objeto de exportación de segmento de clientes para incluir la definición para las nuevas opciones de atributo de segmento de clientes. La definición de objeto añade soporte para el atributo de segmento de clientes que se utilizará en un objeto de exportación de segmento de clientes dentro de la infraestructura del Management Center.
-
Cree la definición de vista de propiedades de exportación de segmento del cliente para las nuevas opciones de atributo de segmento de clientes. La definición indica cómo representar la opción para que los usuarios incluyan el nuevo atributo de segmento de clientes en el archivo de exportación.
Por ejemplo, un recuadro de selección para indicar que la información del atributo se incluye en el archivo de exportación.
Amplíe la clase CustomerSegmentExtractCmdImpl para personalizar la característica de exportación de segmento de clientes para incluir los atributos de segmento de clientes nuevos.
-
Cree una clase Java de implementación para que maneje las nuevas opciones de atributo.
Por ejemplo, puede denominar esta clase personalizada com.mycompany.marketing.segment.CustomizedCustomerSegmentExtractCmdImpl, donde mycompany es el nombre de su empresa.
Debe utilizar esta clase de implementación personalizada para ampliar la clase de implementación predeterminada CustomerSegmentExtractCmdImpl para la clase de mandato CustomerSegmentExtractCmd.
En la nueva clase, amplíe la clase de mandato com.ibm.commerce.marketing.segment.commands.CustomerSegmentExtractCmdImpl. Para ampliar esta clase, añada código en el archivo nuevo para llamar a los métodos de establecimiento para recuperar los atributos de segmento de clientes para añadirlos al archivo de exportación. Puede utilizar los siguientes métodos de establecimiento como ayuda para construir la clase:setInclude1stAdditionalADDRESScolumns(String)
- Este método añade columnas para la información de la tabla ADDRESS. Puede incluir varias columnas utilizando el formato:
setInclude1stAdditionalADDRESScolumns("Column1, Column2, Column3");
setInclude2ndAdditionalUSERDEMOcolumns(String)
- Este método añade columnas para la información de la tabla USERDEMO. Puede incluir varias columnas utilizando el formato:
setInclude2ndAdditionalUSERDEMOcolumns("Column1, Column2, Column3");
setIncludeLastAdditionalCustomTableColumns(String, String, String)
- Este método añade columnas para la información de tablas personalizadas. Cuando establezca este método, identifique la tabla, las columnas y el valor o relación de coincidencia de la tabla personalizada a la columna ADDRESS.MEMBER_ID. Utilice el siguiente formato para definir este método:
setIncludeLastAdditionalCustomTableColumns("Table", "column1, column2", "relationship to ADDRESS.MEMBER_ID")
Por ejemplo, el código siguiente llama a estos métodos de establecimiento para recuperar la información del cliente de las tablas ADDRESS, USERDEMO y USERS. La relación entre la tabla USERS y la columna ADDRESS.MEMBER_ID es a través de la columna 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(); ... } ... }
Nota: Si la personalización es más compleja, puede utilizar los siguientes métodos de establecimiento para alterar temporalmente el SQL predeterminado que la característica de exportación utiliza para recuperar información del cliente. Alterando temporalmente el SQL predeterminado, puede definir y utilizar el SQL personalizado para recuperar información del cliente. Cuando se utilizan los siguientes métodos de establecimiento para definir el SQL personalizado, los anteriores métodos de establecimiento que personalizan el SQL predeterminado se ignoran, ya que el SQL deja de utilizarse. Cuando vaya a crear la clase de implementación personalizada, llame a los métodos de establecimiento siguientes para utilizar el SQL personalizado. Estos métodos de establecimiento se definen en la clase de mandato CustomerSegmentExtractCmd.setSQLSelect(String)
- Este método sustituye la sentencia select de SQL que la característica de exportación de segmento de clientes utiliza para recuperar información. Defina el valor de la sentencia SQL en el formato siguiente
Donde"SELECT TABLE_<n>.COLUMN_1, ...CLOUMN_N FROM TABLE_1, TABLE_2, ...TABLE_N WHERE TABLE_<m>.MEMBER_ID IN (<QUERY>)"
(<Query>)
es la lista de valores MEMBER.MEMBER_ID para los clientes registrados en el segmento de clientes. La función de exportación de segmento de clientes utiliza el mandato com.ibm.commerce.membergroup.commands.ListUsersInStoreMemberGroupCmd para generar la lista de valores de ID de miembro para el segmento de clientes que un usuario selecciona en la herramienta Marketing. No puede personalizar la recuperación de esta lista para la característica de exportación de segmento de clientes. setSQLOrderBy(String)
- Este método altera temporalmente la sentencia
ORDER BY SQL
de SQL que define cómo se clasifica la información del cliente. Defina el valor de la sentencia SQL con el formato siguiente"ORDER BY TABLE_<x>.COLUMN_<y> ASC"
setFileHeader(String)
- Este método altera temporalmente la cabecera de archivo del archivo de exportación. Siempre que utilice el método de establecimiento
setSQLSelect(String)
, debe utilizar el método de establecimientosetFileHeader(String)
para cambiar la secuencia de las cabeceras de columna para que coincidan con el orden de clasificación para el SQL. La cabecera de archivo puede tener el formato siguiente:"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 ASC
Como ejemplo, la siguiente sentencia SQL sustituye el SQL predeterminado para recuperar información para la dirección de correo electrónico del cliente, título, nombre, apellido e ID de inicio de sesión
El archivo CustomizedCustomerSegmentExtractCmdImpl.java puede incluir el código siguiente para alterar temporalmente el SQL que la característica de exportación utiliza para recuperar información del cliente: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);
-
Actualice los mandatos de exportación de segmento de clientes para incluir los atributos de segmento de clientes nuevos.
- Vuelva a publicar la aplicación para recoger los cambios de LOBTools.
- Inicie o reinicie el servidor de pruebas de HCL Commerce para que los cambios entren en vigor. Pulse con el botón derecho del ratón en el servidor y seleccione Iniciar o Reiniciar.
-
Verifique si los atributos de segmento de clientes pueden incluirse cuando un segmento de clientes se exporta con la herramienta Marketing.