CREATE OR REPLACE PROCEDURE sp_fdt_aum_embargos_ns
(
    pch_compania      char,
    psi_id_calendario number
)
/*********************************************************************/
/*** Modulo:      Módulo Fiscal Colombiano - Embargos              ***/
/*** Descripcion: aumenta cuota fija de embargos                   ***/
/*** Autor:	  Laura A. Guzman M                                    ***/
/*** Fecha:	  Junio 29 de 2006                                     ***/
/*** Motor:	  SQL Server 2000	Version interna: 1.00              ***/
/*********************************************************************/
AS
    vch_tipo_nom    char(2);
    vsi_anio        number(4);
    vsi_periodo     number(3);
    vsi_mes         number(2);

BEGIN
    SELECT tipo_nomina, anio, periodo, mes_acumular
    INTO vch_tipo_nom, vsi_anio, vsi_periodo, vsi_mes
    FROM calendario_procesos
    WHERE id_calendario = psi_id_calendario;


    INSERT INTO fdt_hist_aum_emb (compania, trabajador, concepto, secuencia, id_calendario,
      cuota_anterior, cuota_nueva, porcentaje_aum, valor_aum, tipo_nomina, anio, periodo)
    SELECT pch_compania, a.trabajador, a.concepto, a.secuencia, psi_id_calendario, a.cuota_fija, 
    a.cuota_fija + (a.cuota_fija * (To_Number(b.dato) / 100)),
    To_Number(b.dato), 0, vch_tipo_nom, vsi_anio, vsi_periodo
    FROM fdt_embargos a, fdt_parametros b
    WHERE a.compania = b.compania
    AND b.secuencia = a.porcentaje_aumento
    AND a.compania = pch_compania
    AND a.situacion = 1
    AND a.porcentaje_aumento = b.secuencia
    AND b.parametro = 'otros'
    AND NVL(a.porcentaje_aumento,0) > 0
    AND a.mes_aumento = vsi_mes
    AND a.anio_desde >= vsi_anio;


    INSERT INTO fdt_hist_aum_emb (compania, trabajador, concepto, secuencia, id_calendario,
      cuota_anterior, cuota_nueva, porcentaje_aum, valor_aum, tipo_nomina, anio, periodo)
    SELECT pch_compania, a.trabajador, a.concepto, a.secuencia, psi_id_calendario, a.cuota_fija, a.cuota_fija + a.valor_aumento,
    0, a.valor_aumento, vch_tipo_nom, vsi_anio, vsi_periodo
    FROM fdt_embargos a, fdt_parametros b
    WHERE a.compania = b.compania
    AND b.secuencia = a.porcentaje_aumento
    AND a.compania = pch_compania
    AND a.situacion = 1
    AND a.porcentaje_aumento = b.secuencia
    AND b.parametro = 'otros'
    AND NVL(a.valor_aumento,0) > 0
    AND a.mes_aumento = vsi_mes
    AND a.anio_desde >= vsi_anio;

    UPDATE
        fdt_embargos
    SET
        cuota_fija = 
       (SELECT cuota_nueva FROM fdt_hist_aum_emb a
        WHERE a.compania = fdt_embargos.compania And
        a.trabajador = fdt_embargos.trabajador And
        a.concepto = fdt_embargos.concepto And
        a.secuencia = fdt_embargos.secuencia And
        a.id_calendario = psi_id_calendario)
    WHERE 
        situacion = 1 and exists
     (SELECT 1 FROM fdt_hist_aum_emb a
        WHERE a.compania = fdt_embargos.compania And
        a.trabajador = fdt_embargos.trabajador And
        a.concepto = fdt_embargos.concepto And
        a.secuencia = fdt_embargos.secuencia And
        a.id_calendario = psi_id_calendario);

    COMMIT;

END;
/
GRANT EXECUTE ON sp_fdt_aum_embargos_ns TO ADAMA;
CREATE PUBLIC SYNONYM sp_fdt_aum_embargos_ns FOR ADAM.sp_fdt_aum_embargos_ns;
