Colaboración : Cisco Unified Intelligent Contact Management Enterprise

Usando los disparadores de la base de datos con el Blended Agent para hacer el proceso específico a la aplicación

31 Julio 2013 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (29 Junio 2006) | Comentarios


Contenido


Introducción

Este White Paper describe cómo utilizar los activadores de la base de datos de SQL Server para realizar el proceso específico a la aplicación, cuando los registros de contacto en las bases de datos privadas del Blended Agent (VAGOS) son cerrados o son puestos al día por el administrador de la campaña de los VAGOS.

Prerrequisitos

Requisitos

Cisco recomienda que tenga conocimiento sobre estos temas:

  • Administración inteligente de contactos de Cisco (ICM)

  • Blended Agent del software de Cisco ICM

  • Bases de datos Microsoft SQL

Componentes Utilizados

La información en este White Paper se basa en estas versiones de software y hardware:

  • Versión 4.6.x y posterior del Cisco ICM

  • SQL 7 de Microsoft

La información en este White Paper fue creada de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos usados en este White Paper comenzaron con una configuración despejada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Convenciones

Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.

Información general

Los VAGOS salvan los registros de contacto que se marcarán en un dato de Microsoft SQL Server. El uso de una aplicación de bases de datos estándars, tal como SQL Server, hace más fácil para que los otros vendedores y los usuarios integren sus sistemas y aplicaciones con los VAGOS.

Este White Paper describe cómo utilizar los activadores de la base de datos de SQL Server para realizar el proceso específico a la aplicación, cuando el administrador de la campaña de los VAGOS cierra o pone al día el estatus de ningunos conecta el expediente en la base de datos.

Dialing_List y Personal_Callback_List

Los VAGOS salvan los registros de contacto en la tabla del Dialing_List. Salva los expedientes personales del servicio repetido en la tabla del Personal_Callback_List. Estas tablas están en las bases de datos privadas de los VAGOS (customer_inst_baA). En esta tabla, el CallStatus y el CallResult identifican el estado de un registro de contacto.

Nombre Tipo Tamaño Descripción
CallStatus CHAR 1 byte El CallStatus indica el estado del expediente: P — El registro de contacto está PENDIENTE ser llamado. C — Se ha cerrado el expediente. Refiera a estos documentos para una descripción completa de todos los valores del CallStatus y de sus significados:
CallResult SMALLINT 2 bytes El CallResult indica el resultado de la llamada según lo vuelto al administrador de la campaña de los VAGOS por el marcador de los VAGOS. Así, indica si la VOZ de las visualizaciones del marcador, OCUPADA, o NINGUNA RESPUESTA cuando se marca el número de contacto. Refiera a estos documentos para las descripciones completas de todos los valores del CallResult y de sus significados:

Siempre que el administrador de la campaña de los VAGOS ponga al día un expediente en el Dialing_List o en el Personal_Callback_List, los campos del CallStatus y del CallResult son actualizados. Por este motivo, es simple crear los activadores de la base de datos de SQL Server para monitorear estos campos.

El uso de los activadores en las tablas de base de datos de los VAGOS permite que usted logre un número sin límite de objetivos específicos a la aplicación. Este White Paper demuestra algunos escenarios de ejemplo donde los activadores pueden ser útiles.

Ejemplo de disparadores

Nota: Todos los disparadores de ejemplo en este White Paper refieren a una tabla ficticia, el CRM_Table en CRM_DB la base de datos.

Complete estos pasos para crear los activadores del administrador de empresa del SQL Server:

  1. Profundice a los VAGOS la base de datos.

  2. Conforme a la base de datos, haga clic el icono de la tabla.

    Esto visualiza las tablas que se asocian a la base de datos.

  3. Seleccione la tabla en la cual usted quiere crear un activador.

  4. Haga clic con el botón derecho del ratón la tabla seleccionada y seleccione el All Tasks (Todas las tareas) > Manage Triggers (Administrar disparadores).

    /image/gif/paws/19091/blendedagent-a.gif

Inserte una fila en las bases de datos externas

