HCL Commerce Enterprise

Creación de un tipo de término y condición ampliados para contratos y cuentas

Puede crear un tipo de término y condición (término) ampliado para contratos y cuentas. Cree un tipo de término cuando tenga que complementar los tipos de términos predeterminados proporcionados por HCL Commerce. Por ejemplo, cuando tiene un cliente preferido para el que desea suspender la aplicación de un recargo o quizás proporcionar un recargo diferente. De forma predeterminada no se proporciona ningún término de dispensa de recargo flexible, de modo que para proporcionar dicho término, puede crear un tipo de término ampliado.

Procedimiento

  1. Defina el nuevo tipo de término en el archivo TCConfigurationExt.xml que cree.
    Con este nuevo método, defina términos de contrato en el archivo TCConfigurationExt.xml. Para obtener detalles de los atributos que se mencionan en estos pasos, consulte Atributos para un nuevo contrato de término ampliado.
    1. Si el archivo workspace_dir/WC/xml/trading/xml/TCConfigurationExt.xml no existe, créelo copiando y pegando el código XML siguiente:
      
      <?xml version="1.0" encoding="UTF-8"?>
      <TCConfiguration
      xmlns="http://www.ibm.com/xmlns/prod/commerce/9/contract"
      xmlns:ecore="http://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"
      resourceBundle="contract.customTCRB">
              <!-- Add extended term definitions here; see Step 2.  -->
      </TCConfiguration>
      
    2. Añada tipos de término ampliado en este archivo insertando los tipos después de la línea:
      
      <!-- Add extended term definitions here. -->
      
      Por ejemplo, los nuevos tipos de término pueden parecerse al siguiente código:
      <TCDefinition 
            type="SurChargeTC" 
            existing="false" 
            usage="Contract" 
            display="true">
          <Display 
           displayNameKey="SurChargeTC" 
           descriptionKey="SurChargeTCDescription"/>
              <Property 
                name="waiveSurCharge" 
                column="INTEGERFIELD1" 
                required="true" 
                changeable="true">
                    <Display 
                    displayNameKey="waiveSurCharge" 
                    descriptionKey="waiveSurChargeDescription"/>
              </Property>
              <Property 
              name="surChargeAmount" 
              column="FLOATFIELD1" 
              required="false" 
              changeable="true">
                      <Display 
                      displayNameKey="surChargeAmount" 
                      descriptionKey="surChargeAmountDescription"/>
              </Property>
      </TCDefinition>
      
      • El valor de atributo de tipo del elemento TCDefinition no debe ser "TermCondition" ni el mismo que los subtipos de los términos existentes.
      • El valor del atributo "usage" es "Contract". El valor indica que este nuevo tipo de término solo se aplica a los contratos. Si también desea aplicar el tipo de término nuevo a las cuentas, puede cambiar el valor por "All".
    3. Guarde y cierre el archivo.
  2. Establezca las propiedades de visualización en el paquete de recursos para resolver los nombres en etiquetas y descripciones que se visualicen en HCL Commerce Accelerator en diferentes idiomas.

    Debe proporcionar valores para los identificadores visualizables en la sección anterior (como waiveSurCharge) en todos los idiomas que debe soportar para los usuarios de empresa. En el paquete de recursos, debe proporcionar los valores visualizables de los tipos de términos, en el formato nombre=valor. Debe crear su propio paquete de recursos de modo que el contenido no se sobrescriba cuando se aplican actualizaciones de servicio.

    Debe crear el paquete de recursos en la carpeta workspace_dir/WC/properties/com/ibm/commerce/tools/contract/properties para asociarlo con el espacio de nombres de "contract". Aunque el nombre del paquete de recursos es su elección, asegúrese de que el nombre no esté en conflicto con alguno de los nombres de paquete de recursos existentes. En el ejemplo anterior del archivo TCConfigurationExt.xml, el paquete de recursos se identifica por el atributo resourceBundle="contract.customTCRB". El nombre de archivo que se utilizará es customTCRB.properties. Continuando con el ejemplo anterior, el contenido del archivo customTCRB.properties sería:
    
    # -- customized contented defined for each extended tc
    SurChargeTC=Surcharge TC
    SurChargeTCDescription=Surcharge Term and Condition is used for
    specifying the settings related to surcharge
    waiveSurCharge=Waive Surcharge
    waiveSurChargeDescription=Whether to waive the charge
    surChargeAmount=Surcharge Amount
    surChargeAmountDescription=The amount of the surcharge
    
    Se pueden soportar más idiomas para los usuarios de empresa traduciendo los valores de propiedad (no los nombres) y almacenándolos en paquetes de recursos como customTCRB_fr_CH.properties. El nombre se compone del nombre base (customTCRB), seguido por un símbolo de subrayado (_), el código de idioma ISO 639-1 (fr), otro subrayado y a continuación, el código de país ISO 3166-1 (CH). El nombre customTCRB_fr_CH.properties es el archivo a utilizar cuando se especifica el entorno local para el idioma francés (fr) en Suiza (CH). Por último, el paquete de recursos debe registrarse en el archivo resource.xml en la carpeta workspace_dir/WC/xml/tools/contract añadiendo la entrada siguiente y sustituyendo customTCRB por el nombre que ha utilizado:
    <resourceBundle name="customTCRB" bundle="com.ibm.commerce.tools.contract.properties.customTCRB" /> 

    Es posible que los cambios en el archivo resource.xml se sobregraben cuando las actualizaciones de servicio se hayan completado. Puede que tenga que volver a realizar este cambio en resource.xml después de aplicar una actualización de servicio.

    Captura de pantalla de la página Término y condición ampliados en HCL Commerce Accelerator.

    HCL Commerce Version 9.1.10.0 or later Captura de pantalla de la página Término y condición ampliados en Management Center.

  3. Registre el tipo de término nuevo.
    Los términos ampliados se ajustan al modelo de contrato existente y debe definir un tipo de término nuevo insertando un registro en la tabla TCTYPE. Puede definir un único tipo de término para todos los términos ampliados que se van a utilizar o bien definir varios tipos de términos. Ejecute el siguiente mandato SQL para crear un nuevo y único TCTYPE denominado 'ExtendedTC':
    
    Insert into TCTYPE (TCTYPE_ID) values ('ExtendedTC');
    
    El valor ExtendedTC puede ser cualquier nombre exclusivo que aún no se esté utilizando en la columna TCTYPE.
    Para cada término y condición que se encuentra en el archivo TCConfigurationExt.xml, debe definir un nuevo subtipo de términos y condiciones. Defina los términos y condiciones insertando un registro en la tabla TCSUBTYPE.
    • Para registrar el tipo de término ampliado nuevo en la tabla TCSUBTYPE, ejecute el siguiente mandato SQL:
      
      Insert into tcsubtype(TCSUBTYPE_ID,TCTYPE_ID)
      Values ('SurChargeTC', 'ExtendedTC');
      
      Deje el valor para la columna ACCESSBEANNAME como nulo. También puede dejar la columna DEPLOYCOMMAND como nulo cuando no tiene lógica de despliegue personalizada para el término.
      • Si la columna ACCESSBEANNAME es nula, se utiliza el bean de acceso predeterminado (ExtendedTermConditionAccessBean) al crear y actualizar las condiciones y términos ampliados. El método de llamada puede utilizar los métodos getProperty y setProperty de ExtendedTermConditionAccessBean para obtener y establecer las propiedades del término y condición.
      • Si la columna DEPLOYCOMMAND es nula, los términos con este tipo se ignoran durante el despliegue.
    • Para registrar un mandato de despliegue personalizado, ejecute este mandato SQL:
      
      Insert into tcsubtype(TCSUBTYPE_ID, TCTYPE_ID, ACCESSBEANNAME,
      DEPLOYCOMMAND)
      Values ('SurChargeTC', 'ExtendedTC', null, 
      YourDeployCommandName);
      
    Donde:
    SuNombreMandatoDespliegue
    El nombre del mandato de despliegue personalizado. El valor predeterminado es 'com.ibm.commerce.contract.commands.DeployExtendedTCCmd.'

    El bean de acceso predeterminado 'com.ibm.commerce.contract.objects.ExtendedTermConditionAccessBean' se utiliza para manejar todos los términos ampliados. El nombre 'SurChargeTC' que se muestra aquí es un ejemplo. Escriba el mismo valor que se utiliza en el atributo type del elemento TCDefinition que se muestra anteriormente. Además, asegúrese de que el valor para TCTYPE_ID coincide con el valor en la tabla TCTYPE.

    Normalmente no tendrá que definir su propio mandato de despliegue. Puede dejar SuNombreMandatoDespliegue como nulo. Sin embargo, si desea tener su propia lógica de despliegue, debe sustituir SuNombreMandatoDespliegue por el nombre de su propio mandato de despliegue.

  4. Renueve la correlación de términos y condiciones.
    Nota: Todos los pasos mencionados aquí solo son aplicables para versiones anteriores a la versión 9.1.9.0. A partir de HCL Commerce versión 9.1.10, el registro se actualiza a través de Management Center.

    Para utilizar los nuevos términos en la interfaz de usuario de HCL Commerce Accelerator o el entorno de ejecución de HCL Commerce, los valores deben propagarse al registro. La Correlación de términos y condiciones es nueva en este release y se encuentra junto con los demás registros de HCL Commerce.

    Si reinicia el servidor, el registro se actualizará automáticamente. De lo contrario, para actualizar el registro:

    1. Inicie el servidor de HCL Commerce.
    2. Abra la Consola de administración.
    3. Seleccione Sitio y pulse Aceptar.
    4. Seleccione Configuración > Registro.
    5. En la lista de registro, seleccione Correlación de términos y condiciones y pulse el botón Actualizar.
    6. Después de completar la actualización, finalice la sesión de la consola de administración.
    HCL Commerce Version 9.1.10.0 or later
    Nota: A partir de HCL Commerce versión 9.1.10, el registro se puede actualizar a través de Management Center.

    Para utilizar los nuevos términos en la interfaz de usuario de Management Center o el entorno de ejecución de HCL Commerce, los valores deben propagarse al registro. La Correlación de términos y condiciones es nueva en este release y se encuentra junto con los demás registros de HCL Commerce.

    Si reinicia el servidor, el registro se actualizará automáticamente. De lo contrario, para actualizar el registro:

    1. Inicie el servidor de HCL Commerce.
    2. Abra las herramientas del centro de gestión.
    3. En el botón de menú, seleccione Administración del sistema > Registros.
    4. En el campo Buscar , escriba TCMappingRegistry.
    5. En el menú Acciones, pulse el icono Actualizar registro .
    6. Una vez que haya completado la actualización, finalice la sesión en el Centro de gestión.

Resultados

Después de crear el tipo de término, puede añadirlo a contratos o cuentas. Sin embargo, antes de que el tipo de término pueda tener algún efecto, debe proporcionar lógica para manejarlo. Proporcionar esta lógica es una acción similar a la de los releases anteriores, salvo que anteriormente el código personalizado utilizaba TermConditionAccessBean para acceder a los términos. Ahora, el código personalizado utiliza ExtendedTermConditionAccessBean para acceder al término ampliado. A continuación se muestra un ejemplo.

Long contractId = new Long(23504); 
ExtendedTermConditionAccessBean etcAB = new ExtendedTermConditionAccessBean(); 
Enumeration etcABs = etcAB.findByTradingAndTCSubType(contractId, "SurChargeTC"); 
if (etcABs.hasMoreElements()) 
{ 
  etcAB = (ExtendedTermConditionAccessBean)etcABs.nextElement(); 
  Integer waiveSurCharge = (Integer)etcAB.getProperty("waiveSurCharge"); 
  Double surChargeAmount = (Double)etcAB.getProperty("surChargeAmount"); 
}