Por que a migração de dados concentra risco de cronograma; objetos de migração e critério de corte; ferramentas de carga do SAP; anatomia do template de migração.
Dimensões de qualidade; medidas de perfilagem; conformidade técnica dos campos; domínios de configuração, duplicidade e integridade referencial.
Ingestão da planilha legada com múltiplas abas, transformações canônicas, quarentena dos registros rejeitados e emissão do arquivo de carga.
Reconciliação por totais de controle; ensaios de carga; tratamento de erros e reexecução; governança dos dados e proteção de dados pessoais.
Objetivo de aprendizagem: ao final da aula o estudante deve ser capaz de perfilar uma base legada em planilha, especificar e aplicar em Python as regras de limpeza, padronização e validação exigidas pelo objeto de migração do SAP, e emitir o arquivo de carga acompanhado do relatório de exceções e da reconciliação de totais.
A migração constitui trabalho de análise de dados, iniciado antes da virada, que produz três artefatos verificáveis: o arquivo de carga, o relatório de exceções e a reconciliação de totais. A ausência de qualquer um deles impede afirmar que a carga foi bem-sucedida.
Executadas fora do SAP, sobre o extrato do sistema legado. Produzem o diagnóstico quantitativo da base.
Objeto desta aula. Implementadas como código versionado e reexecutável.
Executadas no ambiente de destino. Devolvem exceções que realimentam a etapa 3.
Migram-se os registros ativos. Cadastro sem movimento no período definido é candidato a descarte, com decisão registrada.
Migram-se as posições em aberto; o histórico completo permanece consultável no sistema legado ou em repositório analítico.
O escopo é decisão de negócio com consequência técnica direta: cada objeto adicionado ao escopo acrescenta um ciclo completo de perfilagem, transformação, ensaio e reconciliação. A ampliação de escopo sem revisão de cronograma é causa frequente de atraso no cutover.
| Recurso | Uso previsto | Entrada esperada |
|---|---|---|
| Migration Cockpit Migrate Your Data | Instrumento padrão de migração no S/4HANA, com objetos pré-configurados por área. | Planilha no modelo publicado pelo próprio objeto, ou tabelas de preparação alimentadas por carga externa. |
| BAPI e interfaces de serviço | Cargas recorrentes ou integração contínua com sistema externo. | Estrutura de parâmetros da interface, alimentada por programa. |
| IDoc | Troca assíncrona de documentos entre sistemas. | Mensagem estruturada com segmentos e campos definidos. |
| Entrada manual assistida | Volumes residuais e cadastros de exceção. | Digitação com conferência dupla. |
Qualquer que seja o instrumento, o requisito para esta aula é o mesmo: entregar um conjunto de registros que satisfaça, antes da carga, as regras de formato, de domínio e de dependência do objeto de destino. O trabalho de preparação é independente da ferramenta escolhida.
Verificação obrigatória no projeto: confirmar, com o parceiro, a versão do produto e o instrumento de carga homologado antes de definir o layout de saída. O modelo de planilha varia entre versões e entre modos de implantação.
O número da linha em que os dados começam varia conforme a versão do modelo. Localize-a programaticamente pela linha que contém os nomes técnicos dos campos, em vez de fixar um valor no código.
| Dimensão | Pergunta que responde | Verificação no caso da distribuidora |
|---|---|---|
| Completude | Os campos obrigatórios estão preenchidos? | Material sem unidade de medida básica. |
| Unicidade | Cada objeto do mundo real aparece uma única vez? | Mesmo material cadastrado com dois códigos. |
| Validade | O valor pertence ao domínio admitido? | Grupo de mercadorias inexistente na configuração. |
| Consistência | Os valores concordam entre si e entre fontes? | Peso bruto inferior ao peso líquido. |
| Acurácia | O valor corresponde ao fato do mundo real? | Estoque divergente da contagem física. |
| Integridade referencial | As referências apontam para registros existentes? | Estoque em centro ainda não cadastrado. |
Completude, unicidade, validade, consistência e integridade referencial são verificáveis por código sobre a própria base. A acurácia exige confronto com a realidade — inventário físico, confirmação com o cliente, extrato bancário — e não é decidível na planilha.
0, -1, N/A.A perfilagem antecede a limpeza. Transformações escritas antes da medição tendem a tratar defeitos presumidos e a omitir os efetivamente presentes.
| Aspecto | Exigência do destino | Defeito típico do extrato legado |
|---|---|---|
| Código com zeros à esquerda | Alinhamento à direita com preenchimento de zeros até o comprimento do campo, para valores puramente numéricos. | A planilha converteu o código em número e eliminou os zeros iniciais. |
| Data | Armazenamento no formato ano-mês-dia, sem separadores, em campo de data. | Mistura de dd/mm/aaaa, texto livre e número serial de planilha. |
| Decimal | Separador decimal conforme o formato declarado pelo modelo de carga. | Milhar com ponto e decimal com vírgula, no padrão brasileiro. |
| Unidade de medida | Código constante da tabela de unidades, no idioma de manutenção. | UN, un, PÇ, peça e PC designando a mesma unidade. |
| Texto | Comprimento máximo por campo; maiúsculas em campos de chave. | Descrição excedente e espaços duplicados internos. |
Estrutura mínima de cada linha do mapeamento:
| Origem | Destino | Observação |
|---|---|---|
UN, un, PÇ, peça | PC | Unidade discreta. |
KG, Kg, quilo | KG | Massa. |
CX12 | CX | Exige fator de conversão declarado. |
—, vazio | rejeitar | Sem valor padrão admissível. |
O mapeamento constitui dado de projeto, versionado junto ao código e mantido fora do corpo do notebook. Valor de origem ausente da tabela deve produzir exceção explícita: atribuição silenciosa de padrão introduz erro que só se manifesta em produção.
Coincidência da chave natural após normalização: código, documento fiscal do cliente, par material e centro.
Descrições equivalentes após remoção de acentos, pontuação e espaços redundantes; comparação por similaridade textual.
Escolha do registro que permanece, com critério declarado: maior completude, movimentação mais recente ou decisão do dono do dado.
A tabela de correspondência entre o código descartado e o código mantido é artefato permanente do projeto: documentos históricos, integrações e relatórios do legado continuam a referenciar o código antigo. Sem essa tabela, a rastreabilidade entre os dois sistemas se perde de forma irreversível.
A validação de integridade referencial de um objeto exige a lista de chaves efetivamente carregadas do objeto antecedente, única a refletir o que existe no ambiente.
Falha na carga de um objeto antecedente bloqueia todos os dependentes. O ensaio de carga percorre a sequência completa justamente para expor esse encadeamento antes do cutover.
dtype=strSem essa instrução, o código 0012345 é lido como o número 12345 e a informação de preenchimento é perdida de forma irrecuperável a partir do extrato.
keep_default_na=FalseConversões automáticas de NA e N/A em nulo apagam a distinção entre campo não preenchido e campo preenchido com sentinela — distinção que a perfilagem precisa medir.
A tabela de perfil é entregue também ao dono do dado e fundamenta em números a discussão sobre qualidade: quantos registros sem unidade, quantas descrições acima do comprimento admitido, quantos códigos repetidos.
Cada função recebe um valor e devolve um valor, sem depender do DataFrame. Essa separação permite verificar a regra com poucos casos de teste — inclusive os de fronteira — antes de aplicá-la a toda a base.
A duplicidade é propriedade do conjunto de registros e, por isso, é avaliada à parte, com duplicated. O material traz a validação completa, incluindo pesos, data e o objeto dependente.
O nome do arquivo identifica o objeto e o ensaio. Arquivos de ensaios sucessivos são preservados: a comparação entre eles demonstra a evolução da qualidade da base e sustenta a decisão de autorizar o cutover.
| Ensaio | Propósito | Critério de saída |
|---|---|---|
| Primeiro ensaio | Validar o formato do arquivo e expor os defeitos estruturais da base. | Arquivo aceito pelo instrumento de carga; perfil de erros quantificado. |
| Segundo ensaio | Verificar a eficácia das correções e a integridade entre objetos. | Taxa de rejeição dentro do limite acordado; reconciliação fechada nos objetos principais. |
| Ensaio final | Reproduzir o procedimento e medir a duração de cada etapa. | Janela de execução compatível com a acordada; plano de retorno testado. |
| Cutover | Executar a carga com o extrato da data de corte. | Reconciliação assinada pelo dono do dado; autorização de entrada em operação. |
A partir da segunda execução, mede-se, além da qualidade dos dados, a duração de cada etapa. A janela de cutover é finita e frequentemente noturna; etapa sem duração medida constitui risco não dimensionado.
dtype=str e produzir a tabela de perfilagem.Entrega: notebook no Google Colab com acesso concedido ao professor, mais os dois arquivos gerados. O trabalho é insumo direto da aula de testes e cutover no contexto de sistemas empresariais.
Análise e Carga de Dados · 18/08/2026 · Prof. Afonso
Ao final do encontro, o estudante deve ser capaz de perfilar uma base legada em planilha, especificar e aplicar em Python as regras de limpeza, padronização e validação exigidas pelo objeto de migração do SAP, e emitir o arquivo de carga acompanhado do relatório de exceções e da reconciliação de totais.
Exposição dialogada em quatro blocos, cada um seguido da execução imediata do trecho correspondente do notebook no Google Colab sobre uma base legada com defeitos conhecidos; o encontro encerra com a produção, por grupo, do arquivo de carga e do relatório de exceções do objeto de migração escolhido no projeto do parceiro.