El disparador de ejemplo en esta sección inserta una fila en la tabla, CRM_Table (en CRM_DB la base de datos) siempre que el administrador de la campaña de los VAGOS ponga al día un registro de contacto en el Dialing_List.

CREE el insert_crm_data del ACTIVADOR
CREATE TRIGGER insert_crm_data ON Dialing_List FOR UPDATE AS
/* Proceed only if EXACTLY ONE Record is updated */

!--- See next Note for an explanation.

IF (SELECT COUNT (*) FROM INSERTED) = 1
BEGIN

     INSERT CRM_DB..CRM_Table
     SELECT
     inserted.AccountNumber,
     GETDATE (),
     inserted.CallStatus
     FROM inserted

END

Nota: Con excepción de los registros de contacto de la actualización cuando se llaman los contactos, el administrador de la campaña también realiza algunas actualizaciones a granel. Éstos se deben filtrar hacia fuera por el activador. Vea la sección de las prácticas recomendadas de este White Paper para más información.

Ponga al día la información de contacto en las bases de datos externas

El disparador de ejemplo en esta sección pone al día un expediente en la tabla CRM_Table (en CRM_DB la base de datos) a través de una coincidencia del número de cuenta del contacto. Por ejemplo, si el administrador de la campaña de los VAGOS pone al día el expediente en el Dialing_List con el número de cuenta 1A2B3C4, después el expediente en CRM_Table con el mismo número de cuenta se pone al día simultáneamente.

CREE el updt_customer_by_acctnum del ACTIVADOR
CREATE TRIGGER updt_customer_by_acctnum ON Dialing_List FOR UPDATE AS
/* Proceed only if EXACTLY ONE Record is updated */
IF (SELECT COUNT (*) FROM INSERTED) = 1
BEGIN

     DECLARE @CS CHAR (1)
     DECLARE @ACCTNUM VARCHAR (25)
     SELECT
     @CS = inserted.CallStatus,
     @ACCTNUM = inserted.AccountNumber
     FROM inserted
     UPDATE Northwind..CRM_Table
     SET Status = @CS
     Where Northwind..CRM_Table.AccountNumber = @ACCTNUM

END

Borre una fila de las bases de datos externas

El disparador de ejemplo en esta sección borra un expediente de la tabla CRM_Table (en CRM_DB la base de datos) a través de una coincidencia del número de cuenta del contacto, si ese registro de contacto se ha cerrado en el Dialing_List. Por ejemplo, si el administrador de la campaña de los VAGOS cierra el expediente en el Dialing_List con el número de cuenta 1A2B3C4, después el expediente en CRM_Table con el mismo número de cuenta se borra.

CREE el del_customer_by_acctnum del ACTIVADOR
CREATE TRIGGER del_customer_by_acctnum ON Dialing_List FOR UPDATE AS
/* Proceed only if EXACTLY ONE Record is updated */
IF (SELECT COUNT (*) FROM INSERTED) = 1
BEGIN

     DECLARE @CS CHAR (1)
     DECLARE @ACCTNUM VARCHAR (25)
     SELECT
     @CS = inserted.CallStatus,
     @ACCTNUM = inserted.AccountNumber
     FROM inserted
     IF @CS = 'C'
     BEGIN
          DELETE Northwind..CRM_Table
          WHERE Northwind..CRM_Table.AccountNumber = @ACCTNUM
     END
END

Ejecute un Ejecutable externo de un activador

El disparador de ejemplo en esta sección funciona con el programa C:\MYAPP.EXE. El activador pasa el AccountNumber y el CallStatus de la línea de comando updated record as argumentos al MYAPP.EXE. Esto ocurre siempre que el administrador de la campaña de los VAGOS ponga al día el estatus de exactamente un expediente.

CREE EL ACTIVADOR run_executable
CREATE TRIGGER run_executable ON Dialing_List FOR UPDATE AS
/* Proceed only if EXACTLY ONE Record is updated */
IF (SELECT COUNT (*) FROM INSERTED) = 1
BEGIN
     DELCARE *CMD VARCHAR (100)
     SELECT
     @CMD = 'C:\MYAPP.EXE ' + inserted.AccountNumber + ' ' + inserted.CallStatus
     FROM inserted
     EXEC master ..xp_cmdshell @CMD
