You are on page 1of 32

USE [BD_STAGEBCP]

GO
/****** Object: StoredProcedure [Mic].[Rep_Cartera_Microcredito] Script Date
: 26/01/2016 09:47:43 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [Mic].[Rep_Cartera_Microcredito]
AS
BEGIN
--Reporte de Cartera de Microcredito
IF OBJECT_ID('tempdb..##TMP_RANKING') is not NULL DROP TABLE ##TMP_RANKING
IF OBJECT_ID('tempdb..##TMP_DESEMBOLSOS') is not NULL DROP TABLE ##TMP_DESEMBOLS
OS
---======================== Reporte de Cartera de Microcredito =================
=======
DECLARE @v_FecProc VARCHAR(8),
@v_FecIni VARCHAR(8),
@v_FecDiaAnt VARCHAR(8),
@v_fecUltMes VARCHAR(8)
SET @v_FecProc = (SELECT MAX(key_fec)
FROM BD_DWBCP.Dwh.Dim_ControlFechaFact W
ITH(NOLOCK)
WHERE n_fact = 'Dwh.FACT_Operaciones')
-- FECHA DE LA DATA
SET @v_FecIni = LEFT(@v_FecProc,6)+'01' -- PRIMER DIA DEL MES
DECLARE @v_DiaSem VARCHAR(10)
SET @v_DiaSem = (select DATENAME(dw,@v_FecProc))
IF (@v_DiaSem = 'Monday')
BEGIN
SET @v_FecDiaAnt = CONVERT(VARCHAR(8),CONVERT(SMALLDATETIME,@v_F
ecProc)-2,112)
END
ELSE
BEGIN
SET @v_FecDiaAnt = CONVERT(VARCHAR(8),CONVERT(SMALLDATETIME,@v_F
ecProc)-1,112)
END
--PRINT '@v_FecDiaAnt 1 = ' + @v_FecDiaAnt
WHILE ((SELECT COUNT(*)
FROM BD_DWBCP.Dwh.Dim_ControlFechaFact
WHERE n_fact = 'Dwh.FACT_Operaciones'
AND key_fec = @v_FecDiaAnt) < 1)
BEGIN
SET @v_FecDiaAnt = CONVERT(VARCHAR(8),CONVERT(SMALLDATETIME,@v_FecDiaAnt
) - 1,112)
--PRINT '@v_FecDiaAnt 2 = ' + @v_FecDiaAnt
END
--SELECT @v_fecUltMes = BD_BDIDWH.BdiDwh.FN_ULTDIAMESA (LEFT(@v_FecProc,6)+'01'
)
SET @v_fecUltMes = (SELECT MAX(key_fec)
FROM BD_DWBCP.Dwh.Dim_ControlFechaFact W
ITH(NOLOCK)
WHERE n_fact = 'Dwh.FACT_Operaciones_Men
sual') -- FECHA DEL CIERRE DE MES ANTERIOR
--========== Setear en caso de querer el reporte a una fecha
--========== especifica anterior a la ultima fecha.
--SET @v_FecProc = '20151031' -- FECHA DE LA DATA
--SET @v_FecIni = '20151001' -- PRIMER DIA DEL MES
--SET @v_FecDiaAnt = '20151030' -- FECHA DE LA DATA -1
--SET @v_fecUltMes = '20150930' -- FECHA DEL CIERRE DE MES ANTER
IOR
--PRINT '@v_FecProc = ' + @v_FecProc
--PRINT '@v_FecIni = ' + @v_FecIni
--PRINT '@v_FecDiaAnt = ' + @v_FecDiaAnt
--PRINT '@v_fecUltMes = ' + @v_fecUltMes
--============== CARTERA CLIENTES MES ANTERIOR ======================
IF OBJECT_ID('tempdb..#TMP_CART_CLI_MES_ANT') is not NULL DROP TABLE #TMP_CART_C
LI_MES_ANT
SELECT DCLI.c_cic,
COUNT(DISTINCT DOPE.c_ope) AS cant,
MAX(DOPE.f_fec_ini) AS f_fec_ini,
SUM(FOPE.i_sld_cie_bol) AS i_sld_cie_bol
INTO #TMP_CART_CLI_MES_ANT
FROM BD_DWBCP.Dwh.FACT_Operaciones FOPE WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON FOPE.key_id_ope = DOPE.key_id_ope
INNER JOIN BD_DWBCP.Dwh.Dim_cliente DCLI WITH(NOLOCK)
ON FOPE.key_id_cli = DCLI.key_id_cli
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FOPE.key_id_pro = DPRO.key_id_pro
INNER JOIN BD_DWBCP.Dwh.Dim_situacion DSIT WITH(NOLOCK)
ON FOPE.key_id_sit = DSIT.key_id_sit
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPER WITH(NOLOCK)
ON FOPE.key_id_per_bcp = DPER.key_id_per_bcp
WHERE key_fec = @v_fecUltMes -- NO TOCAR
AND DOPE.f_fec_ini >= '20120301' -- NO TOCAR
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS') -- NO TO
CAR
AND DSIT.c_sit NOT IN ('03','35')
GROUP BY DCLI.c_cic
--============== CARTERA CLIENTES ======================
IF OBJECT_ID('tempdb..#TMP_CART_CLI') is not NULL DROP TABLE #TMP_CART_CLI
SELECT DCLI.c_cic,
COUNT(DISTINCT DOPE.c_ope) AS cant,
MAX(DOPE.f_fec_ini) AS f_fec_ini,
SUM(FOPE.i_sld_cie_bol) AS i_sld_cie_bol,
CONVERT(CHAR(1),'') AS fl_tip_cli,
CONVERT(CHAR(1),'') AS fl_act_mes_ant
INTO #TMP_CART_CLI
FROM BD_DWBCP.Dwh.FACT_Operaciones FOPE WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON FOPE.key_id_ope = DOPE.key_id_ope
INNER JOIN BD_DWBCP.Dwh.Dim_cliente DCLI WITH(NOLOCK)
ON FOPE.key_id_cli = DCLI.key_id_cli
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FOPE.key_id_pro = DPRO.key_id_pro
INNER JOIN BD_DWBCP.Dwh.Dim_situacion DSIT WITH(NOLOCK)
ON FOPE.key_id_sit = DSIT.key_id_sit
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPER WITH(NOLOCK)
ON FOPE.key_id_per_bcp = DPER.key_id_per_bcp
WHERE key_fec = @v_FecProc -- NO TOCAR
AND DOPE.f_fec_ini >= '20120301' -- NO TOCAR
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS') -- NO TO
CAR
GROUP BY DCLI.c_cic
UPDATE #TMP_CART_CLI
SET fl_act_mes_ant = 'S'
FROM #TMP_CART_CLI A
INNER JOIN #TMP_CART_CLI_MES_ANT B
ON A.c_cic = B.c_cic
AND B.i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
UPDATE #TMP_CART_CLI
SET fl_act_mes_ant = 'N'
WHERE fl_act_mes_ant <> 'S'
--select * from #TMP_CART_CLI
--============================= DESCRIPCIONES DE fl_tip_cli ====================
=========
-- I: Cliente Inactivo
-- A: Cliente Activo (sin Desembolso en el mes actual)
-- N: Cliente Nuevo (con Desembolso en el mes actual)
-- X: Cliente Recurrente con Saldo > 0 mes anterior (con Desembolso en el mes ac
tual)
-- R: Cliente Recurrente sin Saldo mes anterior (con Desembolso en el mes actual
)
-- Y: Cliente Recurrente con Saldo > 0 mes anterior (sin Desembolso en el mes ac
tual)
-- Z: Cliente Recurrente sin Saldo mes anterior (sin Desembolso en el mes actual
)
-- Nota: el Ranking en la parte de Desembolsos solo se consideraran los flags N,
X y R,
-- ademas del total de operaciones desembolsadas en el mes.
--==============================================================================
=========
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'I'
WHERE cant >= 1
AND i_sld_cie_bol = CONVERT(DECIMAL(19,5),0)
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'A'
WHERE cant = 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) < LEFT(@v_FecProc,6)
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'N'
WHERE cant = 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) = LEFT(@v_FecProc,6)
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'X'
WHERE cant > 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) = LEFT(@v_FecProc,6)
AND fl_act_mes_ant = 'S'
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'R'
WHERE cant > 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) = LEFT(@v_FecProc,6)
AND fl_act_mes_ant = 'N'
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'Y'
WHERE cant > 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) < LEFT(@v_FecProc,6)
AND fl_act_mes_ant = 'S'
AND fl_tip_cli = ' '
UPDATE #TMP_CART_CLI
SET fl_tip_cli = 'Z'
WHERE cant > 1
AND i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
AND LEFT(f_fec_ini,6) < LEFT(@v_FecProc,6)
AND fl_act_mes_ant = 'N'
AND fl_tip_cli = ' '
--INSERT INTO #TMP_CART_CLI

----============== CARTERA ACTIVA ======================


IF OBJECT_ID('tempdb..#TMP_CART_OPE') is not NULL DROP TABLE #TMP_CART_OPE
SELECT FOPE.key_fec,
DOPE.c_ope,
DPRO.c_pro_com,
DOPE.f_fec_ini,
DCLI.c_cic,
DCLI.c_idc,
DCLI.c_tip_idc,
DCLI.c_ext_idc,
DCLI.d_ape_pat+' '+DCLI.d_ape_mat+' '+DCLI.d_nom AS d_nom_cli,
DPER.c_mat,
DPER.d_nom_per,
DAGE.c_age,
DAGE.d_des_age,
DSIT.c_sit,
DOPE.d_fec05,
CONVERT(CHAR(1),'') AS fl_new_rec,
FOPE.key_fec_ape,
FOPE.key_fec_prx_vto_cuo,
FOPE.key_fec_ult_pag,
FOPE.key_fec_ven,
FOPE.q_num_dia_ven,
FOPE.q_nro_cuo_tot,
FOPE.q_nro_cuo_pag,
FOPE.q_nro_cuo_ven,
FOPE.q_num_cuo_vig,
FOPE.i_int_ord_ven+FOPE.i_mon_int_dev AS i_int_tot,
FOPE.i_cuo_fij,
FOPE.i_sld_cie_bol,
FOPE.i_mon_ini_bol,
CONVERT(DECIMAL(19,5),0) AS i_sld_cie_bol_dia_ant,
CONVERT(DECIMAL(19,5),0) AS i_mon_ini_bol_dia_ant,
CONVERT(DECIMAL(19,5),0) AS i_sld_cie_bol_mes_ant,
CONVERT(DECIMAL(19,5),0) AS i_mon_ini_bol_mes_ant,
DTAS.i_tas_int_nom,
CONVERT(CHAR(1),'') AS fl_tip_cli
INTO #TMP_CART_OPE
FROM BD_DWBCP.Dwh.FACT_Operaciones FOPE WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON FOPE.key_id_ope = DOPE.key_id_ope
INNER JOIN BD_DWBCP.Dwh.Dim_cliente DCLI WITH(NOLOCK)
ON DOPE.key_id_cli = DCLI.key_id_cli
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FOPE.key_id_pro = DPRO.key_id_pro
INNER JOIN BD_DWBCP.Dwh.Dim_situacion DSIT WITH(NOLOCK)
ON FOPE.key_id_sit = DSIT.key_id_sit
INNER JOIN BD_DWBCP.Dwh.Dim_agencia DAGE WITH(NOLOCK)
ON DOPE.key_id_age = DAGE.key_id_age
INNER JOIN BD_DWBCP.Dwh.Dim_tasa DTAS WITH(NOLOCK)
ON FOPE.key_id_tas = DTAS.key_id_tas
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPER WITH(NOLOCK)
ON FOPE.key_id_per_bcp = DPER.key_id_per_bcp
WHERE FOPE.key_fec = @v_FecProc
AND DOPE.f_fec_ini >= '20120301'
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS')
AND DSIT.c_sit NOT IN ('03','35')
UPDATE #TMP_CART_OPE
SET fl_tip_cli = CLI.fl_tip_cli
FROM #TMP_CART_OPE OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
--select distinct c_age, d_des_age from #TMP_CART_OPE
----============== SOLICITUDES-FFNN ====================
IF OBJECT_ID('tempdb..#TMP_SOL_FFNN') is not NULL DROP TABLE #TMP_SOL_FFNN
SELECT DISTINCT FSOL.key_fec, FSOL.c_cod_sol, FSOL.c_num_sol,
LTRIM(RTRIM(DPERBCP.c_mat)) AS c_mat,
LTRIM(RTRIM(DPERBCP.d_nom_per)) AS d_nom_per
INTO #TMP_SOL_FFNN
FROM BD_DWBCP.Dwh.FACT_Solicitudes FSOL WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON RIGHT('000000'+CONVERT(VARCHAR,FSOL.c_cod_sol),8) = DOPE.d_fec05
--AND DOPE.d_fec05 NOT IN ('NID','LINSBR','C','CCNOTP','Y','I')
AND @v_FecProc >= CONVERT(VARCHAR(8),DOPE.EffectiveDate,112)
AND @v_FecProc <= CONVERT(VARCHAR(8),DOPE.ExpirationDate,112)
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPERBCP WITH(NOLOCK)
ON FSOL.key_id_per_bcp_ven = DPERBCP.key_id_per_bcp
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FSOL.key_id_pro = DPRO.key_id_pro
WHERE key_fec = @v_FecProc
AND DOPE.f_fec_ini >= '20120301'
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS')
ORDER BY c_mat

--==========ARMADO UPDATE PARA PARCHES DESDE DICCIONARIO


--SELECT DISTINCT c_cod_tip_dat FROM BD_DWBCP.Dwh.Dim_DicDWH
--SELECT * FROM BD_DWBCP.Dwh.Dim_DicDWH WHERE c_cod_tip_dat = 'PEDD'
--select * FROM BD_DWBCP.Dwh.FACT_Solicitudes where key_fec = 20140521
--SELECT TOP 1000 *, CONVERT(VARCHAR(8),f_fec_car,112)
--FROM BD_DWBCP.Dwh.Dim_ControlProcDim
--WHERE CONVERT(VARCHAR(8),f_fec_car,112) = '20140306'
--SELECT TOP 1000 *, CONVERT(VARCHAR(8),f_fec_car,112)
--FROM BD_DWBCP.Dwh.Dim_ControlFechaDim
--ORDER BY 7 DESC
--WHERE CONVERT(VARCHAR(8),f_fec_car,112) = '20140306'
--SELECT * FROM BD_STAGEBCP.Dwh.CONTROL_CARGA_PAQUETE
--WHERE CONVERT(VARCHAR(8),DWH_FECHA_CARGA,112) = '20140306'
--ORDER BY 4 DESC
--SELECT * FROM BD_STAGEBCP.Dwh.CONTROL_CARGA
--WHERE CONVERT(VARCHAR(8),DWH_FECHA_CARGA,112) = '20140305'
--AND DWH_PAQUETE like 'Pack_Pro%'
--ORDER BY 3 DESC
--SELECT * FROM BD_STAGEBCP.Dwh.CONTROL_CARGA
--WHERE CONVERT(VARCHAR(8),DWH_FECHA_CARGA,112) = '20140306'
--AND DWH_PAQUETE like 'Pack_Pro%'
--ORDER BY 3 DESC
--SELECT DISTINCT DWH_PAQUETE FROM BD_STAGEBCP.Dwh.CONTROL_CARGA
--WHERE DWH_PAQUETE LIKE 'Pack_Pro%'
--SELECT * FROM BD_STAGEBCP.Dwh.CONTROL_CARGA_CONTENEDOR
--====================================================================
----============== CARTERA DIA ANTERIOR ================
IF OBJECT_ID('tempdb..#TMP_DIA_ANT') is not NULL DROP TABLE #TMP_DIA_ANT
SELECT DISTINCT DOPE.c_ope,
DOPE.f_fec_ini,
DCLI.c_cic,
DPER.c_mat,
DPER.d_nom_per,
DAGE.c_age,
DAGE.d_des_age,
DSIT.c_sit,
DOPE.d_fec05,
CONVERT(CHAR(1),'') AS fl_new_rec,
FOPE.key_fec_ape,
FOPE.key_fec_prx_vto_cuo,
FOPE.key_fec_ult_pag,
FOPE.key_fec_ven,
FOPE.q_num_dia_ven,
FOPE.q_nro_cuo_tot,
FOPE.q_nro_cuo_pag,
FOPE.q_nro_cuo_ven,
FOPE.q_num_cuo_vig,
FOPE.i_sld_cie_bol,
FOPE.i_mon_ini_bol
INTO #TMP_DIA_ANT
FROM BD_DWBCP.Dwh.FACT_Operaciones FOPE WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON FOPE.key_id_ope = DOPE.key_id_ope
INNER JOIN BD_DWBCP.Dwh.Dim_cliente DCLI WITH(NOLOCK)
ON DOPE.key_id_cli = DCLI.key_id_cli
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FOPE.key_id_pro = DPRO.key_id_pro
INNER JOIN BD_DWBCP.Dwh.Dim_situacion DSIT WITH(NOLOCK)
ON FOPE.key_id_sit = DSIT.key_id_sit
INNER JOIN BD_DWBCP.Dwh.Dim_agencia DAGE WITH(NOLOCK)
ON DOPE.key_id_age = DAGE.key_id_age
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPER WITH(NOLOCK)
ON FOPE.key_id_per_bcp = DPER.key_id_per_bcp
WHERE FOPE.key_fec = @v_FecDiaAnt
AND DOPE.f_fec_ini >= '20120301'
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS')
AND DSIT.c_sit NOT IN ('03','35')
--INSERT INTO #TMP_DIA_ANT
----============== CARTERA MES ANTERIOR ===============
IF OBJECT_ID('tempdb..#TMP_MES_ANT') is not NULL DROP TABLE #TMP_MES_ANT
SELECT DISTINCT DOPE.c_ope,
DOPE.f_fec_ini,
DCLI.c_cic,
DPER.c_mat,
DPER.d_nom_per,
DAGE.c_age,
LTRIM(RTRIM(DAGE.d_des_age)) AS d_des_age,
DSIT.c_sit,
DOPE.d_fec05,
CONVERT(CHAR(1),'') AS fl_new_rec,
FOPE.key_fec_ape,
FOPE.key_fec_prx_vto_cuo,
FOPE.key_fec_ult_pag,
FOPE.key_fec_ven,
FOPE.q_num_dia_ven,
FOPE.q_nro_cuo_tot,
FOPE.q_nro_cuo_pag,
FOPE.q_nro_cuo_ven,
FOPE.q_num_cuo_vig,
FOPE.i_sld_cie_bol,
FOPE.i_mon_ini_bol
INTO #TMP_MES_ANT
FROM BD_DWBCP.Dwh.FACT_Operaciones FOPE WITH(NOLOCK)
INNER JOIN BD_DWBCP.Dwh.Dim_operacion DOPE WITH(NOLOCK)
ON FOPE.key_id_ope = DOPE.key_id_ope
INNER JOIN BD_DWBCP.Dwh.Dim_cliente DCLI WITH(NOLOCK)
ON DOPE.key_id_cli = DCLI.key_id_cli
INNER JOIN BD_DWBCP.Dwh.Dim_producto DPRO WITH(NOLOCK)
ON FOPE.key_id_pro = DPRO.key_id_pro
INNER JOIN BD_DWBCP.Dwh.Dim_situacion DSIT WITH(NOLOCK)
ON FOPE.key_id_sit = DSIT.key_id_sit
INNER JOIN BD_DWBCP.Dwh.Dim_agencia DAGE WITH(NOLOCK)
ON DOPE.key_id_age = DAGE.key_id_age
INNER JOIN BD_DWBCP.Dwh.Dim_personal_bcp DPER WITH(NOLOCK)
ON FOPE.key_id_per_bcp = DPER.key_id_per_bcp
WHERE FOPE.key_fec = @v_fecUltMes
AND DOPE.f_fec_ini >= '20120301'
AND DPRO.c_pro_com IN ('CPEPRO','CPEHIS','CPEEMI','CPEHMS')
AND DSIT.c_sit NOT IN ('03','35')
--select * from BD_DWBCP.Dwh.Dim_agencia DAGE
--select * from BD_DWBCP.Dwh.Dim_operacion
--INSERT INTO #TMP_MES_ANT
--SELECT * FROM #TMP_MES_ANT where c_age = '201201'
--================ VALIDACION DE CARGAS ==================
------------======================valida lo de la carga a pulsso================
================
--SELECT * FROM #TMP_CART_OPE --order by c_mat
----where d_fec05 IN ('00223569')
----WHERE c_ope IN ('10303201000000000008151104')
------------------------------where c_ope like '%8192954'
--where c_age IN ('201212','201201')
------------------------WHERE c_cic like '%00776468%'
------------------------where d_nom_cli like '%DIONICIA%'
----------WHERE d_nom_per LIKE 'QUISPE%'
----where c_idc = '02715367'
--where rtrim(c_mat) in ('S31210')--,'S31210')--,'S48662')
--999999999999 S53340 ARAMAYO SOLIZ JIMENA MILENKA 213 10303201000000000008
219890 CENTRO PROMOCIONAL LA CEJA
--==============================================================================
======
--IF((SELECT COUNT(c_ope) FROM #TMP_CART_OPE WHERE d_fec05 = 'NID') +
-- (SELECT COUNT(c_ope) FROM #TMP_DIA_ANT WHERE d_fec05 = 'NID') +
-- (SELECT COUNT(c_ope) FROM #TMP_MES_ANT WHERE d_fec05 = 'NID') )>0--SI EXIS
TE ERRORES
--BEGIN
--creacion tabla temporal
--SELECT c_cic, c_mat, d_nom_per, c_age, d_des_age,d_fec05 FROM #TMP_CART_OPE-
-para q ese esto
--00376313
--esto como esta en el sin cero
--DROP TABLE #TMPFFNN1
--LLENAR TEMPORAL FUNCIONARIOS
IF OBJECT_ID('tempdb..#TMPFFNN1') is not NULL DROP TABLE #TMPFFNN1
CREATE TABLE #TMPFFNN1 (MAT VARCHAR(6),OFI VARCHAR(500), NOMBRE_COMPLETO_
FFNN VARCHAR(500), AGE VARCHAR(3), NOMBRE_AGENCIA VARCHAR(255), CODIGO V
ARCHAR(100))
BULK
INSERT #TMPFFNN1--dbo.Hoja1
FROM 'C:\FFNN1.csv'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
--ELIMINAR CABECERA
DELETE FROM #TMPFFNN1 WHERE MAT='MAT'

--LLENAR TEMPORAL NSAP SOLICITUDPERSONA


IF OBJECT_ID('tempdb..#TMPSOLICITUDPERSONA') is not NULL DROP TABLE #TMPSOLICIT
UDPERSONA
select * INTO #TMPSOLICITUDPERSONA from openquery([DHW_MIC], 'SELECT *FROM [db
o].[SOLICITUDPERSONA]')
--LLENAR TEMPORAL NSAP SOLICITUD
IF OBJECT_ID('tempdb..#TMPSOLICITUD') is not NULL DROP TABLE #TMPSOLICITUD
select * INTO #TMPSOLICITUD from openquery([DHW_MIC], 'SELECT *FROM [dbo].[SOL
ICITUD]')
--SOLO PARA PRUEBAS SELECT
--SELECT * FROM #TMP_CART_OPE WHERE d_fec05 = 'NID'
----SELECT *,' '+SUBSTRING(dcCIC,5,8) FROM #TMPSOLICITUDPERSONA WHERE dcCIC
LIKE'%00942632'
----SELECT * FROM #TMP_CART_OPE where c_cic LIKE '%92649%'
--SELECT C.c_ope,C.d_fec05,right('00000000'+convert(varchar,S.pnCodSolicitud),
8),S.pnCodSolicitud FROM #TMP_CART_OPE C
--INNER JOIN #TMPSOLICITUDPERSONA S ON C.c_cic=' '+SUBSTRING(S.dcCIC,5,8)--
100000092649 ' 00092649'
--WHERE d_fec05 = 'NID'
--CREAR TEMPORAL PARA ERRADOS
IF OBJECT_ID('tempdb..##TMP_ERRADOS') is not NULL DROP TABLE ##TMP_ERRADOS
CREATE TABLE ##TMP_ERRADOS (OPERACION VARCHAR(26),CODSOLICITUD VARCHAR (8),FFN
N VARCHAR(12),NOMBREFFNN VARCHAR(150),AGENCIACODIGO int, NOMBREAGENCIA VARCHAR(5
0),TABLA VARCHAR(50))
--DATOS ERRADOS NID INSERTAR A TABLA #TMPERRADOS
/***********************DATOS ERRADOS CODSOLICITUD EN LAS TABLAS *************
**********/
--IF OBJECT_ID('tempdb..#TMPERRADOS_CART_OPE') is not NULL DROP TABLE #TMPERRA
DOS_CART_OPE
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'CART_OPE' tabla FROM #T
MP_CART_OPE DA --ON CO.c_ope = DA.c_ope
WHERE d_fec05 = 'NID'
--IF OBJECT_ID('tempdb..#TMPERRADOS_DIA_ANT') is not NULL DROP TABLE #TMPERRAD
OS_DIA_ANT
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'DIA_ANT' tabla FROM #TM
P_DIA_ANT DA --ON CO.c_ope = DA.c_ope
WHERE d_fec05 = 'NID'
--IF OBJECT_ID('tempdb..#TMPERRADOS_MES_ANT') is not NULL DROP TABLE #TMPERRAD
OS_MES_ANT
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'MES_ANT' tabla FROM #T
MP_MES_ANT DA --ON CO.c_ope = DA.c_ope
WHERE d_fec05 = 'NID'
/*****************************************************************************
*****************/
/***********************DATOS ERRADOS AGENCIAS EN LAS TABLAS *****************
******/
--IF OBJECT_ID('tempdb..#TMPERRADOS_CART_OPE_AGE') is not NULL DROP TABLE #TMP
ERRADOS_CART_OPE_AGE
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'CART_OPE' tabla FROM #
TMP_CART_OPE CO
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO IS NOT
NULL)
--IF OBJECT_ID('tempdb..#TMPERRADOS_DIA_ANT_AGE') is not NULL DROP TABLE #TMPE
RRADOS_DIA_ANT_AGE
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'DIA_ANT' tabla FROM #TMP
_DIA_ANT CO --INNER JOIN #TMP_DIA_ANT DA ON CO.c_ope = DA.c_ope
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO IS NOT
NULL)
--IF OBJECT_ID('tempdb..#TMPERRADOS_MES_ANT_AGE') is not NULL DROP TABLE #TMPE
RRADOS_MES_ANT_AGE
INSERT INTO ##TMP_ERRADOS
SELECT c_ope,d_fec05,c_mat,d_nom_per,c_age,d_des_age,'MES_ANT' tabla FROM #TM
P_MES_ANT CO --INNER JOIN #TMP_DIA_ANT DA ON CO.c_ope = DA.c_ope
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO IS NOT
NULL)
/*****************************************************************************
*****************/
UPDATE C
SET C.d_fec05=right('00000000'+convert(varchar,S.pnCodSolicitud),8)
FROM #TMP_CART_OPE C
INNER JOIN #TMPSOLICITUDPERSONA S ON C.c_cic=' '+SUBSTRING(S.dcCIC,5,8)--10
0000092649 ' 00092649'
WHERE d_fec05 = 'NID'
UPDATE C
SET C.d_fec05=right('00000000'+convert(varchar,S.pnCodSolicitud),8)
FROM #TMP_DIA_ANT C
INNER JOIN #TMPSOLICITUDPERSONA S ON C.c_cic=' '+SUBSTRING(S.dcCIC,5,8)--10
0000092649 ' 00092649'
WHERE d_fec05 = 'NID'
UPDATE C
SET C.d_fec05=right('00000000'+convert(varchar,S.pnCodSolicitud),8)
FROM #TMP_MES_ANT C
INNER JOIN #TMPSOLICITUDPERSONA S ON C.c_cic=' '+SUBSTRING(S.dcCIC,5,8)--10
0000092649 ' 00092649'
WHERE d_fec05 = 'NID'
--SOLO PARA PRUEBAS
-- INSERT INTO #TMPFFNN1 VALUES('S48662','GOMEZ SARAVIA PEDRO','GOMEZ SARAVIA P
EDRO','238','CENTRO PROMOCIONAL VILLA FATIMA','201238')
--ENCONTRAR AGENCIA INCORRECTA
--select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO IS NOT NULL
--SELECT * FROM #TMP_CART_OPE WHERE c_age = '201201'
--SELECT C.c_ope,C.c_mat,C.c_age,C.d_nom_per,F.MAT,F.CODIGO,F.NOMBRE_AGENCIA,F
.NOMBRE_COMPLETO_FFNN FROM #TMP_CART_OPE C
--INNER JOIN #TMPFFNN1 F ON F.MAT=C.c_mat
--WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO IS NO
T NULL)--= '201201'
/*d_fec05 = '00368715',
c_age = '201238',
d_des_age = 'CENTRO PROMOCIONAL VILLA FATIMA',
c_mat = 'S50069',
d_nom_per = 'SOSSA ARTEAGA VIVIANA PAMELA'
WHERE c_ope = '10303201000000000008221293'*/
UPDATE C
SET C.c_age=F.CODIGO
,C.d_des_age=F.NOMBRE_AGENCIA
,C.c_mat=F.MAT
,C.d_nom_per=F.NOMBRE_COMPLETO_FFNN
FROM #TMP_CART_OPE C
INNER JOIN #TMPFFNN1 F ON F.MAT=C.c_mat
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO I
S NOT NULL)
UPDATE C
SET C.c_age=F.CODIGO
,C.d_des_age=F.NOMBRE_AGENCIA
,C.c_mat=F.MAT
,C.d_nom_per=F.NOMBRE_COMPLETO_FFNN
FROM #TMP_DIA_ANT C
INNER JOIN #TMPFFNN1 F ON F.MAT=C.c_mat
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO I
S NOT NULL)
UPDATE C
SET C.c_age=F.CODIGO
,C.d_des_age=F.NOMBRE_AGENCIA
,C.c_mat=F.MAT
,C.d_nom_per=F.NOMBRE_COMPLETO_FFNN
FROM #TMP_MES_ANT C
INNER JOIN #TMPFFNN1 F ON F.MAT=C.c_mat
WHERE c_age NOT IN(select DISTINCT(CODIGO) from #TMPFFNN1 WHERE CODIGO I
S NOT NULL)
--END
--SELECT * FROM #TMP_CART_OPE WHERE d_fec05 = 'NID' --c_age = '201201' AND d_fec
05 = 'NID'
--SELECT * FROM #TMP_DIA_ANT WHERE d_fec05 = 'NID'
--SELECT * FROM #TMP_MES_ANT WHERE d_fec05 = 'NID'
--SELECT * FROM #TMP_CART_OPE WHERE c_age = '201201'
--SELECT * FROM #TMP_DIA_ANT WHERE c_age = '201201' --AND d_fec05 = 'NID' --AND
key_fec_ape IN ('20160108','20160111','20160112')
--SELECT * FROM #TMP_MES_ANT WHERE c_age = '201201' --AND d_fec05 = 'NID' --AND
key_fec_ape IN ('20160108','20160111','20160112')
UPDATE #TMP_CART_CLI
SET cant = '1'
WHERE c_cic = '00754562'
UPDATE #TMP_CART_OPE
SET c_age = '201215',
d_des_age = 'CENTRO PROMOCIONAL 16 DE JULIO'
FROM #TMP_CART_OPE
WHERE c_age = '201269'

