2 Replies Latest reply: Jun 30, 2017 3:20 PM by Yuri Nicolett RSS

    Definir data no QVD que vem de Procedure

    Marcel Vinicius de Oliveira

      Boa tarde amigos,

       

      Estou com um grande problema que não sei como resolver.

      Estou gerando um arquivo QVD através de um procedure disponibilizada pelo cliente:

      MovimentoEstoque:

      //EXECUTE dbo.GetMovimentoEstoque @Empresa, @Estabelecimento, @DtInicio, @DtFim*

      SQl Execute dbo.GetMovimentoEstoque '1', '1', '$(vrDataIni)','$(vrDataFim)';

      GetMovimentoEstoque:

      SQL SELECT * FROM ##GetMovimentoEstoque;


      Store GetMovimentoEstoque into [lib://itens/movimentoestoque.qvd

      ----------------------------------------------------------------------------------------------------------------

      Até aqui tudo bem esta funcionando.

      Porém preciso que os meses fiquem salvos (movimentoestoque de JAN, FEV,MAR (...) DEZ)

      É no momento de fazer a carga ou no momento de fazer o LOAD? (Pois estou lendo toda a informação direta do QVD).

      Tenho que criar cargas todos os meses?

      A minha variável de inicio e fim estão assim:

      vrDataIni  = Date(MakeDate(Year(Today()),01,01),'YYYY/MM/DD');

      vrDataFim  = Date(MakeDate(Year(Today()),12,31),'YYYY/MM/DD');

       

      Estão de forma errada? (Assim esta pegando o ano inteiro e salvando novamente no QVD - sem carga incremental, quero pegar as informações somente do mês).

        • Re: Definir data no QVD que vem de Procedure
          Yuri Nicolett

          Marcel, não esta da forma errada. Na verdade o errado é relativo, rsrs. Depende muito do que deseja fazer.

          Um incremental ideal depende muito de como sua tabela é atualizada, as vezes a janela de atualização de uma tabela é de 6 meses, então a carga incremental mensal não funcionará.

           

          Se quiser fazer utilizando o mês, faça as variáveis da seguinte forma:

           

          LET vrDataIni  = Date(MonthStart(Today()),'YYYY/MM/DD');

          LET vrDataFim  = Date(MonthEnd(Today()),'YYYY/MM/DD');

          LET vrMes = Date(MonthStart(Today()), 'DD/MM/YYYY'));

          LET vrMesQvd = Date(MonthStart(Today()), 'YYYYMM'));

           

          SQl Execute dbo.GetMovimentoEstoque '1', '1', '$(vrDataIni)','$(vrDataFim)';

          GetMovimentoEstoque:

          LOAD

          *,

          '$(vrMes)' as Mes;

          SQL SELECT * FROM ##GetMovimentoEstoque;

           

          Store GetMovimentoEstoque into [lib://itens/movimentoestoque_$(vrMesQvd).qvd] (qvd);

          DROP TABLE GetMovimentoEstoque;