Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.LN_completo_dictamen_vrm_detalle
AS
BEGIN
SET NOCOUNT ON;
declare @contraparte int
declare @gestion int
declare @valor_texto varchar(100) = null
declare @valor_numerico decimal(12,2) = null
declare @valor_memo varchar(100) = null
declare @nombre_indicador varchar(100) = null
declare @detalle varchar(max) = ''
declare @accion varchar(100) = null
DECLARE C_cursor CURSOR LOCAL FOR
select contraparte, gestion from ln_contraparte_indicadores
where indicador = 396 and valor_texto = 'PENDIENTE'
OPEN C_cursor
FETCH NEXT FROM C_cursor INTO @contraparte, @gestion
WHILE @@fetch_status = 0
BEGIN
SET @detalle = ''
DECLARE C_pendiente CURSOR LOCAL FOR
select clave_indicador
from ln_indicadores
where clave_indicador in ('MA_SCORE_MA',
'AML_SCORE_Worldcheck'
)
OPEN C_pendiente
FETCH NEXT FROM C_pendiente INTO @accion
WHILE @@fetch_status = 0
BEGIN
-- Guarda el por que en la tabla ln_dictamen_vrm_detalle
set @valor_numerico = null
set @valor_memo = null
set @valor_texto = null
set @nombre_indicador = null
select @valor_numerico = ln_contraparte_indicadores.valor_numerico,
@valor_memo = ln_contraparte_indicadores.valor_memo,
@valor_texto = ln_contraparte_indicadores.valor_texto,
@nombre_indicador = ln_indicadores.etiqueta
from ln_contraparte_indicadores
inner join ln_indicadores on ln_indicadores.indicador = ln_contraparte_indicadores.indicador
where ln_contraparte_indicadores.contraparte = @contraparte
and ln_contraparte_indicadores.gestion = @gestion
and (ln_contraparte_indicadores.valor_texto is not null or ln_contraparte_indicadores.valor_numerico is not null)
and ln_indicadores.clave_indicador = @accion
SELECT @contraparte, @gestion, @accion,@valor_numerico
--SELECT @CONTRAPARTE, @GESTION, @nombre_indicador, @valor_numerico,@valor_texto
if (isnull(@valor_numerico,0) = 10 or isnull(@valor_texto,'') = 'A')
begin
if (@detalle != '') set @detalle = @detalle + '; '
set @detalle = @detalle + @nombre_indicador + ': Riesgo ' +
iif(isnull(@valor_memo,'')!='',@valor_memo, (iif(isnull(@valor_texto,'')!='', @valor_texto, convert(varchar,@valor_numerico))))
end
FETCH NEXT FROM C_pendiente INTO @accion
END
CLOSE C_pendiente
DEALLOCATE C_pendiente
if exists (select * From ln_dictamen_vrm_detalle
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and isnull(detalle,'') != isnull(@detalle,'')
and visible = 1)
begin
UPDATE ln_dictamen_vrm_detalle
set visible = 0, modified = getdate()
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and visible = 1
end
SELECT @DETALLE
if (isnull(@detalle,'') != '')
begin
if not exists (select * From ln_dictamen_vrm_detalle
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and isnull(detalle,'') = isnull(@detalle,'')
and visible = 1)
begin
insert into ln_dictamen_vrm_detalle(contraparte,gestion,indicador,detalle,visible,created)
values (@contraparte, @gestion, 396, @detalle, 1, getdate())
end
END
FETCH NEXT FROM C_cursor INTO @contraparte, @gestion
END
CLOSE C_cursor
DEALLOCATE C_cursor
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.LN_completo_dictamen_vrm_detalle
AS
BEGIN
SET NOCOUNT ON;
declare @contraparte int
declare @gestion int
declare @valor_texto varchar(100) = null
declare @valor_numerico decimal(12,2) = null
declare @valor_memo varchar(100) = null
declare @nombre_indicador varchar(100) = null
declare @detalle varchar(max) = ''
declare @accion varchar(100) = null
DECLARE C_cursor CURSOR LOCAL FOR
select contraparte, gestion from ln_contraparte_indicadores
where indicador = 396 and valor_texto = 'PENDIENTE'
OPEN C_cursor
FETCH NEXT FROM C_cursor INTO @contraparte, @gestion
WHILE @@fetch_status = 0
BEGIN
SET @detalle = ''
DECLARE C_pendiente CURSOR LOCAL FOR
select clave_indicador
from ln_indicadores
where clave_indicador in ('MA_SCORE_MA',
'AML_SCORE_Worldcheck'
)
OPEN C_pendiente
FETCH NEXT FROM C_pendiente INTO @accion
WHILE @@fetch_status = 0
BEGIN
-- Guarda el por que en la tabla ln_dictamen_vrm_detalle
set @valor_numerico = null
set @valor_memo = null
set @valor_texto = null
set @nombre_indicador = null
select @valor_numerico = ln_contraparte_indicadores.valor_numerico,
@valor_memo = ln_contraparte_indicadores.valor_memo,
@valor_texto = ln_contraparte_indicadores.valor_texto,
@nombre_indicador = ln_indicadores.etiqueta
from ln_contraparte_indicadores
inner join ln_indicadores on ln_indicadores.indicador = ln_contraparte_indicadores.indicador
where ln_contraparte_indicadores.contraparte = @contraparte
and ln_contraparte_indicadores.gestion = @gestion
and (ln_contraparte_indicadores.valor_texto is not null or ln_contraparte_indicadores.valor_numerico is not null)
and ln_indicadores.clave_indicador = @accion
SELECT @contraparte, @gestion, @accion,@valor_numerico
--SELECT @CONTRAPARTE, @GESTION, @nombre_indicador, @valor_numerico,@valor_texto
if (isnull(@valor_numerico,0) = 10 or isnull(@valor_texto,'') = 'A')
begin
if (@detalle != '') set @detalle = @detalle + '; '
set @detalle = @detalle + @nombre_indicador + ': Riesgo ' +
iif(isnull(@valor_memo,'')!='',@valor_memo, (iif(isnull(@valor_texto,'')!='', @valor_texto, convert(varchar,@valor_numerico))))
end
FETCH NEXT FROM C_pendiente INTO @accion
END
CLOSE C_pendiente
DEALLOCATE C_pendiente
if exists (select * From ln_dictamen_vrm_detalle
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and isnull(detalle,'') != isnull(@detalle,'')
and visible = 1)
begin
UPDATE ln_dictamen_vrm_detalle
set visible = 0, modified = getdate()
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and visible = 1
end
SELECT @DETALLE
if (isnull(@detalle,'') != '')
begin
if not exists (select * From ln_dictamen_vrm_detalle
where contraparte = @contraparte
and gestion = @gestion
and indicador = 396
and isnull(detalle,'') = isnull(@detalle,'')
and visible = 1)
begin
insert into ln_dictamen_vrm_detalle(contraparte,gestion,indicador,detalle,visible,created)
values (@contraparte, @gestion, 396, @detalle, 1, getdate())
end
END
FETCH NEXT FROM C_cursor INTO @contraparte, @gestion
END
CLOSE C_cursor
DEALLOCATE C_cursor
END
GO
Used By
No items found