BEGIN
   DECLARE
      V_COUNT NUMBER;
   BEGIN
      V_COUNT := 0;
      BEGIN
         SELECT COUNT(*)
           INTO V_COUNT
           FROM DEMONSAUX
          WHERE NMDEMO = 'Demons.Mutacoes do Patrimonio Liquido(DMPL)'
            AND IDTIPO = 'P';
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_COUNT := 0;
      END;
      IF V_COUNT = 0 THEN
         INSERT INTO DEMONSAUX
            (CDDEMO, NMDEMO, IDTIPO)
         VALUES
            ('02', 'Demons.Mutacoes do Patrimonio Liquido(DMPL)', 'P');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','0','Saldo em [ANOI] como previamente divulgado','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','50','Impacto da Retificacao de Erros','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','100','Saldo Reapresentado em [ANOI]','S','S','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','150','Resultado Abrangente do Exercicio','S','S','S');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','200','Lucro Liquido do Exercicio','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','250','Outros Resultados Abrangentes do Exercicio','S','S','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','300','Total de Resultados Abrangentes do Exercicio - Liquido de Impostos','S','S','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','350','Transacoes com Acionistas e Constituicao de Reservas','S','S','S');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','400','Constituicao de Reserva Legal','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','450','Retencao de Lucros','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','500','Acoes Proprias Adquiridas','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','550','Dividendos e Juros sobre o Capital Proprio','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','600','Transacoes com Pagamento Baseado em Acoes','S','N','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','650','Total das Transacoes com Acionistas e Constituicao de Reservas','S','S','N');
         INSERT INTO ITDEMONSAUX
           (CDDEMO,NRORDEM,NMITDEMO,IDTIPO,IDNEGRITO,IDDESTAQUE)
         VALUES
           ('02','700','Saldo Reapresentado em [ANOF]','S','S','N');


      END IF;
   END
   COMMIT;
END;
/

ALTER TABLE CONTADEMONSAUX ADD IDTIPO VARCHAR2(02) NULL
/

ALTER TABLE CONTADEMONSAUX ADD CONSTRAINT CKC_CONTADEMONSAUX_IDTIPO CHECK (IDTIPO IN (NULL,'CS','RC','RL','AT','AP','LA'))
/

ALTER TABLE LANCDEMONSAUX ADD IDTIPO VARCHAR2(02) NULL
/

ALTER TABLE LANCDEMONSAUX ADD CONSTRAINT CKC_LANCDEMONSAUX_IDTIPO CHECK (IDTIPO IN (NULL,'CS','RC','RL','AT','AP','LA'))

/