Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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).
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;
Alguém sabe?
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;