UPDATE #TMP_CART_OPE
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_CART_OPE TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) LIKE 'BCN%01'
UPDATE #TMP_CART_OPE
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_CART_OPE TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BPY201'
UPDATE #TMP_CART_OPE
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_CART_OPE TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BCN301'
UPDATE #TMP_CART_OPE
SET c_age = '201213',
d_des_age = 'CENTRO PROMOCIONAL LA CEJA'
FROM #TMP_CART_OPE
WHERE RTRIM(c_mat) = 'BCE201'
--======== BORRAR (validar logica de paralelos)=========
--UPDATE #TMP_CART_OPE
--SET fl_new_rec = 'N'
--WHERE c_ope = '10303201000000000008151503'
--========================================================
UPDATE #TMP_CART_OPE
SET fl_new_rec = 'N'
FROM #TMP_CART_OPE OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant = 1
WHERE fl_new_rec = ' '
UPDATE #TMP_CART_OPE
SET fl_new_rec = 'R'
FROM #TMP_CART_OPE OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant > 1
--AND CLI.i_sld_cie_bol > CONVERT(DECIMAL(19,5),0)
WHERE fl_new_rec = ' '
--UPDATE #TMP_CART_OPE
--SET fl_new_rec = 'I'
--FROM #TMP_CART_OPE OPE
--INNER JOIN #TMP_CART_CLI CLI
-- ON OPE.c_cic = CLI.c_cic
-- AND OPE.f_fec_ini = CLI.f_fec_ini
-- AND CLI.cant > 1
-- AND CLI.i_sld_cie_bol = CONVERT(DECIMAL(19,5),0)
--WHERE fl_new_rec = ' '
--================= OPTMIZAR ESTA LOGICA EN EL PASE A PROD
UPDATE #TMP_CART_OPE
SET fl_new_rec = 'N'
WHERE fl_new_rec = ' '
--========================================================
UPDATE #TMP_DIA_ANT
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_DIA_ANT TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) LIKE 'BCN%01'
UPDATE #TMP_CART_OPE
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_CART_OPE TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BPY201'
UPDATE #TMP_CART_OPE
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_CART_OPE TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BCN301'
UPDATE #TMP_DIA_ANT
SET fl_new_rec = 'N'
FROM #TMP_DIA_ANT OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant = 1
WHERE fl_new_rec = ' '
UPDATE #TMP_DIA_ANT
SET fl_new_rec = 'R'
FROM #TMP_DIA_ANT OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant > 1
WHERE fl_new_rec = ' '
UPDATE #TMP_CART_OPE
SET i_sld_cie_bol_dia_ant = ANT.i_sld_cie_bol,
i_mon_ini_bol_dia_ant = ANT.i_mon_ini_bol
FROM #TMP_CART_OPE OPE
INNER JOIN #TMP_DIA_ANT ANT
ON OPE.c_ope = ANT.c_ope

