Segundo encontro do módulo no eixo de Computação. A Aula 1 estabeleceu as regras que governam a operação e o ponto em que cada uma deve ser implementada. Esta aula trata do insumo sem o qual regra alguma pode ser exercida: os dados que alimentam o sistema de gestão.
O encontro é predominantemente prático. Os grupos constroem, no Google Colab, o notebook que perfila a base legada, aplica as regras de transformação, separa os registros rejeitados e emite o arquivo de carga com a reconciliação. O produto é insumo direto da Aula 3 (gestão de configuração e escopo) e da Aula 4 (testes e cutover).
Identificação
Os horários indicados no cronograma seguem a grade padrão do turno da tarde. Confirme o horário da turma antes do encontro e ajuste as faixas proporcionalmente; as durações de cada bloco orientam a condução.
Resumo
A migração de dados é tratada, com frequência, como tarefa de infraestrutura executada na virada para o sistema novo. Essa leitura é a origem de boa parte dos atrasos observados em implantação: a carga em si é breve, mas o trabalho que a viabiliza — extrair, medir, corrigir, mapear e validar — é análise de dados, consome semanas e depende de decisões que somente a área de negócio pode tomar.
O encontro percorre quatro blocos. O primeiro situa a migração no ciclo do projeto, define objeto de migração, distingue dados mestres de transacionais, estabelece o critério de corte e apresenta as ferramentas de carga do SAP e a anatomia do modelo de planilha publicado pelo objeto. O segundo trata de qualidade: dimensões verificáveis por código, medidas de perfilagem, conformidade técnica dos campos — códigos com zeros à esquerda, datas, decimais, unidades e comprimento —, mapeamento de-para de domínios, duplicidade e sequência de carga. O terceiro é laboratório conduzido no Google Colab, com a base legada da distribuidora: ingestão preservando o texto original, perfilagem, transformações escritas como funções verificadas por asserção, validação com quarentena e emissão do arquivo. O quarto trata de aceite: reconciliação por totais de controle, ensaios de carga, cutover e governança dos dados, inclusive a proteção de dados pessoais nos extratos intermediários.
Ao final do encontro, cada grupo possui um notebook executável de ponta a ponta, com os três artefatos que caracterizam uma carga bem-sucedida: arquivo de carga, relatório de exceções e reconciliação.
Objetivos de aprendizagem
- OA-1Situar a migração de dados no ciclo do projeto de implantação e distinguir objetos de dados mestres de objetos transacionais, declarando o critério de corte aplicável a cada um.
- OA-2Perfilar uma base legada em planilha, quantificando completude, cardinalidade, conformidade de padrão, duplicidade e registros órfãos.
- OA-3Aplicar em Python as regras de conformidade técnica exigidas pelo destino: preenchimento de código com zeros à esquerda, conversão de data, conversão de decimal no padrão brasileiro e normalização de texto sem truncamento silencioso.
- OA-4Especificar tabela de mapeamento de-para para campo de domínio, declarando o tratamento previsto para o valor de origem não mapeado.
- OA-5Validar registro a registro e separar em quarentena os reprovados, com motivo legível por quem não escreveu o código, verificando por asserção que nenhum registro se perde entre a leitura e a saída.
- OA-6Emitir o arquivo de carga a partir do modelo do objeto de migração e produzir a reconciliação de contagens e somatórios entre origem e destino.
- OA-7Justificar a sequência de carga de objetos dependentes e identificar, no próprio resultado, a propagação da rejeição do objeto antecedente sobre o dependente.
Pré-requisitos
- Leitura integral do material da Aula 2, com atenção às seções 6 a 11 (qualidade, perfilagem, conformidade, domínios, duplicidade e dependência).
- Conta Google ativa, com acesso ao Google Colab testado antes do encontro.
- Noções de Python em nível de manipulação de listas, dicionários e funções. Não se pressupõe experiência prévia com
pandas. - Catálogo de regras produzido na Aula 1, para confronto entre as regras de derivação e os dados efetivamente disponíveis na base.
- Extrato do sistema legado do parceiro, quando já disponível, em planilha com pelo menos duas abas relacionadas.
Grupo que ainda não disponha do extrato real conduz o encontro sobre a base sintética da distribuidora, gerada pela própria célula 2 do notebook e contendo os defeitos discutidos no material. A troca pelo extrato real afeta apenas essa célula; o restante do notebook permanece inalterado.
Cronograma do dia
📚 Bloco 1 · Autoestudo
10h00 — 12h00Estudo individual orientado pelo material da Aula 2.
- Ler o material, com destaque para as dimensões de qualidade (seção 6) e a conformidade técnica dos campos (seção 8).
- Abrir o Colab, criar o notebook do grupo e executar as células 1 e 2, confirmando que a base do caso é gerada sem erro.
- Registrar no caderno de bordo qual objeto de migração o grupo pretende tratar no projeto e por que ele é o mais crítico para o parceiro.
🍴 Intervalo · Almoço
12h00 — 14h00Janela livre.
🎓 Bloco 2 · Instrução — Encontro com o professor
14h00 — 16h30Encontro síncrono em formato de laboratório conduzido. Dois blocos expositivos com aplicação imediata, um bloco de prática guiada no Colab e um bloco de fechamento sobre aceite e governança. Detalhamento na seção seguinte.
🛠️ Bloco 3 · Desenvolvimento do projeto
16h30 — 18h00Janela de trabalho da equipe.
- Substituir a base sintética pelo extrato real do parceiro, mantendo o restante do notebook inalterado.
- Completar a tabela de-para dos campos de domínio e levar ao parceiro os valores sem correspondência definida.
- Registrar o notebook e as tabelas de mapeamento no repositório do grupo, versionados com o restante da documentação.
Detalhamento da instrução (14h00 — 16h30)
14h10
Retomada e enunciado do objetivo
Retomada do catálogo de regras da Aula 1, com uma pergunta dirigida: as regras de derivação catalogadas podem ser calculadas com os dados que o parceiro efetivamente possui? Cada grupo relata em um minuto o objeto de migração que escolheu e por quê. Os relatos são registrados no quadro e retomados no bloco de aplicação.
14h30
Bloco 1 · Migração na implantação
Onde a implantação atrasa e por que a carga concentra risco de cronograma. O ciclo de sete etapas e sua natureza iterativa. Objetos de migração: dados mestres e transacionais, critério de corte e consequência do escopo sobre o prazo. Ferramentas de carga do SAP e o que cada uma exige como entrada. Anatomia do modelo de planilha publicado pelo objeto de migração.
14h40
Escopo e critério de corte do caso do parceiro
Cada grupo declara, para o objeto escolhido na abertura: o critério de corte que aplicaria, os objetos dos quais ele depende e a ordem de carga decorrente. A discussão expõe dependências que os grupos não haviam considerado.
15h05
Bloco 2 · Perfilagem e qualidade
Dimensões de qualidade e a distinção operacional entre o que é decidível sobre a base e o que exige confronto com o mundo real. Medidas de perfilagem por coluna, por padrão e por registro. Conformidade técnica: códigos com zeros à esquerda, datas, decimais no padrão brasileiro, unidades de medida e comprimento de campo, com a proibição do truncamento silencioso. Mapeamento de-para de domínios, duplicidade e consolidação, dependência e sequência de carga.
15h15
Diagnóstico da base do caso, sem código
Exibida a base da distribuidora em tela, os grupos apontam os defeitos que identificam e classificam cada um pela dimensão de qualidade correspondente. A lista produzida no quadro é confrontada, no bloco seguinte, com a saída da perfilagem executada em código.
15h25
Intervalo
Dez minutos. Os grupos aproveitam para abrir o notebook e confirmar a execução das células 1 e 2.
15h55
Bloco 3 · Prática conduzida no Google Colab
Construção do notebook, célula a célula, com todos executando simultaneamente: ingestão com dtype=str e a razão de cada parâmetro; perfilagem por coluna e confronto com a lista do quadro; transformações escritas como funções verificadas por asserção; mapeamento de-para; validação com quarentena; e a armadilha do valor ausente convertido em NaN, demonstrada em execução.
16h05
Emissão do arquivo e adaptação ao objeto do grupo
Execução das células de emissão do arquivo de carga e do relatório de exceções. Em seguida, cada grupo substitui os campos e as regras pelo objeto que escolheu, mantendo a estrutura do notebook. O professor circula pelos grupos e atende as dúvidas de adaptação.
16h20
Bloco 4 · Reconciliação, ensaios e governança
Execução da célula de reconciliação e leitura conjunta do resultado: quais centros fecham, quais divergem e como cada divergência é atribuída a registros identificados na quarentena. Ensaios de carga e critérios de saída de cada um; cutover, medição de duração e reexecução sem duplicação. Responsabilidade sobre o dado, proteção de dados pessoais nos extratos intermediários e antipadrões.
16h30
Síntese e encaminhamentos
Questão de fechamento: dos registros que o grupo encaminhou à quarentena, quantos decorrem de defeito de formato, corrigível por código, e quantos exigem decisão de negócio? Encaminhamento do trabalho do bloco de desenvolvimento e da entrega do notebook.
Estratégias de metodologia ativa
- Diagnóstico antes da ferramenta — os grupos apontam os defeitos da base a olho nu antes de executar qualquer código, e depois confrontam sua lista com a saída da perfilagem. A comparação evidencia os defeitos que a inspeção visual não detecta.
- Laboratório conduzido com execução simultânea — cada conceito é imediatamente executado por todos, no próprio notebook, sobre uma base com defeitos conhecidos. O erro é observado em execução, na tela de cada estudante.
- Erro provocado deliberadamente — a armadilha do
NaNverdadeiro em contexto booleano é demonstrada antes da correção, com o registro defeituoso passando pela validação. A demonstração evidencia a necessidade de tratar explicitamenteNone,NaNe texto vazio na validação. - Migração do exercício para o caso real — a mesma estrutura de notebook é adaptada ao objeto escolhido pelo grupo ainda em sala, sob supervisão.
- Artefato acumulativo — o notebook é reexecutado a cada novo extrato e é o instrumento que as aulas de configuração e de cutover consomem.
A pergunta que organiza o encontro é: o que se pode afirmar sobre os dados que entraram no sistema? Sem perfilagem, relatório de exceções e reconciliação, sustenta-se apenas a afirmação de que o arquivo foi aceito, que não atesta a correção dos dados.
Recursos e ferramentas
| Categoria | Recurso | Uso |
|---|---|---|
| Slides | slides/slide-lesson-2.html | Condução da instrução (25 telas) |
| Material | materials/lesson-2-material.html | Autoestudo e fonte das células do notebook |
| Ambiente de execução | Google Colab | Notebook do grupo, sem instalação local |
| Bibliotecas | pandas, openpyxl | Ingestão, transformação e escrita de planilhas |
| Base do caso | Extrato sintético da distribuidora, gerado pela célula 2 | Prática com defeitos conhecidos, disponível a todos os grupos |
| Caso de projeto | TAPI | Origem do objeto de migração tratado pelo grupo |
| Plataforma-alvo | SAP S/4HANA — Migration Cockpit e modelos de objeto | Referência do formato exigido do arquivo de carga |
| Registro do trabalho | Repositório do grupo | Notebook, tabelas de-para e arquivos de cada ensaio |
Verificação de aprendizagem
O encontro não possui atividade ponderada. A verificação é formativa e recai sobre o notebook produzido em sala e concluído no bloco de desenvolvimento.
- CR-1Execução íntegra. O notebook executa do início ao fim, sem intervenção manual, a partir do extrato original.
- CR-2Perfilagem apresentada. Tabela de perfil por coluna, distribuição dos campos de domínio, duplicidade pela chave natural e registros órfãos entre abas.
- CR-3Conservação dos registros. A soma de aprovados e quarentena iguala o total lido, verificada por asserção no próprio notebook.
- CR-4Exceções legíveis. Todo registro em quarentena possui motivo compreensível por quem não escreveu o código. Nenhum valor é truncado silenciosamente.
- CR-5Domínio declarado. Ao menos um campo com tabela de-para explícita e tratamento declarado para o valor não mapeado. Nenhum valor de domínio atribuído por omissão.
- CR-6Reconciliação explicada. Tabela de confronto entre origem e destino, com cada divergência atribuída a registros identificados na quarentena.
O grupo consegue responder, para qualquer registro ausente do arquivo de carga, por que ele foi rejeitado, quem decide sobre ele e qual o efeito de sua ausência sobre os totais reconciliados.
Conexão com a aula 3
A Aula 3 — Hands on: Gestão de Configuração e Escopo (26/08/2026) trata dos objetos de configuração que materializam o comportamento do sistema. A ligação é direta e em dois sentidos: os valores de domínio que o notebook desta aula exige — grupos de mercadorias, unidades, centros, condições — são precisamente os que a configuração precisa estabelecer, e o mapeamento de-para produzido hoje é a evidência de quais valores o ambiente precisa ter configurados antes da carga.
Na sequência, a Aula 4 (testes e cutover) consome o relatório de exceções e a reconciliação: cada registro em quarentena é um caso a ser tratado antes do corte, e a duração medida em cada ensaio é insumo do planejamento da janela de virada.
Bibliografia
- SAP — Documentação do SAP S/4HANA, seção de migração de dados e do Migration Cockpit.
- DAMA International — DAMA-DMBOK: Data Management Body of Knowledge. 2. ed. Technics Publications, 2017.
- ISO/IEC 25012 — Data Quality Model.
- McKinney, W. — Python for Data Analysis. 3. ed. O'Reilly, 2022.
- Documentação do pandas e documentação do openpyxl.
- Brasil — Lei nº 13.709/2018, Lei Geral de Proteção de Dados Pessoais.
- Redman, T. — Data Driven: Profiting from Your Most Important Business Asset. Harvard Business Review Press, 2008.