Herdei um ambiente que extrai dados de um ERP do Dynamics AX 2012 para um data warehouse para geração de relatórios. A extração original configurada pelos consultores não incluiu a coluna de data adequada necessária para a contabilidade. Eu realizei o seguinte:
- Criou a coluna nas tabelas de preparo e nas tabelas de destino
- abriu os pacotes no Visual Studio e descobriu que cada arquivo de pacote usa a mesma variável User::vSQLBase e contém a consulta que extrai todas as colunas da tabela necessárias no Dynamics AX. Eu alterei essa variável para incluir a coluna de data.
- Salvei minhas alterações e implantei toda a solução de volta no data warehouse.
- Executou o trabalho no SQL Server, mas nenhuma das colunas foi preenchida.
Eu tive um erro aparecer na depuração do Visual Studio quando testei a execução do pacote.
Aviso: 0x800470C8 em carga incremental, leitura delta [26]: as colunas externas para leitura delta estão fora de sincronização com as colunas da fonte de dados. A coluna "Data do Documento" precisa ser adicionada às colunas externas.
Entrei em contato com o consultor que respondeu com "a nova coluna não está mapeada para a tabela de preparo no pacote, esteja ciente de que tanto a carga completa quanto a carga incremental precisam do mesmo mapeamento. e uma carga completa é obrigatória, pois esta é uma nova coluna ". Também não consigo entrar em contato com o consultor devido a limitações de orçamento. O que está faltando para obter a coluna para a tabela de preparo?
Além de adicionar a nova coluna à variável User::vSQLBase, você precisa abrir o fluxo de dados para a tabela de preparo que está sendo carregada. Edite a fonte e clique em Colunas, verifique se você vê a nova coluna, clique em OK. Em seguida, edite o Destino e clique em Mapeamentos - e certifique-se de que a nova coluna da origem esteja apontando para a coluna direita na tabela de preparação. Isso fará o novo mapeamento de coluna que o consultor estava falando. Você precisará certificar-se de que o mapeamento seja atualizado para o que quer que mova os dados da preparação para a tabela de destino também. Em seguida, salve e implante novamente.
Um carregamento incremental só preenche dados novos ou alterados desde a última execução bem-sucedida. Você se importa com o fato de a nova coluna ser preenchida no destino apenas daqui para frente? Ou é importante que esses dados existam também em registros importados anteriormente? Para um sistema de contabilidade, acho que você deseja que a nova coluna seja preenchida para todos os registros da tabela. Nesse caso, concordo com seu consultor que uma carga completa é necessária.
Descobrimos que, depois de conversarmos pessoalmente com um consultor, descobrimos que as tabelas de preparo em questão estavam localizadas em um banco de dados adicional desconhecido para mim. Depois de atualizar as tabelas e procedimentos armazenados nesse banco de dados, consegui implantar e preencher a coluna.