CREATE OR REPLACE PROCEDURE sp_fdt_crea_embargo
(
    pch_compania      char,
    pch_trabajador    char,
    psi_concepto      smallint,
    pti_secuencia     smallint,
    pdt_fecha_embargo date,
    pdc_oficina       number,
    pti_clase         smallint,
    pvc_expediente    varchar2,
    pdc_juzgado       number,
    pti_banco         smallint,
    pdc_cuenta        number,
    pti_tipo_id_dem   smallint,
    pdc_id_demandante number,
    pvc_apellidos     varchar2,
    pvc_nombres       varchar2,
    pch_agr_conceptos char,
    psi_cnc_base      smallint,
    pti_quinta_parte  smallint,
    pdc_monto_total   number,
    pdc_porcentaje    number,
    pdc_cuota_fija    number,
    pdc_saldo_actual  number,
    pch_OfOrigen      char,
    pch_OfDestino     char,
    pch_ciudad_pago   char,
    pti_porcentaje_aum number,
    pti_valor_aum     number,
    pti_mes_aum       number,
    pin_anio_desde    number

)
/*********************************************************************/
/*** Modulo:      Módulo Fiscal ADAM V.3 - Embargos                ***/
/*** Descripcion: Crea o Actualiza el embargo para el trabajador   ***/
/*** Autor:	  Juan Carlos Leguizamon                           ***/
/*** Fecha:	  Junio 14 de 2002                                 ***/
/*** Motor:	  Oracle 8i		Version interna: 1.0       ***/
/*********************************************************************/
AS
    vnm_existe number(1);
BEGIN
    vnm_existe := 0;
    BEGIN
        SELECT 1 INTO vnm_existe
        FROM DUAL
        WHERE EXISTS (
            SELECT 1 FROM fdt_embargos
            WHERE compania = pch_compania And 
                  trabajador = pch_trabajador And
                  concepto = psi_concepto And
                  secuencia = pti_secuencia);
    EXCEPTION
        WHEN OTHERS THEN vnm_existe := 0;	
    END;
    IF vnm_existe = 0 THEN
        INSERT INTO fdt_embargos
            (compania,
             trabajador,
             concepto,
             secuencia,
             fecha_alta,
             situacion,
             consecutivo_oficina,
             oficina_origen,
             oficina_destino,
             clase_deposito,
             numero_expediente,
             codigo_juzgado,
             banco,
             cuenta,
             tipo_id_demandante,
             id_demandante,
             apellido_demandante,
             nombre_demandante,
             agr_conceptos_base,
             concepto_base,
             quinta_parte,
             monto_total,
             saldo_actual,
             porcentaje,
             cuota_fija,
             ciudad_pago,
             porcentaje_aumento,
             valor_aumento,
             mes_aumento,
             anio_desde)
        VALUES
            (pch_compania,
             pch_trabajador,
             psi_concepto,
             pti_secuencia,
             pdt_fecha_embargo,
             1,
             pdc_oficina,
             pch_OfOrigen,
             pch_OfDestino,
             pti_clase,
             pvc_expediente,
             pdc_juzgado,
             pti_banco,
             pdc_cuenta,
             pti_tipo_id_dem,
             pdc_id_demandante,
             pvc_apellidos,
             pvc_nombres,
             pch_agr_conceptos,
             psi_cnc_base,
             pti_quinta_parte,
             pdc_monto_total,
             pdc_monto_total,
             pdc_porcentaje,
             pdc_cuota_fija,
             pch_ciudad_pago,
             pti_porcentaje_aum,
             pti_valor_aum,
             pti_mes_aum,
             pin_anio_desde);
    ELSE
        UPDATE fdt_embargos
        SET  fecha_alta = pdt_fecha_embargo,
             consecutivo_oficina = pdc_oficina,
             clase_deposito = pti_clase,
             numero_expediente = pvc_expediente,
             codigo_juzgado = pdc_juzgado,
             banco = pti_banco,
             cuenta = pdc_cuenta,
             tipo_id_demandante = pti_tipo_id_dem,
             id_demandante = pdc_id_demandante,
             apellido_demandante = pvc_apellidos,
             nombre_demandante = pvc_nombres,
             agr_conceptos_base = pch_agr_conceptos,
             concepto_base = psi_cnc_base,
             quinta_parte = pti_quinta_parte, 
             monto_total = pdc_monto_total,
             porcentaje = pdc_porcentaje,
             cuota_fija = pdc_cuota_fija,
             saldo_actual = pdc_saldo_Actual,
             oficina_origen = pch_OfOrigen,
             oficina_destino = pch_OfDestino,
             ciudad_pago = pch_ciudad_pago,
             porcentaje_aumento = pti_porcentaje_aum,
             valor_aumento = pti_valor_aum,
             mes_aumento = pti_mes_aum,
             anio_desde = pin_anio_desde
        WHERE
            compania = pch_compania And
            trabajador = pch_trabajador And
            concepto = psi_concepto And
            secuencia = pti_secuencia;
    END IF;

    COMMIT WORK;

END;
/
CREATE PUBLIC SYNONYM sp_fdt_crea_embargo FOR ADAM.sp_fdt_crea_embargo;
GRANT EXECUTE ON sp_fdt_crea_embargo TO adama;