UPDATE #TMP_MES_ANT
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_MES_ANT TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) LIKE 'BCN%01'
UPDATE #TMP_MES_ANT
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_MES_ANT TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BPY201'
UPDATE #TMP_MES_ANT
SET c_mat = SOL.c_mat,
d_nom_per = SOL.d_nom_per
FROM #TMP_MES_ANT TMP
INNER JOIN #TMP_SOL_FFNN SOL
ON TMP.d_fec05 = SOL.c_cod_sol
WHERE RTRIM(TMP.c_mat) = 'BCN301'
UPDATE #TMP_MES_ANT
SET fl_new_rec = 'N'
FROM #TMP_MES_ANT OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant = 1
WHERE fl_new_rec = ' '
UPDATE #TMP_MES_ANT
SET fl_new_rec = 'R'
FROM #TMP_MES_ANT OPE
INNER JOIN #TMP_CART_CLI CLI
ON OPE.c_cic = CLI.c_cic
AND OPE.f_fec_ini = CLI.f_fec_ini
AND CLI.cant > 1
WHERE fl_new_rec = ' '
UPDATE #TMP_CART_OPE
SET i_sld_cie_bol_mes_ant = ANT.i_sld_cie_bol,
i_mon_ini_bol_mes_ant = ANT.i_mon_ini_bol
FROM #TMP_CART_OPE OPE
INNER JOIN #TMP_MES_ANT ANT
ON OPE.c_ope = ANT.c_ope
IF OBJECT_ID('tempdb..#TMP_CLI_MES_ANT') is not NULL DROP TABLE #TMP_CLI_MES_ANT
SELECT c_mat, COUNT(DISTINCT c_cic) AS 'CA_Clientes_MA'
INTO #TMP_CLI_MES_ANT
FROM #TMP_MES_ANT
GROUP BY c_mat
-- INSERCION DE REGISTROS QUE NO EXISTIAN EL MES ANTERIOR (PARA CRECIMIENTO)
IF OBJECT_ID('tempdb..#TMP_CLI_MES_ACT') is not NULL DROP TABLE #TMP_CLI_MES_ACT
SELECT c_mat AS c_mat_ACT, COUNT(DISTINCT c_cic) AS 'CA_Clientes_ACT'
INTO #TMP_CLI_MES_ACT
FROM #TMP_CART_OPE
GROUP BY c_mat
IF OBJECT_ID('tempdb..#TMP_CLI_JOIN') is not NULL DROP TABLE #TMP_CLI_JOIN
SELECT *
INTO #TMP_CLI_JOIN
FROM #TMP_CLI_MES_ACT ACT
LEFT JOIN #TMP_CLI_MES_ANT ANT
ON ACT.c_mat_ACT = ANT.c_mat
--SELECT * FROM #TMP_CLI_JOIN
INSERT INTO #TMP_CLI_MES_ANT
SELECT c_mat_ACT, 0 FROM #TMP_CLI_JOIN WHERE c_mat IS NULL
--============ VALIDACION CRECIMIENTO CLIENTES =============
--SELECT * FROM #TMP_CLI_MES_ANT ORDER BY c_mat
--SELECT SUM(i_sld_cie_bol) FROM BD_MICROCREDITO..TMP_CART_OPE where c_mat = 'S2
0707'
------------------------------------------------------------
IF OBJECT_ID('tempdb..#TMP_SLD_MES_ANT') is not NULL DROP TABLE #TMP_SLD_MES_ANT
SELECT c_mat, SUM(i_sld_cie_bol) AS 'CA_Saldo_MA'
INTO #TMP_SLD_MES_ANT
FROM #TMP_MES_ANT
GROUP BY c_mat
IF OBJECT_ID('tempdb..#TMP_SLD_MES_ACT') is not NULL DROP TABLE #TMP_SLD_MES_ACT
SELECT c_mat AS c_mat_ACT, SUM(i_sld_cie_bol) AS 'CA_Saldo_MA_ACT'
INTO #TMP_SLD_MES_ACT
FROM #TMP_CART_OPE
GROUP BY c_mat
IF OBJECT_ID('tempdb..#TMP_SLD_JOIN') is not NULL DROP TABLE #TMP_SLD_JOIN
SELECT *
INTO #TMP_SLD_JOIN
FROM #TMP_SLD_MES_ACT ACT
LEFT JOIN #TMP_SLD_MES_ANT ANT
ON ACT.c_mat_ACT = ANT.c_mat
--SELECT * FROM #TMP_SLD_JOIN
INSERT INTO #TMP_SLD_MES_ANT
SELECT c_mat_ACT, CONVERT(DECIMAL(19,5),0) FROM #TMP_CLI_JOIN WHERE c_mat IS NUL
L
--============ VALIDACION CRECIMIENTO SALDO =============
--SELECT * FROM #TMP_SLD_MES_ANT
--SELECT SUM(i_sld_cie_bol) FROM BD_MICROCREDITO..TMP_CART_OPE where c_mat = 'S2
0707'
--------------------------------------------------------
--================= VERIFICACION AMORTIZACIONES ==================
------------------------------------------------------------------
-- ========================= REPORTE RANKING ==========================
-- SECCION CARTERA ACTIVA
IF OBJECT_ID('tempdb..##TMP_RANKING') is not NULL DROP TABLE ##TMP_RANKING
SELECT TMP.c_mat,
CONVERT(VARCHAR(150),'') AS 'nombre_ffnn',
CONVERT(VARCHAR(50),'') AS 'Agencia',
COUNT(DISTINCT c_ope) AS 'CA_No_Cred',
COUNT(DISTINCT c_cic) AS 'CA_Clientes',
CONVERT(INT,0) AS 'CA_Crec',
SUM(i_sld_cie_bol) AS 'CA_Saldo_Bs',
CONVERT(DECIMAL(19,5),0) AS 'CA_Crec_Saldo_Bs',
CONVERT(INT,0) AS 'DSB_No_Total',
CONVERT(DECIMAL(19,5),0) AS 'DSB_Monto_Bs_Total',
CONVERT(INT,0) AS 'DSB_No_Nuevos',
CONVERT(DECIMAL(19,5),0) AS 'DSB_Monto_Bs_Nuevos',
CONVERT(INT,0) AS 'CM_No_1_8',
CONVERT(DECIMAL(19,5),0) AS 'CM_Saldo_Bs_1_8',
CONVERT(INT,0) AS 'CM_No_9_15',
CONVERT(DECIMAL(19,5),0) AS 'CM_Saldo_Bs_9_15',
CONVERT(INT,0) AS 'CV_No_My_15',
CONVERT(DECIMAL(19,5),0) AS 'CV_Saldo_Bs_My_15',
CONVERT(DECIMAL(19,5),0) AS 'CV_Pctj_Mora_My_15',
CONVERT(INT,0) AS 'CV_No_Incr_My_15',
CONVERT(DECIMAL(19,5),0) AS 'CV_Saldo_Incr_My_15',
CONVERT(INT,0) AS 'CV_No_My_30',
CONVERT(DECIMAL(19,5),0) AS 'CV_Saldo_Bs_My_30',
CONVERT(DECIMAL(19,5),0) AS 'CV_Pctj_Mora_My_30',
CONVERT(INT,0) AS 'CV_No_Incr_My_30',
CONVERT(DECIMAL(19,5),0) AS 'CV_Saldo_Incr_My_30',
CONVERT(INT,0) AS 'CV_MA_No_My_15',
CONVERT(DECIMAL(19,5),0) AS 'CV_MA_Saldo_Bs_My_15',
CONVERT(INT,0) AS 'CV_MA_No_My_30',
CONVERT(DECIMAL(19,5),0) AS 'CV_MA_Saldo_Bs_My_30',
CONVERT(DECIMAL(19,5),0) AS 'CA_Saldo_MA',
CONVERT(INT,0) AS 'DSB_No_Rec_sSaldo',
CONVERT(DECIMAL(19,5),0) AS 'DSB_Monto_Bs_Rec_sSaldo',
CONVERT(INT,0) AS 'DSB_No_Rec_cSaldo',
CONVERT(DECIMAL(19,5),0) AS 'DSB_Monto_Bs_Rec_cSaldo',
TMP.c_age
INTO ##TMP_RANKING
FROM #TMP_CART_OPE TMP
GROUP BY TMP.c_age, TMP.c_mat

