1 Reply Latest reply: Jul 21, 2016 6:35 PM by Alessandro Furtado RSS

    Carga de dados

    Diego Morelli

      Pessoal, seguindo meu projeto estou com uma incógnita.

       

      Tenho uma tabela chamada crcdocto e nessa tabela utilizo a CODDOCTOCRCe CODDOCTOCRCSUBST.

       

      Na tabela CODDOCTOCRC estão todos os boletos que preciso buscar, e na tabela CODDOCTOCRCSUBST. estão os boletos que foram gerados para substituir alguns boletos vencidos da tabela CODDOCTOCRC.

       

      Porém se eu eu fizer a carga da forma que estou fazendo estou tratando todos os boletos como aberto, o que é incorreto.

      O boleto de substituição já pode ter sido pago, ficando assim com seu status de baixado e os boletos que estavam na tabela CODDOCTOCRC continuam como aberto, já que eles foram associados a um novo boleto de substituição.

       

      O que reparei que vou ter na tabela CODDOCTOCRC o codigo do boleto, e na CODDOCTOCRCSUBST. um novo codigo de boleto, porém ele gera um vinculo do boleto da CODDOCTOCRC com o CODDOCTOCRCSUBST..

       

      Como poderia fazer a carga respeitando os boletos que estão em aberto sem o boleto de substituição e também fazer a carga dos boletos de substituição desconsiderando os que estão associados a ele?

       

       

      Segue em anexo um exemplo, no caso foi uma consulta no meu banco oracle.

       

      Obrigado.

        • Re: Carga de dados
          Alessandro Furtado

          Diego,

           

          você pode usar o Where not Exists()

           

          Boleto:

          LOAD * From CODDOCTOCRCSUBST

          concatenate

          LOAD * From CODDOCTOCRC  Where not Exists( CODDOCTOCRCSUBST, CODDOCTOCRC )

           

          Nao sei se entendi certo as regras, mas no exemplo acima estou lendo todos os registros da tabela CODDOCTOCRCSUBST.


          Depois leio os da tabela CODDOCTOCRC. Mas neste caso, somente leio os registros que não tenham o código do boleto lido antes com o campo CODDOCTOCRCSUBST.