Professional Documents
Culture Documents
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
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
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'