dbo.LN_completo_dictamen_vrm_detalle

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

Used By

No items found