CREATE PROCEDURE [dbo].[Prueba]
@ID_CAMPANA NVARCHAR (10)
AS
DECLARE @Habilitar_CDN nvarchar(10),
@Suscriptor NUMERIC (9),
@Fecha_Facturacion nvarchar (10),
@Fecha_Historico nvarchar (10),
@LAST DECIMAL (9,2) ,
@Metodo_de_pago nvarchar (50) ,
@Riesgo nvarchar (10) ,
@Numero_telefonico CHAR (10),
@Futuro_uso CHAR (10) ,
@Mensaje CHAR (50)
IF EXISTS( SELECT * FROM [Table_Campana] WHERE ([Table_Campana].ID_CAMPANA = @ID_CAMPANA) AND ( [Table_Campana].Habilitar_Campana = 'SI' ))
BEGIN
-- SQL statements to update tables and process order.
----- Iniciamos Operacion con Cursor
------- declaramos las variables
DECLARE CURSOR_CONTACTO cursor FAST_FORWARD FOR
SELECT Table_Contactos.Suscriptor, Table_Contactos.Fecha_Facturacion, Table_Contactos.Fecha_Historico, Table_Contactos.[LAST],
Table_Contactos.Metodo_de_Pago, Table_Contactos.Riesgo, Table_Contactos.Numero_telefonico, Table_Campana.Habilitar_CDN,
Table_Contactos.Futuro_uso, Table_Campana.Mensaje,Table_Contactos.ID_Campana
FROM Table_Campana INNER JOIN
Table_Contactos ON Table_Campana.ID_Campana = Table_Contactos.ID_Campana AND Table_Contactos.ID_Campana= @ID_CAMPANA INNER JOIN
Table_Eventos_Llamada ON Table_Contactos.Contador_Ocupado <
(SELECT [Maximo_numero_ Eventos]
FROM [Table_Eventos_llamada]
WHERE [Table_Eventos_llamada].ID_Evento = 1) AND Table_Contactos.Contador_Contestadora <
(SELECT [Maximo_numero_ Eventos]
FROM [Table_Eventos_llamada]
WHERE [Table_Eventos_llamada].ID_Evento = 4) AND Table_Contactos.Contador_No_responde <
(SELECT [Maximo_numero_ Eventos]
FROM [Table_Eventos_llamada]
WHERE [Table_Eventos_llamada].ID_Evento = 2) AND Table_Contactos.Contador_Respondio <
(SELECT [Maximo_numero_ Eventos]
FROM [Table_Eventos_llamada]
WHERE [Table_Eventos_llamada].ID_Evento = 3)
GROUP BY Table_Contactos.Suscriptor, Table_Contactos.Fecha_Facturacion, Table_Contactos.Fecha_Historico, Table_Contactos.[LAST],
Table_Contactos.Metodo_de_Pago, Table_Contactos.Riesgo, Table_Contactos.Numero_telefonico, Table_Campana.Habilitar_CDN,
Table_Contactos.Futuro_uso,Table_Campana.Mensaje ,Table_Contactos.ID_Campana, Table_Contactos.Estatus_Llamada
HAVING (Table_Contactos.Estatus_Llamada =N'pendiente')
OPEN CURSOR_CONTACTO
-- Avanzamos un registro y cargamos en las variables los valores encontrados en el primer registro
FETCH NEXT FROM CURSOR_CONTACTO
INTO @Suscriptor,@Fecha_Facturacion,@Fecha_Historico,@LAST,@Metodo_de_pago,@Riesgo,@Numero_telefonico,@Habilitar_CDN,@Futuro_uso,@Mensaje, @ID_CAMPANA ----@Estatus_Llamada
IF @@FETCH_STATUS = 0 AND (@Suscriptor <> 0 OR @Suscriptor <> NULL)
BEGIN
BEGIN TRANSACTION
--Coloca el valor 'procesando' en el campo [Table_Contactos].estatus_llamada para indicar que el registro esta siendo usado para realizar una llamada
UPDATE [Table_Contactos]
SET [Table_Contactos].estatus_llamada = 'procesando'
WHERE [Table_Contactos].estatus_llamada = 'pendiente' AND Table_Contactos.Suscriptor = @Suscriptor COMMIT TRANSACTION
END
PRINT 1
WHILE @@FETCH_STATUS = 0 AND @Suscriptor = 0
-----Actualizamos el registro obtenido en le campo Estatus_LLamada
-- cerramos el cursor
close CURSOR_CONTACTO---CURSORITO
deallocate CURSOR_CONTACTO----CURSORITO
-- PRINT @Suscriptor
-- PRINT @Fecha_Facturacion
-- PRINT @Fecha_Historico
-- PRINT @Last,@Metodo_de_pago
PRINT @Riesgo
-- PRINT @Suscriptor
-- PRINT @Fecha_Facturacion
-- PRINT @Fecha_Historico
-- PRINT @Last
-- PRINT @Metodo_de_pago
-- PRINT @Riesgo
-- PRINT @Numero_telefonico
-- PRINT @Habilitar_CDN
-- PRINT @Futuro_uso
-- PRINT @Numero_telefonico
-- PRINT @Habilitar_CDN
-- PRINT @Futuro_uso
-- PRINT @ID_CAMPANA
---Se cambio este Select
------ SELECT @Suscriptor,@Fecha_Facturacion,@Fecha_Historico,@Last,@Metodo_de_pago,@Riesgo,@Numero_telefonico,@Habilitar_CDN,@Futuro_uso,@ID_CAMPANA
-----Este Select es de Telmo
-- SELECT @Suscriptor AS Suscriptor,@Fecha_Facturacion AS FechaFacturacion,@Fecha_Historico AS FechaHistorico,@Last AS MontoFacturado,@Metodo_de_pago AS MetodoDePago,@Riesgo AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso,--@ID_CAMPANA AS HabilitarCampania,/ @Mensaje AS Mensaje ,@ID_CAMPANA AS CampaniaId
---SELECT @Suscriptor AS Suscriptor,@Fecha_Facturacion AS FechaFacturacion,@Fecha_Historico AS FechaHistorico,@Last AS MontoFacturado,@Metodo_de_pago AS MetodoDePago,@Riesgo AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso, @Mensaje AS Mensaje ,@ID_CAMPANA AS CampaniaId
SELECT ISNULL(@Suscriptor,0) AS Suscriptor, ISNULL(@Fecha_Facturacion,0) AS FechaFacturacion, ISNULL(@Fecha_Historico,0) AS FechaHistorico, ISNULL(@LAST,0) AS MontoFacturado, ISNULL(@Metodo_de_pago,0) AS MetodoDePago, ISNULL(@Riesgo,0) AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso, @Mensaje AS Mensaje ,1 AS CampaniaId
RETURN
SELECT @Suscriptor = 0
END
ELSE
BEGIN
PRINT @ID_CAMPANA + 'no'
---Se cambio este Select
-----SELECT @Suscriptor,@Fecha_Facturacion,@Fecha_Historico,@Last,@Metodo_de_pago,@Riesgo,@Numero_telefonico,@Habilitar_CDN,@Futuro_uso,@ID_CAMPANA
-----Este Select es de Telmo
---SELECT @Suscriptor AS Suscriptor,@Fecha_Facturacion AS FechaFacturacion,@Fecha_Historico AS FechaHistorico,@Last AS MontoFacturado,@Metodo_de_pago AS MetodoDePago,@Riesgo AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso,@ID_CAMPANA AS HabilitarCampania,---@Mensaje AS Mensaje ,@ID_CAMPANA AS CampaniaId
---SELECT @Suscriptor AS Suscriptor,@Fecha_Facturacion AS FechaFacturacion,@Fecha_Historico AS FechaHistorico,@Last AS MontoFacturado,@Metodo_de_pago AS MetodoDePago,@Riesgo AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso, @Mensaje AS Mensaje ,@ID_CAMPANA AS CampaniaId
SELECT ISNULL(@Suscriptor,0) AS Suscriptor, ISNULL(@Fecha_Facturacion,0) AS FechaFacturacion, ISNULL(@Fecha_Historico,0) AS FechaHistorico, ISNULL(@LAST,0) AS MontoFacturado, ISNULL(@Metodo_de_pago,0) AS MetodoDePago, ISNULL(@Riesgo,0) AS Riesgo,@Numero_telefonico AS NumeroTelefonico,@Habilitar_CDN AS HabilitarCDN,@Futuro_uso AS FuturoUso, @Mensaje AS Mensaje ,@ID_CAMPANA AS CampaniaId
END
---,@Fecha_Historico,@Last,@Metodo_de_pago,@Riesgo,@Numero_telefonico,@Habilitar_CDN,@Futuro_uso,@ID_CAMPANA
GO