IF OBJECT_ID('dbo.sp_fco_cambio_ala_datos_adi') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_cambio_ala_datos_adi
GO
CREATE PROCEDURE dbo.sp_fco_cambio_ala_datos_adi
(  
    @psy_tabla  sysname,  
    @pti_sgss   tinyint,  
    @pvc_cod_adm  varchar(10),  
    @pvc_cod_suc  varchar(10),  
    @pti_item  tinyint,  
    @pvc_referencia varchar(20),  
    @pdc_valor_1 decimal(12,2),  
    @pdc_valor_2  decimal(12,2),  
    @pdc_valor_3 decimal(12,2)  
)  
AS  
BEGIN  
   DECLARE @w_item tinyint  
   SET @w_item = IsNull(@pti_item, 0)  
  
   IF EXISTS(
        SELECT 1 FROM fco_ala_datos_adi  
        WHERE tabla = @psy_tabla 
          AND sgss = @pti_sgss 
          AND cod_adm = @pvc_cod_adm
          AND cod_suc = @pvc_cod_suc 
          AND item = @w_item)  
  
        UPDATE fco_ala_datos_adi  
        SET referencia = @pvc_referencia, 
            valor_1 = @pdc_valor_1,   
            valor_2 = @pdc_valor_2, 
            valor_3 = @pdc_valor_3  
        WHERE tabla = @psy_tabla 
          AND sgss = @pti_sgss 
          AND cod_adm = @pvc_cod_adm 
          AND cod_suc = @pvc_cod_suc 
          AND item = @w_item   
   ELSE  
     INSERT INTO fco_ala_datos_adi 
     VALUES 
    (@psy_tabla, @pti_sgss, @pvc_cod_adm, @pvc_cod_suc, @w_item, 
     @pvc_referencia, @pdc_valor_1, @pdc_valor_2, @pdc_valor_3)  
END  
GO
GRANT EXECUTE ON sp_fco_cambio_ala_datos_adi TO PUBLIC
GO