END

Nota: En la tabla precedente, bastante que el procedimiento almacenado del xp_cmdshell para comenzar un ejecutable, el activador puede también ejecutar cualquier otro procedimiento almacenado.

Consideraciones de rendimiento

  • Los activadores del SQL Server se ejecutan síncrono. Esto significa si hay un activador de la actualización en una tabla, un comando update en esa tabla no vuelve hasta que se acabe la ejecución del activador. Si los activadores no se diseñan óptimo, después se reducen las actualizaciones de base de datos de los VAGOS. También, el administrador de la campaña de los VAGOS pudo encontrar los descansos de la Conectividad abierta de base de datos (ODBC) mientras que está ejecutando los enunciados SQL para poner al día las tablas. En general, un activador debe hacer el procesamiento posible mínimo y se debe optimizar para la velocidad de ejecución.

  • El resultado de la ejecución del activador pudo afectar el resultado del funcionamiento de SQL original. Por ejemplo, asuma que un activador de la actualización está definido en el Dialing_List. Si el activador de la actualización falla, después la operación de actualización en el Dialing_List pudo también fallar y el expediente en la pregunta se puede dejar en el Dialing_List con un CallStatus incorrecto.

  • Si se jerarquiza un activador, después la operación SQL no completa hasta que se funcionen con todos los disparadores anidados. Por lo tanto, el error de cualquier activador pudo fallar el funcionamiento de SQL original.

  • Si un activador ejecuta una aplicación externa u otro procedimiento almacenado, después la ejecución del activador no es completa hasta la aplicación externa o se acaba el procedimiento almacenado.

  • El uso de los cursores en los activadores no se recomienda, debido a potencialmente el impacto negativo en el funcionamiento.

  • Los activadores no deben realizar el CPU o las tareas del memory intensivo.

  • Todos los activadores se deben probar y subrayar bien antes del despliegue.

Prácticas recomendadas

  • Verifique siempre que solamente un expediente sea actualizado antes de que usted proceda. Esto evita que el activador actúe en las actualizaciones a granel hechas por el administrador de la campaña. Éstos son ejemplos de las actualizaciones a granel que son filtradas generalmente hacia fuera por el activador:

    • Un cambio en el CallStatus de un expediente de A (ACTIVA) a U (DESCONOCIDO), cuando un marcador con el ACTIVE registra las desconexiones del administrador de la campaña.

    • Del administrador de la campaña los expedientes de las actualizaciones periódicamente en el CallStatus U a P (PENDIENTE).

    Nota: Cuando un registro de contacto es actualizado como resultado de una llamada, los expedientes se ponen al día siempre uno a la vez. Por lo tanto, la verificación para ver si uno de registro era exactamente salvaguardias actualizadas contra las acciones indeseadas del activador la mayor parte del tiempo. Una excepción a este caso ocurre cuando una operación del bulto pone al día solamente una fila.

  • Comprobación para el valor del CallStatus antes de que usted proceda. Por ejemplo, cuando el administrador de la campaña envía un expediente al marcador de los VAGOS, el administrador de la campaña fija el CallStatus a A (ACTIVA). Un activador puede marcar para saber si hay CallStatus. Si el CallStatus actualizado es A, no procede a fomentar.

  • Para optimizar el funcionamiento durante las actualizaciones de base de datos de los VAGOS, el tiempo y las operaciones del uso intensivo de recurso no se deben realizar en el activador. Usted puede crear una tabla para cada aplicación en otra base de datos para servir como cola. Esto acelera la ejecución del activador. Usted puede utilizar el activador para insertar, para poner al día, o para borrar los datos en esa tabla para cada aplicación. Entonces, otra aplicación puede sondear que tabla para los cambios y realiza otras tareas según las necesidades.

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Información Relacionada


Document ID: 19091