--select * FROM #TMP_CART_OPE


--WHERE fl_tip_cli IN ('N','X','R')
--AND f_fec_ini BETWEEN '20140901' AND '20140903'
--select * FROM #TMP_CART_OPE
--WHERE f_fec_ini BETWEEN '20140901' AND '20140903'
--select * FROM #TMP_CART_CLI
--SELECT * FROM #TMP_CART_OPE WHERE c_ope = '10303201000000000008154437'
--SELECT * FROM #TMP_SOL_FFNN WHERE c_cod_sol = '00222049'
--UPDATE BD_MICROCREDITO..TMP_CART_OPE
--SET c_mat = 'S24623',
-- nombre_ffnn = 'LORENA ALDAZOSA MARIA CRISTINA'
--WHERE c_ope = '10303201000000000008155751'
--UPDATE BD_MICROCREDITO..TMP_CART_OPE
--SET c_mat = 'S23465',
-- nombre_ffnn = 'CALLE YUJRA FRANKLIN GERMAN'
--WHERE c_ope = '10303201000000000008155750'

----BORRAR UPDATE UNA VEZ CORREGIDO EL SEGMENTO DE LOS CLIENTES


--UPDATE ##TMP_RANKING
--SET CA_Clientes = CA_No_Cred
--WHERE c_mat = 'S21461'
------------------------------------
--select * from ##TMP_RANKING
--where c_mat = 'S31210 '
--select * from #TMP_SLD_MES_ANT
--where c_mat = 'S31210 '
--SELECT * FROM #TMP_CART_OPE
----WHERE c_ope = '10303201000000000008167902'
--where c_mat = 'S25707 '
--SELECT * FROM #TMP_MES_ANT
----WHERE c_mat = 'S31210'
--where c_ope = '10303201000000000008176877'
------------------------------------
UPDATE ##TMP_RANKING
SET CA_Crec = RKG.CA_Clientes-CMA.CA_Clientes_MA
FROM ##TMP_RANKING RKG
INNER JOIN #TMP_CLI_MES_ANT CMA
ON RKG.c_mat = CMA.c_mat
UPDATE ##TMP_RANKING
SET CA_Crec_Saldo_Bs = RKG.CA_Saldo_Bs-CMA.CA_Saldo_MA,
CA_Saldo_MA = CMA.CA_Saldo_MA
FROM ##TMP_RANKING RKG
INNER JOIN #TMP_SLD_MES_ANT CMA
ON RKG.c_mat = CMA.c_mat
-- SECCION DESEMBOLSOS
IF OBJECT_ID('tempdb..#TMP_DSB_TOT') is not NULL DROP TABLE #TMP_DSB_TOT
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_mon_ini_bol) Sum_monto
INTO #TMP_DSB_TOT
FROM #TMP_CART_OPE
WHERE fl_tip_cli IN ('N','X','R')
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_mat
--SELECT * FROM #TMP_DSB_TOT
IF OBJECT_ID('tempdb..#TMP_DSB_NEW') is not NULL DROP TABLE #TMP_DSB_NEW
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_mon_ini_bol) Sum_monto
INTO #TMP_DSB_NEW
FROM #TMP_CART_OPE
WHERE fl_tip_cli IN ('N')
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_mat
IF OBJECT_ID('tempdb..#TMP_DSB_RSS') is not NULL DROP TABLE #TMP_DSB_RSS
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_mon_ini_bol) Sum_monto
INTO #TMP_DSB_RSS
FROM #TMP_CART_OPE
WHERE fl_tip_cli IN ('R')
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_mat
IF OBJECT_ID('tempdb..#TMP_DSB_RCS') is not NULL DROP TABLE #TMP_DSB_RCS
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_mon_ini_bol) Sum_monto
INTO #TMP_DSB_RCS
FROM #TMP_CART_OPE
WHERE fl_tip_cli IN ('X')
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_mat
--SELECT * FROM #TMP_DSB_NEW
UPDATE ##TMP_RANKING
SET DSB_No_Total = TOT.Cant_c_ope,
DSB_Monto_Bs_Total = TOT.Sum_monto
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_DSB_TOT TOT
ON RNK.c_mat = TOT.c_mat
UPDATE ##TMP_RANKING
SET DSB_No_Nuevos = NEW.Cant_c_ope,
DSB_Monto_Bs_Nuevos = NEW.Sum_monto
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_DSB_NEW NEW
ON RNK.c_mat = NEW.c_mat
UPDATE ##TMP_RANKING
SET DSB_No_Rec_sSaldo = RSS.Cant_c_ope,
DSB_Monto_Bs_Rec_sSaldo = RSS.Sum_monto
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_DSB_RSS RSS
ON RNK.c_mat = RSS.c_mat
UPDATE ##TMP_RANKING
SET DSB_No_Rec_cSaldo = RCS.Cant_c_ope,
DSB_Monto_Bs_Rec_cSaldo = RCS.Sum_monto
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_DSB_RCS RCS
ON RNK.c_mat = RCS.c_mat
--SELECT * FROM ##TMP_RANKING
-- SECCION CARTERA MOROSA
-- 1-8 DIAS
IF OBJECT_ID('tempdb..#TMP_CM_1_8') is not NULL DROP TABLE #TMP_CM_1_8
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_CM_1_8
FROM #TMP_CART_OPE
WHERE q_num_dia_ven BETWEEN 1 AND 8
GROUP BY c_mat
--SELECT * FROM #TMP_CM_1_8
UPDATE ##TMP_RANKING
SET CM_No_1_8 = TMP.Cant_c_ope,
CM_Saldo_Bs_1_8 = TMP.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_CM_1_8 TMP
ON RNK.c_mat = TMP.c_mat
-- 9-15 DIAS
IF OBJECT_ID('tempdb..#TMP_CM_9_15') is not NULL DROP TABLE #TMP_CM_9_15
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_CM_9_15
FROM #TMP_CART_OPE
WHERE q_num_dia_ven BETWEEN 9 AND 15
GROUP BY c_mat
--SELECT * FROM #TMP_CM_9_15
UPDATE ##TMP_RANKING
SET CM_No_9_15 = TMP.Cant_c_ope,
CM_Saldo_Bs_9_15 = TMP.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_CM_9_15 TMP
ON RNK.c_mat = TMP.c_mat
-- > 15 DIAS
IF OBJECT_ID('tempdb..#TMP_CV_My_15') is not NULL DROP TABLE #TMP_CV_My_15
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_CV_My_15
FROM #TMP_CART_OPE
WHERE q_num_dia_ven > 15
GROUP BY c_mat
--SELECT * FROM #TMP_CV_My_15
UPDATE ##TMP_RANKING
SET CV_No_My_15 = TMP.Cant_c_ope,
CV_Saldo_Bs_My_15 = TMP.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_CV_My_15 TMP
ON RNK.c_mat = TMP.c_mat
UPDATE ##TMP_RANKING
SET CV_Pctj_Mora_My_15 = (CV_Saldo_Bs_My_15*100)/CA_Saldo_Bs
FROM ##TMP_RANKING
--SELECT * FROM #TMP_MES_ANT
IF OBJECT_ID('tempdb..#TMP_MES_ANT_CV_My_15') is not NULL DROP TABLE #TMP_MES_AN
T_CV_My_15
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_MES_ANT_CV_My_15
FROM #TMP_MES_ANT
WHERE q_num_dia_ven > 15
GROUP BY c_mat
UPDATE ##TMP_RANKING
SET CV_MA_No_My_15 = TMP_MA.Cant_c_ope,
CV_MA_Saldo_Bs_My_15 = TMP_MA.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_MES_ANT_CV_My_15 TMP_MA
ON RNK.c_mat = TMP_MA.c_mat
UPDATE ##TMP_RANKING
SET CV_No_Incr_My_15 = CV_No_My_15 - CV_MA_No_My_15
FROM ##TMP_RANKING RNK
UPDATE ##TMP_RANKING
SET CV_Saldo_Incr_My_15 = CV_Saldo_Bs_My_15 - CV_MA_Saldo_Bs_My_15
FROM ##TMP_RANKING RNK
--SELECT * FROM ##TMP_RANKING
-- > 30 DIAS
IF OBJECT_ID('tempdb..#TMP_CV_My_30') is not NULL DROP TABLE #TMP_CV_My_30
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_CV_My_30
FROM #TMP_CART_OPE
WHERE q_num_dia_ven > 30
GROUP BY c_mat
UPDATE ##TMP_RANKING
SET CV_No_My_30 = TMP.Cant_c_ope,
CV_Saldo_Bs_My_30 = TMP.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_CV_My_30 TMP
ON RNK.c_mat = TMP.c_mat
UPDATE ##TMP_RANKING
SET CV_Pctj_Mora_My_30 = (CV_Saldo_Bs_My_30*100)/CA_Saldo_Bs
FROM ##TMP_RANKING
IF OBJECT_ID('tempdb..#TMP_MES_ANT_CV_My_30') is not NULL DROP TABLE #TMP_MES_AN
T_CV_My_30
SELECT c_mat, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol) Sum_saldo
INTO #TMP_MES_ANT_CV_My_30
FROM #TMP_MES_ANT
WHERE q_num_dia_ven > 30
GROUP BY c_mat
UPDATE ##TMP_RANKING
SET CV_MA_No_My_30 = TMP_MA.Cant_c_ope,
CV_MA_Saldo_Bs_My_30 = TMP_MA.Sum_saldo
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_MES_ANT_CV_My_30 TMP_MA
ON RNK.c_mat = TMP_MA.c_mat
UPDATE ##TMP_RANKING
SET CV_No_Incr_My_30 = CV_No_My_30 - CV_MA_No_My_30
FROM ##TMP_RANKING RNK
UPDATE ##TMP_RANKING
SET CV_Saldo_Incr_My_30 = CV_Saldo_Bs_My_30 - CV_MA_Saldo_Bs_My_30
FROM ##TMP_RANKING
-- ACTUALIZACION DE FFNN Y AGENCIA
UPDATE ##TMP_RANKING
SET nombre_ffnn = TMP_OPE.d_nom_per,
Agencia = TMP_OPE.d_des_age
FROM ##TMP_RANKING RNK
INNER JOIN #TMP_CART_OPE TMP_OPE
ON RNK.c_mat = TMP_OPE.c_mat
--SELECT * FROM ###TMP_RANKING
-- ========================= REPORTE DESEMBOLSOS ==========================
IF OBJECT_ID('tempdb..##TMP_DESEMBOLSOS') is not NULL DROP TABLE ##TMP_DESEMBOLS
OS
SELECT c_age,
CONVERT(VARCHAR(50),'') AS 'Agencia',
CONVERT(INT,0) AS DBS_New_No_Cred,
CONVERT(DECIMAL(19,2),0) AS DBS_New_Monto_Bs,
CONVERT(DECIMAL(19,2),0) AS DBS_New_Prest_Prom,
CONVERT(DECIMAL(19,2),0) AS DBS_New_Tasa_Prom,
CONVERT(INT,0) AS DBS_Rec_No_Cred,
CONVERT(DECIMAL(19,2),0) AS DBS_Rec_Monto_Bs,
CONVERT(DECIMAL(19,2),0) AS DBS_Rec_Prest_Prom,
CONVERT(DECIMAL(19,2),0) AS DBS_Rec_Tasa_Prom,
COUNT(DISTINCT c_ope) AS DBS_Tot_No_Cred,
CONVERT(DECIMAL(19,2),SUM(i_mon_ini_bol)/1000) AS DBS_Tot_Monto_
Bs,
CONVERT(DECIMAL(19,2),(SUM(i_mon_ini_bol)/1000)/COUNT(DISTINCT c
_ope)) AS DBS_Tot_Prest_Prom,
CONVERT(DECIMAL(19,2),0) AS DBS_Tot_Tasa_Prom,
CONVERT(DECIMAL(19,2),0) AS DBS_Pctj_Nue,
CONVERT(DECIMAL(19,2),0) AS DBS_Pctj_Rec,
CONVERT(DECIMAL(19,2),SUM(i_sld_cie_bol*(i_tas_int_nom/12))) AS
DBS_Tot_Saldo_Tasa,
SUM(i_sld_cie_bol) AS DBS_CA_Saldo_Bs,
CONVERT(INT,0) AS DBS_MA_No_Cred,
CONVERT(DECIMAL(19,2),0) AS DBS_MA_Monto_Bs,
CONVERT(DECIMAL(19,2),0) AS DBS_New_Saldo_Tasa,
CONVERT(DECIMAL(19,2),0) AS DBS_Rec_Saldo_Tasa,
CONVERT(INT,0) AS IND_DBS_No_Cred_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_DBS_Monto_Bs_Ejec,
COUNT(DISTINCT c_cic) AS IND_CA_No_Cli_Ejec,
CONVERT(DECIMAL(19,2),SUM(i_sld_cie_bol)/1000) AS IND_CA_Saldo_B
s_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_8_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_8_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CM_9_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_9_15_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CM_Mn_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_Mn_15_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Saldo_Bs_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Pctj_Mora_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Saldo_Bs_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Pctj_Mora_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_Pctj_Mora_Total,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_15_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_30_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_30_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_VCA_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCA_Pctj,
CONVERT(INT,0) AS IND_Var_No_Cli,
CONVERT(INT,0) AS IND_Var_No_Cli_Pctj,
CONVERT(INT,0) AS IND_Ind_Cli_No_Renov,
CONVERT(INT,0) AS IND_Ind_Cli_No_Renov_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_15_Saldo_Bs_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_15_Pctj_Mora_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Saldo_Bs_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Pctj_Mora_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Saldo_Bs_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Pctj_Mora_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_Pctj_Mora_Total_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CA_Saldo_Bs_MA,
CONVERT(INT,0) AS IND_CA_No_Cli_MA
INTO ##TMP_DESEMBOLSOS
FROM #TMP_CART_OPE
WHERE f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_age
--select * from ##TMP_DESEMBOLSOS
--select * from #TMP_CART_OPE
UPDATE ##TMP_DESEMBOLSOS
SET DBS_Tot_Tasa_Prom = DBS_Tot_Saldo_Tasa/DBS_CA_Saldo_Bs
FROM ##TMP_DESEMBOLSOS
IF OBJECT_ID('tempdb..#TMP_DESEMB_NEW') is not NULL DROP TABLE #TMP_DESEMB_NEW
SELECT c_age,
COUNT(DISTINCT c_ope) AS New_No_Cred,
CONVERT(DECIMAL(19,2),SUM(i_mon_ini_bol)/1000) AS New_Monto_Bs,
CONVERT(DECIMAL(19,2),(SUM(i_mon_ini_bol)/1000)/COUNT(DISTINCT c
_ope)) AS New_Prest_Prom,
CONVERT(DECIMAL(19,2),SUM(i_sld_cie_bol*(i_tas_int_nom/12))) AS
New_Saldo_Tasa
INTO #TMP_DESEMB_NEW
FROM #TMP_CART_OPE
WHERE fl_new_rec = 'N'
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_age
--SELECT * FROM #TMP_DESEMB_NEW
--SELECT * FROM #TMP_CART_OPE where c_cic = ' 00755754' ORDER BY c_cic
IF OBJECT_ID('tempdb..#TMP_DESEMB_REC') is not NULL DROP TABLE #TMP_DESEMB_REC
SELECT c_age,
COUNT(DISTINCT c_ope) AS Rec_No_Cred,
CONVERT(DECIMAL(19,2),SUM(i_mon_ini_bol)/1000) AS Rec_Monto_Bs,
CONVERT(DECIMAL(19,2),(SUM(i_mon_ini_bol)/1000)/COUNT(DISTINCT c
_ope)) AS Rec_Prest_Prom,
CONVERT(DECIMAL(19,2),SUM(i_sld_cie_bol*(i_tas_int_nom/12))) AS
Rec_Saldo_Tasa
INTO #TMP_DESEMB_REC
FROM #TMP_CART_OPE
WHERE fl_new_rec = 'R'
AND f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_age
--SELECT * FROM BD_MICROCREDITO..TMP_CART_OPE WHERE flag = 'R'
--SELECT * FROM #TMP_DESEMB_REC
--SELECT * FROM ##TMP_DESEMBOLSOS
UPDATE ##TMP_DESEMBOLSOS
SET DBS_New_No_Cred = NEW.New_No_Cred,
DBS_New_Monto_Bs = NEW.New_Monto_Bs,
DBS_New_Prest_Prom = NEW.New_Prest_Prom,
DBS_New_Tasa_Prom = NEW.New_Saldo_Tasa/DESEM.DBS_CA_Saldo_Bs,
DBS_New_Saldo_Tasa = NEW.New_Saldo_Tasa
FROM ##TMP_DESEMBOLSOS DESEM
INNER JOIN #TMP_DESEMB_NEW NEW
ON DESEM.c_age = NEW.c_age
UPDATE ##TMP_DESEMBOLSOS
SET DBS_Rec_No_Cred = REC.Rec_No_Cred,
DBS_Rec_Monto_Bs = REC.Rec_Monto_Bs,
DBS_Rec_Prest_Prom = REC.Rec_Prest_Prom,
DBS_Rec_Tasa_Prom = REC.Rec_Saldo_Tasa/DESEM.DBS_CA_Saldo_Bs,
DBS_Rec_Saldo_Tasa = REC.Rec_Saldo_Tasa
FROM ##TMP_DESEMBOLSOS DESEM
INNER JOIN #TMP_DESEMB_REC REC
ON DESEM.c_age = REC.c_age
UPDATE ##TMP_DESEMBOLSOS
SET DBS_Pctj_Nue = (DBS_New_No_Cred*100)/DBS_Tot_No_Cred,
DBS_Pctj_Rec = (DBS_Rec_No_Cred*100)/DBS_Tot_No_Cred
FROM ##TMP_DESEMBOLSOS
-- ACTUALIZACION DE FFNN Y AGENCIA
UPDATE ##TMP_DESEMBOLSOS
SET Agencia = TMP_OPE.d_des_age
FROM ##TMP_DESEMBOLSOS DBS
INNER JOIN #TMP_CART_OPE TMP_OPE
ON DBS.c_age = TMP_OPE.c_age
WHERE f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
-- ACTUALIZACION DESEMBOLSOS DE LA FECHA
IF OBJECT_ID('tempdb..#TMP_DESEMB_MA') is not NULL DROP TABLE #TMP_DESEMB_MA
SELECT c_age,
COUNT(DISTINCT c_ope) AS DBS_MA_No_Cred,
CONVERT(DECIMAL(19,2),SUM(i_mon_ini_bol)/1000) AS DBS_MA_Monto_B
s
INTO #TMP_DESEMB_MA
FROM #TMP_CART_OPE
WHERE f_fec_ini = @v_FecProc
GROUP BY c_age
--UPDATE #TMP_DESEMB_MA
--SET DBS_MA_No_Cred = 1,
-- DBS_MA_Monto_Bs = '1.00'
--WHERE DBS_MA_No_Cred = 0
--AND DBS_MA_Monto_Bs = '0.00'
UPDATE ##TMP_DESEMBOLSOS
SET DBS_MA_No_Cred = DBS_MA.DBS_MA_No_Cred,
DBS_MA_Monto_Bs = DBS_MA.DBS_MA_Monto_Bs
FROM ##TMP_DESEMBOLSOS DBS
INNER JOIN #TMP_DESEMB_MA DBS_MA
ON DBS.c_age = DBS_MA.c_age
--SELECT * FROM BD_MICROCREDITO..TMP_MES_ANT
--SELECT * FROM ##TMP_DESEMBOLSOS
--SELECT * FROM #TMP_DESEMB_MA
--============== LOGICA PARA AADIR AGENCIAS QUE NO TENGAN DESEMBOLSOS ===========
===
--============== (SE DEBEN PARAMETRIZAR LOS CODIGOS DE LAS AGENCIAS) =========
=====
DECLARE @v_CodAge VARCHAR(6),
@v_CantAge INT, @v_CantAgeTot INT
SET @v_CantAgeTot = (SELECT COUNT(DISTINCT c_age) FROM #TMP_CART_OPE)
SET @v_CantAge = (SELECT COUNT(DISTINCT c_age) FROM ##TMP_DESEMBOLSOS)
IF @v_CantAge < @v_CantAgeTot
BEGIN
SET @v_CodAge = (SELECT COUNT(DISTINCT c_age) FROM ##TMP_DESEMBOLSOS WHE
RE c_age = '201213')
IF @v_CodAge = 0
BEGIN
INSERT INTO ##TMP_DESEMBOLSOS
VALUES('201213','CENTRO PROMOCIONAL LA CEJA',0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0)
END
SET @v_CodAge = (SELECT COUNT(DISTINCT c_age) FROM ##TMP_DESEMBOLSOS WHE
RE c_age = '201215')
IF @v_CodAge = 0
BEGIN
INSERT INTO ##TMP_DESEMBOLSOS
VALUES('201215','CENTRO PROMOCIONAL 16 DE JULIO',0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0)
END
SET @v_CodAge = (SELECT COUNT(DISTINCT c_age) FROM ##TMP_DESEMBOLSOS WHE
RE c_age = '201238')
IF @v_CodAge = 0
BEGIN
INSERT INTO ##TMP_DESEMBOLSOS
VALUES('201238','CENTRO PROMOCIONAL VILLA FATIMA',0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0)
END
SET @v_CodAge = (SELECT COUNT(DISTINCT c_age) FROM ##TMP_DESEMBOLSOS WHE
RE c_age = '201239')
IF @v_CodAge = 0
BEGIN
INSERT INTO ##TMP_DESEMBOLSOS
VALUES('201239','CENTRO PROMOCIONAL CENTRAL LA PAZ',0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0)
END
END
--==============================================================================
=====
-- ========================= REPORTE INDICADORES ==========================
IF OBJECT_ID('tempdb..#TMP_INDICADORES') is not NULL DROP TABLE #TMP_INDICADORES
SELECT c_age,
CONVERT(INT,0) AS IND_DBS_No_Cred_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_DBS_Monto_Bs_Ejec,
COUNT(DISTINCT c_cic) AS IND_CA_No_Cli_Ejec,
CONVERT(DECIMAL(19,2),SUM(i_sld_cie_bol)/1000) AS IND_CA_Saldo_B
s_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_8_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_8_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CM_9_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_9_15_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CM_Mn_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_CM_Mn_15_Pctj_Mora,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Saldo_Bs_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Pctj_Mora_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Saldo_Bs_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Pctj_Mora_Ejec,
CONVERT(DECIMAL(19,2),0) AS IND_Pctj_Mora_Total,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_15_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_15_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_30_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCV_My_30_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_VCA_Saldo_Bs,
CONVERT(DECIMAL(19,2),0) AS IND_VCA_Pctj,
CONVERT(INT,0) AS IND_Var_No_Cli,
CONVERT(INT,0) AS IND_Var_No_Cli_Pctj,
CONVERT(INT,0) AS IND_Ind_Cli_No_Renov,
CONVERT(INT,0) AS IND_Ind_Cli_No_Renov_Pctj,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_15_Saldo_Bs_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CM_1_15_Pctj_Mora_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Saldo_Bs_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_15_Pctj_Mora_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Saldo_Bs_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CV_My_30_Pctj_Mora_Ejec_MA,
CONVERT(DECIMAL(19,2),0) AS IND_Pctj_Mora_Total_MA,
CONVERT(DECIMAL(19,2),0) AS IND_CA_Saldo_Bs_MA,
CONVERT(INT,0) AS IND_CA_No_Cli_MA
INTO #TMP_INDICADORES
FROM #TMP_CART_OPE
GROUP BY c_age
--SELECT * FROM #TMP_INDICADORES
--SELECT c_age, count(distinct c_cic) FROM #TMP_CART_OPE GROUP BY c_age
--select distinct c_age FROM #TMP_CART_OPE
-- SECCION DESEMBOLSOS
IF OBJECT_ID('tempdb..#TMP_IND_DBS') is not NULL DROP TABLE #TMP_IND_DBS
SELECT c_age,
COUNT(DISTINCT c_ope) AS IND_DBS_No_Cred_Ejec,
CONVERT(DECIMAL(19,2),SUM(i_mon_ini_bol)/1000) AS IND_DBS_Monto_
Bs_Ejec
INTO #TMP_IND_DBS
FROM #TMP_CART_OPE
WHERE f_fec_ini BETWEEN @v_FecIni AND @v_FecProc
GROUP BY c_age
UPDATE #TMP_INDICADORES
SET IND_DBS_No_Cred_Ejec = IND_DBS.IND_DBS_No_Cred_Ejec,
IND_DBS_Monto_Bs_Ejec = IND_DBS.IND_DBS_Monto_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_DBS IND_DBS
ON IND.c_age = IND_DBS.c_age
-- SECCION CARTERA
-- 1-8 DIAS
IF OBJECT_ID('tempdb..#TMP_IND_CM_1_8') is not NULL DROP TABLE #TMP_IND_CM_1_8
SELECT c_age, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_IND_CM_1_8
FROM #TMP_CART_OPE
WHERE q_num_dia_ven BETWEEN 1 AND 8
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_1_8
UPDATE #TMP_INDICADORES
SET IND_CM_1_8_Saldo_Bs = TMP.Sum_saldo,
IND_CM_1_8_Pctj_Mora = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CM_1_8 TMP
ON IND.c_age = TMP.c_age
-- 9-15 DIAS
IF OBJECT_ID('tempdb..#TMP_IND_CM_9_15') is not NULL DROP TABLE #TMP_IND_CM_9_15
SELECT c_age, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_IND_CM_9_15
FROM #TMP_CART_OPE
WHERE q_num_dia_ven BETWEEN 9 AND 15
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_9_15
UPDATE #TMP_INDICADORES
SET IND_CM_9_15_Saldo_Bs = TMP.Sum_saldo,
IND_CM_9_15_Pctj_Mora = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CM_9_15 TMP
ON IND.c_age = TMP.c_age
-- < 15 DIAS
IF OBJECT_ID('tempdb..#TMP_IND_CM_Mn_15') is not NULL DROP TABLE #TMP_IND_CM_Mn_
15
SELECT c_age, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_IND_CM_Mn_15
FROM #TMP_CART_OPE
WHERE q_num_dia_ven BETWEEN 1 AND 15
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_Mn_15
UPDATE #TMP_INDICADORES
SET IND_CM_Mn_15_Saldo_Bs = TMP.Sum_saldo,
IND_CM_Mn_15_Pctj_Mora = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CM_Mn_15 TMP
ON IND.c_age = TMP.c_age
-- CV > 15 DIAS
IF OBJECT_ID('tempdb..#TMP_IND_CV_My_15') is not NULL DROP TABLE #TMP_IND_CV_My_
15
SELECT c_age, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_IND_CV_My_15
FROM #TMP_CART_OPE
WHERE q_num_dia_ven > 15
GROUP BY c_age
UPDATE #TMP_INDICADORES
SET IND_CV_My_15_Saldo_Bs_Ejec = TMP.Sum_saldo,
IND_CV_My_15_Pctj_Mora_Ejec = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CV_My_15 TMP
ON IND.c_age = TMP.c_age
-- CV > 30 DIAS
IF OBJECT_ID('tempdb..#TMP_IND_CV_My_30') is not NULL DROP TABLE #TMP_IND_CV_My_
30
SELECT c_age, COUNT(DISTINCT c_ope) AS Cant_c_ope, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_IND_CV_My_30
FROM #TMP_CART_OPE
WHERE q_num_dia_ven > 30
GROUP BY c_age
UPDATE #TMP_INDICADORES
SET IND_CV_My_30_Saldo_Bs_Ejec = TMP.Sum_saldo,
IND_CV_My_30_Pctj_Mora_Ejec = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CV_My_30 TMP
ON IND.c_age = TMP.c_age
-- % MORA TOTAL
IF OBJECT_ID('tempdb..#TMP_CV_Pctj_Mora_Tot') is not NULL DROP TABLE #TMP_CV_Pct
j_Mora_Tot
SELECT c_age, SUM(i_sld_cie_bol)/1000 AS Sum_saldo
INTO #TMP_CV_Pctj_Mora_Tot
FROM #TMP_CART_OPE
WHERE q_num_dia_ven > 1
GROUP BY c_age
UPDATE #TMP_INDICADORES
SET IND_Pctj_Mora_Total = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_Ejec
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_CV_Pctj_Mora_Tot TMP
ON IND.c_age = TMP.c_age
-- CARTERA ACTIVA CIERRE MES ANTERIOR
IF OBJECT_ID('tempdb..#TMP_CA_MA') is not NULL DROP TABLE #TMP_CA_MA
SELECT c_age, COUNT(DISTINCT c_cic) AS Cant_c_cic, SUM(i_sld_cie_bol)/1000 AS Su
m_saldo
INTO #TMP_CA_MA
FROM #TMP_MES_ANT
GROUP BY c_age
--SELECT * FROM #TMP_CA_MA
UPDATE #TMP_INDICADORES
SET IND_CA_Saldo_Bs_MA = TMP.Sum_saldo,
IND_CA_No_Cli_MA = TMP.Cant_c_cic
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_CA_MA TMP
ON IND.c_age = TMP.c_age
-- CM < 15 DIAS CIERRE MES ANTERIOR
IF OBJECT_ID('tempdb..#TMP_IND_CM_Mn_15_MA') is not NULL DROP TABLE #TMP_IND_CM_
Mn_15_MA
SELECT c_age, SUM(i_sld_cie_bol)/1000 AS Sum_saldo
INTO #TMP_IND_CM_Mn_15_MA
FROM #TMP_MES_ANT
WHERE q_num_dia_ven BETWEEN 1 AND 15
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_Mn_15_MA
UPDATE #TMP_INDICADORES
SET IND_CM_1_15_Saldo_Bs_MA = TMP.Sum_saldo,
IND_CM_1_15_Pctj_Mora_MA = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_MA
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CM_Mn_15_MA TMP
ON IND.c_age = TMP.c_age
-- CV > 15 DIAS CIERRE MES ANTERIOR
IF OBJECT_ID('tempdb..#TMP_IND_CV_My_15_MA') is not NULL DROP TABLE #TMP_IND_CV_
My_15_MA
SELECT c_age, SUM(i_sld_cie_bol)/1000 AS Sum_saldo
INTO #TMP_IND_CV_My_15_MA
FROM #TMP_MES_ANT
WHERE q_num_dia_ven > 15
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_Mn_15_MA
UPDATE #TMP_INDICADORES
SET IND_CV_My_15_Saldo_Bs_Ejec_MA = TMP.Sum_saldo,
IND_CV_My_15_Pctj_Mora_Ejec_MA = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_MA
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CV_My_15_MA TMP
ON IND.c_age = TMP.c_age
-- CV > 30 DIAS CIERRE MES ANTERIOR
IF OBJECT_ID('tempdb..#TMP_IND_CV_My_30_MA') is not NULL DROP TABLE #TMP_IND_CV_
My_30_MA
SELECT c_age, SUM(i_sld_cie_bol)/1000 AS Sum_saldo
INTO #TMP_IND_CV_My_30_MA
FROM #TMP_MES_ANT
WHERE q_num_dia_ven > 30
GROUP BY c_age
--SELECT * FROM #TMP_IND_CM_Mn_15_MA
UPDATE #TMP_INDICADORES
SET IND_CV_My_30_Saldo_Bs_Ejec_MA = TMP.Sum_saldo,
IND_CV_My_30_Pctj_Mora_Ejec_MA = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_MA
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_IND_CV_My_30_MA TMP
ON IND.c_age = TMP.c_age
-- % MORA TOTAL CIERRE MES ANTERIOR
IF OBJECT_ID('tempdb..#TMP_Pctj_Mora_Tot_MA') is not NULL DROP TABLE #TMP_Pctj_M
ora_Tot_MA
SELECT c_age, SUM(i_sld_cie_bol)/1000 AS Sum_saldo
INTO #TMP_Pctj_Mora_Tot_MA
FROM #TMP_MES_ANT
WHERE q_num_dia_ven > 1
GROUP BY c_age
UPDATE #TMP_INDICADORES
SET IND_Pctj_Mora_Total_MA = (TMP.Sum_saldo*100)/IND_CA_Saldo_Bs_MA
FROM #TMP_INDICADORES IND
INNER JOIN #TMP_Pctj_Mora_Tot_MA TMP
ON IND.c_age = TMP.c_age
-- VARIACIONES
UPDATE #TMP_INDICADORES
SET IND_VCV_My_15_Saldo_Bs = IND_CV_My_15_Saldo_Bs_Ejec - IND_CV_My_15_Saldo_Bs_
Ejec_MA,
IND_VCV_My_15_Pctj = IND_CV_My_15_Pctj_Mora_Ejec - IND_CV_My_15_Pctj_Mor
a_Ejec_MA,
IND_VCV_My_30_Saldo_Bs = IND_CV_My_30_Saldo_Bs_Ejec - IND_CV_My_30_Saldo
_Bs_Ejec_MA,
IND_VCV_My_30_Pctj = IND_CV_My_30_Pctj_Mora_Ejec - IND_CV_My_30_Pctj_Mor
a_Ejec_MA,
IND_VCA_Saldo_Bs = IND_CA_Saldo_Bs_Ejec - IND_CA_Saldo_Bs_MA,
IND_Var_No_Cli = IND_CA_No_Cli_Ejec - IND_CA_No_Cli_MA
FROM #TMP_INDICADORES
--SELECT * FROM #TMP_INDICADORES
-- Actualizacion temporal de los campos
--IND_CA_Saldo_Bs_MA
--IND_CA_No_Cli_MA
UPDATE #TMP_INDICADORES
SET IND_CA_Saldo_Bs_MA = '1.00',
IND_CA_No_Cli_MA = '1'
WHERE IND_CA_Saldo_Bs_MA = '0.00'
AND IND_CA_No_Cli_MA = '0'
--AND c_age = '201213'
-------
--select * FROM #TMP_INDICADORES
--select * from BD_DWBCP.Dwh.Dim_agencia where c_age = '201214'

UPDATE #TMP_INDICADORES
SET IND_VCA_Pctj = (IND_VCA_Saldo_Bs*100)/IND_CA_Saldo_Bs_MA,
IND_Var_No_Cli_Pctj = (IND_Var_No_Cli*100)/IND_CA_No_Cli_MA
FROM #TMP_INDICADORES
-- Actualizacion original de los campos
--IND_CA_Saldo_Bs_MA
--IND_CA_No_Cli_MA
UPDATE #TMP_INDICADORES
SET IND_CA_Saldo_Bs_MA = '0.00',
IND_CA_No_Cli_MA = '0'
WHERE IND_CA_Saldo_Bs_MA = '1.00'
AND IND_CA_No_Cli_MA = '1'
--AND c_age IN ('201238','201239')
-------
--================ ACTUALIZACION INDICADORES EN DESEMBOLSOS ================
==
UPDATE ##TMP_DESEMBOLSOS
SET IND_DBS_No_Cred_Ejec = IND.IND_DBS_No_Cred_Ejec,
IND_DBS_Monto_Bs_Ejec = IND.IND_DBS_Monto_Bs_Ejec,
IND_CA_No_Cli_Ejec = IND.IND_CA_No_Cli_Ejec,
IND_CA_Saldo_Bs_Ejec = IND.IND_CA_Saldo_Bs_Ejec,
IND_CM_1_8_Saldo_Bs = IND.IND_CM_1_8_Saldo_Bs,
IND_CM_1_8_Pctj_Mora = IND.IND_CM_1_8_Pctj_Mora,
IND_CM_9_15_Saldo_Bs = IND.IND_CM_9_15_Saldo_Bs,
IND_CM_9_15_Pctj_Mora = IND.IND_CM_9_15_Pctj_Mora ,
IND_CM_Mn_15_Saldo_Bs = IND.IND_CM_Mn_15_Saldo_Bs,
IND_CM_Mn_15_Pctj_Mora = IND.IND_CM_Mn_15_Pctj_Mora,
IND_CV_My_15_Saldo_Bs_Ejec = IND.IND_CV_My_15_Saldo_Bs_Ejec,
IND_CV_My_15_Pctj_Mora_Ejec = IND.IND_CV_My_15_Pctj_Mora_Ejec,
IND_CV_My_30_Saldo_Bs_Ejec = IND.IND_CV_My_30_Saldo_Bs_Ejec,
IND_CV_My_30_Pctj_Mora_Ejec = IND.IND_CV_My_30_Pctj_Mora_Ejec,
IND_Pctj_Mora_Total = IND.IND_Pctj_Mora_Total,
IND_VCV_My_15_Saldo_Bs = IND.IND_VCV_My_15_Saldo_Bs,
IND_VCV_My_15_Pctj = IND.IND_VCV_My_15_Pctj,
IND_VCV_My_30_Saldo_Bs = IND.IND_VCV_My_30_Saldo_Bs,
IND_VCV_My_30_Pctj = IND.IND_VCV_My_30_Pctj,
IND_VCA_Saldo_Bs = IND.IND_VCA_Saldo_Bs,
IND_VCA_Pctj = IND.IND_VCA_Pctj,
IND_Var_No_Cli = IND.IND_Var_No_Cli,
IND_Var_No_Cli_Pctj = IND.IND_Var_No_Cli_Pctj,
IND_Ind_Cli_No_Renov = IND.IND_Ind_Cli_No_Renov,
IND_Ind_Cli_No_Renov_Pctj = IND.IND_Ind_Cli_No_Renov_Pctj,
IND_CM_1_15_Saldo_Bs_MA = IND.IND_CM_1_15_Saldo_Bs_MA,
IND_CM_1_15_Pctj_Mora_MA = IND.IND_CM_1_15_Pctj_Mora_MA,
IND_CV_My_15_Saldo_Bs_Ejec_MA = IND.IND_CV_My_15_Saldo_Bs_Ejec_MA,
IND_CV_My_15_Pctj_Mora_Ejec_MA = IND.IND_CV_My_15_Pctj_Mora_Ejec_MA,
IND_CV_My_30_Saldo_Bs_Ejec_MA = IND.IND_CV_My_30_Saldo_Bs_Ejec_MA,
IND_CV_My_30_Pctj_Mora_Ejec_MA = IND.IND_CV_My_30_Pctj_Mora_Ejec_MA,
IND_Pctj_Mora_Total_MA = IND.IND_Pctj_Mora_Total_MA,
IND_CA_Saldo_Bs_MA = IND.IND_CA_Saldo_Bs_MA,
IND_CA_No_Cli_MA = IND.IND_CA_No_Cli_MA
FROM #TMP_INDICADORES IND
INNER JOIN ##TMP_DESEMBOLSOS DESEM
ON IND.c_age = DESEM.c_age
--============================================================================
-- INDICADORES CLIENTES NO RENOVADOS
-- Nro. Clientes Microcred. Que Cancelaron mes Anterior y a la fecha no tiene Prs
tamo de Microcred. Activo
--DECLARE @v_FecProc VARCHAR(8),
-- @v_MesAnt VARCHAR(6)
--SET @v_FecProc = '20120424'
--SELECT @v_MesAnt = CONVERT(VARCHAR(8),DATEADD(MM, -1, @v_FecProc),112)
----PRINT @v_MesAnt
--IF OBJECT_ID('tempdb..#TMP_CLI_MA') is not NULL DROP TABLE #TMP_CLI_MA
--SELECT DISTINCT(c_cli) AS Cant_Cli_MA
--INTO #TMP_CLI_MA
--FROM BD_MICROCREDITO..TMP_MES_ANT
--WHERE SUBSTRING(CONVERT(VARCHAR(8),key_fec_ult_pag),1,6) = @v_MesAnt
--============== CARTERA DE MICROCREDITO =================
--SELECT distinct key_fec FROM #TMP_CART_OPE
SELECT @v_FecProc AS '@v_FecProc'
,@v_FecIni AS '@v_FecIni'
,@v_FecDiaAnt AS '@v_FecDiaAnt'
,@v_fecUltMes AS '@v_fecUltMes'
--SELECT * FROM #TMP_CART_CLI
--SELECT * FROM #TMP_CART_OPE WHERE c_cic = ' 00773175'

--INSERT INTO BD_BDIDWH.BdiDwh.MCR_RC_DatosXFFNN


--SELECT * FROM ##TMP_RANKING ORDER BY c_age ASC, c_mat ASC

--SELECT * FROM ##TMP_DESEMBOLSOS ORDER BY c_age ASC


--SELECT * FROM #TMP_INDICADORES ORDER BY c_age DESC
--ESTO SOLO ES CODSOLICITUD FALTA AGENCIAS
--IF OBJECT_ID('tempdb..##TMP_ERRADOS') is not NULL DROP TABLE ##TMP_ERRADOS
/***********************CONSULTA PARA VER ERRORES*******************************
*********/
SELECT * FROM ##TMP_ERRADOS
/*****************************************************************************
***************************/
IF OBJECT_ID('tempdb..##TMP_ACTUALIZADOS') is not NULL DROP TABLE ##TMP_ACTUAL
IZADOS
/***********************CONSULTA PARA VER COMO QUEDARON CON LAS ACTUALIZACIONES*
**************************/
SELECT OPE.c_ope,OPE.d_fec05,OPE.c_mat,OPE.d_nom_per,OPE.c_age,OPE.d_des_age,E
.TABLA INTO ##TMP_ACTUALIZADOS FROM #TMP_CART_OPE OPE --tiene el alias DA
INNER JOIN ##TMP_ERRADOS E ON E.OPERACION=OPE.c_ope AND E.TABLA='CART_OPE'
INSERT INTO ##TMP_ACTUALIZADOS
SELECT DIA.c_ope,DIA.d_fec05,DIA.c_mat,DIA.d_nom_per,DIA.c_age,DIA.d_des_age,E
.TABLA FROM #TMP_DIA_ANT DIA
INNER JOIN ##TMP_ERRADOS E ON E.OPERACION=DIA.c_ope AND E.TABLA='DIA_ANT'

INSERT INTO ##TMP_ACTUALIZADOS


SELECT MES.c_ope,MES.d_fec05,MES.c_mat,MES.d_nom_per,MES.c_age,MES.d_des_age,E
.TABLA FROM #TMP_MES_ANT MES
INNER JOIN ##TMP_ERRADOS E ON E.OPERACION=MES.c_ope AND E.TABLA='MES_ANT'
/*****************************************************************************
***************************/
--AGENCIAS

--============== DETALLE CEDITOS EN MORA =================


--SELECT c_ope AS ALS, c_mat AS MATRICULA,
-- nombre_ffnn AS OFICIAL,
-- key_fec_ult_pag AS FECHA_ULT_PAGO,
-- q_num_dia_ven AS NRO_DIAS_VENC,
-- q_nro_cuo_ven AS NRO_CUOTAS_VENC,
-- i_mon_ini_bol AS MONTO_DESEMB,
-- i_sld_cie_bol AS SALDO_CAPITAL,
-- i_mon_ini_bol AS MONTO_DESEMB
--FROM BD_MICROCREDITO..TMP_CART_OPE
--where q_nro_cuo_ven > 0
----where c_mat = 'S20707'
--ORDER BY c_mat, c_ope
----------------------------------------------------------
END

You might also like