create or replace PROCEDURE FCT_ENCERRA_CONTRATO(
    P_NRSEQCONTRATO    IN INTEGER,
    P_OPERADOR      IN VARCHAR2,
    P_NRORG         IN INTEGER)
AS
BEGIN

   /* 1 - Encerra o Contrato */

   UPDATE FCT_CONTRATO
   SET IDSITUACAOCONTRATO = 'E',
       DTULTATU = SYSDATE,
       NRORGULTATU = P_NRORG,
       CDOPERULTATU = P_OPERADOR,
       IDATIVO = 'N'
   WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
     AND NRORG = P_NRORG;

  /* 2 - Deleta as parcelas de faturamento  */

   FCT_CANC_VENCPREV_CONT(P_NRORG, P_NRSEQCONTRATO);

  /* 2 - Inativa a parametrização de faturamento do Contrato */

   UPDATE FCT_PARAMFATCONT
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;

  /* 3 - Inativa os itens e Adicionais do Contrato */

   UPDATE FCT_ITEMCONTRATO
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;


  /* 4 - Inativa a parametrização de faturamento dos itens do Contrato */

     UPDATE FCT_PARAMFATITCONT
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;

  /* 5 - Inativa os documentos do Contrato */

   UPDATE FCT_CONTRATODOC
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;

  /* 6 - Inativa as parametrizações de Reajuste do Contrato */

   UPDATE FCT_REAJUSTCONTR
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;

  /* 7 - Inativa os indices das parametrizações de Reajuste do Contrato */

   UPDATE FCT_INDICECONTR
      SET DTULTATU = SYSDATE,
          NRORGULTATU = P_NRORG,
          CDOPERULTATU = P_OPERADOR,
          IDATIVO = 'N'
    WHERE NRSEQCONTRATO = P_NRSEQCONTRATO
      AND NRORG = P_NRORG;

END;