dbo.LN_Cumplimiento_Mensual

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

7
Name Data Type Length Description
@p_contratista int 4
@p_ult_periodo_estado char 1
@p_ult_periodo_estado_txt varchar 20
@p_ult_periodo_orden int 4
@p_ant_periodo_estado char 1
@p_ant_periodo_estado_txt varchar 20
@p_ant_periodo_orden int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================

/*
declare @p_contratista int = 2586,
@p_ult_periodo_estado char(1) , 
@p_ult_periodo_estado_txt varchar(20) , 
@p_ult_periodo_orden  int   , 
@p_ant_periodo_estado char(1) , 
@p_ant_periodo_estado_txt varchar(20) , 
@p_ant_periodo_orden  int     
exec [LN_Cumplimiento_Mensual] @p_contratista, 
    @p_ult_periodo_estado output, 
    @p_ult_periodo_estado_txt output, 
@p_ult_periodo_orden  output, 
@p_ant_periodo_estado output, 
@p_ant_periodo_estado_txt output, 
@p_ant_periodo_orden  output

select    @p_ult_periodo_estado , 
@p_ult_periodo_estado_txt , 
@p_ult_periodo_orden  , 
@p_ant_periodo_estado , 
@p_ant_periodo_estado_txt , 
@p_ant_periodo_orden  

*/

/*
select TOp 2 * from ln_indicadores order by indicador desc
select * from ln_indicadores where etiqueta = 'status'
update LN_indicadores set servicio_contratado = '73' where indicador in (342,343)
select * from ln_contraparte_indicadores where indicador = 286


declare @p_ult_periodo_estado char(1) , 
@p_ult_periodo_estado_txt varchar(20) , 
@p_ult_periodo_orden  int   , 
@p_ant_periodo_estado char(1) , 
@p_ant_periodo_estado_txt varchar(20) , 
@p_ant_periodo_orden  int
exec [LN_Cumplimiento_Mensual]  9170, 
@p_ult_periodo_estado output, 
@p_ult_periodo_estado_txt output, 
@p_ult_periodo_orden  output, 
@p_ant_periodo_estado output, 
@p_ant_periodo_estado_txt output, 
@p_ant_periodo_orden  output
select    @p_ult_periodo_estado , 
@p_ult_periodo_estado_txt , 
@p_ult_periodo_orden  , 
@p_ant_periodo_estado , 
@p_ant_periodo_estado_txt , 
@p_ant_periodo_orden

exec Imperium_vista_contratista_Cumplimiento_Mensual 9170 



*/

CREATE OR ALTER PROCEDUREdbo.LN_Cumplimiento_Mensual 
 @p_contratista int, 
 @p_ult_periodo_estado char(1) output, 
 @p_ult_periodo_estado_txt varchar(20) output, 
 @p_ult_periodo_orden  int output, 
 @p_ant_periodo_estado char(1) output, 
 @p_ant_periodo_estado_txt varchar(20) output, 
 @p_ant_periodo_orden  int output

AS
BEGIN
 SET NOCOUNT ON;

 declare @info table (periodo int, estado_doc char(1), cantidad int, orden int, idx int, fecha date) 
 insert into @info 
 exec Imperium_vista_contratista_Cumplimiento_Mensual @p_contratista 

 declare @ult_periodo_estado char(1)
 declare @ult_periodo_estado_txt varchar(20)
 declare @ult_periodo_orden  int
 declare @ant_periodo_estado char(1) 
 declare @ant_periodo_estado_txt varchar(20) 
 declare @ant_periodo_orden  int 

 select top 1 @ult_periodo_estado = estado_doc, @ult_periodo_orden = orden, 
     @ult_periodo_estado_txt =
      CASE 
   WHEN estado_doc = 'E' THEN 'Vencidos'
   WHEN estado_doc = 'R' THEN 'Rechazados'
   WHEN estado_doc = 'P' THEN 'Verif.Parcial'
   WHEN estado_doc = 'N' THEN 'Pend.Carga'
   WHEN estado_doc = 'I' THEN 'Pend.Verif'
   WHEN estado_doc = 'V' THEN 'En cumplimiento'
   end 
   from @info where periodo = dbo.PeriodoVencido() order by orden
 -- El peor estado de los meses anteriores (orden menor) 
 select top 1 @ant_periodo_estado = estado_doc, @ant_periodo_orden = orden, 
   @ant_periodo_estado_txt =
      CASE 
   WHEN estado_doc = 'E' THEN 'Vencidos'
   WHEN estado_doc = 'R' THEN 'Rechazados'
   WHEN estado_doc = 'P' THEN 'Verif.Parcial'
   WHEN estado_doc = 'N' THEN 'Pend.Carga'
   WHEN estado_doc = 'I' THEN 'Pend.Verif'
   WHEN estado_doc = 'V' THEN 'En cumplimiento'
   end 
   from @info where periodo < dbo.PeriodoVencido() order by orden
 
 set @p_ult_periodo_estado = @ult_periodo_estado
 set @p_ult_periodo_estado_txt = @ult_periodo_estado_txt
 set @p_ult_periodo_orden  = @ult_periodo_orden
 set @p_ant_periodo_estado = @ant_periodo_estado
 set @p_ant_periodo_estado_txt = @ant_periodo_estado_txt
 set @p_ant_periodo_orden  = @ant_periodo_orden

END

GO