IF OBJECT_ID('dbo.fntb_acum_mes_agr') IS NOT NULL
    DROP FUNCTION dbo.fntb_acum_mes_agr
GO
CREATE FUNCTION dbo.fntb_acum_mes_agr
(
    @pch_compania char(4),
    @pch_agr_conceptos char(3),
    @psi_anio smallint,
    @pti_mes tinyint
)
/*********************************************/      
/*
 Organizacion: Data Tecnologia Ltda.   
 Descripcion:  
    Devuelve trabajador, importe y tiempo, para la compañía, agrupación de conceptos, año y mes dados 
 Autor: Juan Carlos Leguizamon  
 Fecha: Octubre de 2003         
 Historial de Revisiones:              
-- Optimización Junio 22/05
*/
/*********************************************/      
RETURNS TABLE
AS
RETURN 
(
    SELECT 
        trabajador, 
        importe = 
        CASE WHEN @pti_mes = 1  THEN acum_imp_mes_01
             WHEN @pti_mes = 2  THEN acum_imp_mes_02
             WHEN @pti_mes = 3  THEN acum_imp_mes_03
             WHEN @pti_mes = 4  THEN acum_imp_mes_04
             WHEN @pti_mes = 5  THEN acum_imp_mes_05
             WHEN @pti_mes = 6  THEN acum_imp_mes_06
             WHEN @pti_mes = 7  THEN acum_imp_mes_07
             WHEN @pti_mes = 8  THEN acum_imp_mes_08
             WHEN @pti_mes = 9  THEN acum_imp_mes_09
             WHEN @pti_mes = 10 THEN acum_imp_mes_10
             WHEN @pti_mes = 11 THEN acum_imp_mes_11
             WHEN @pti_mes = 12 THEN acum_imp_mes_12
        END, 
        tiempo =
        CASE WHEN @pti_mes = 1  THEN acum_tie_mes_01
             WHEN @pti_mes = 2  THEN acum_tie_mes_02
             WHEN @pti_mes = 3  THEN acum_tie_mes_03
             WHEN @pti_mes = 4  THEN acum_tie_mes_04
             WHEN @pti_mes = 5  THEN acum_tie_mes_05
             WHEN @pti_mes = 6  THEN acum_tie_mes_06
             WHEN @pti_mes = 7  THEN acum_tie_mes_07
             WHEN @pti_mes = 8  THEN acum_tie_mes_08
             WHEN @pti_mes = 9  THEN acum_tie_mes_09
             WHEN @pti_mes = 10 THEN acum_tie_mes_10
             WHEN @pti_mes = 11 THEN acum_tie_mes_11
             WHEN @pti_mes = 12 THEN acum_tie_mes_12
        END
    FROM 
        acumulados_mensuales
    WHERE 
        compania = @pch_compania AND
        agr_conceptos = @pch_agr_conceptos AND
        anio = @psi_anio
)
GO
GRANT SELECT ON fntb_acum_mes_agr TO PUBLIC
GO
