Rastreabilidade de lote no SAP: o teste que só se faz no recall

Existe uma pergunta que decide se a rastreabilidade de uma empresa de saúde funciona, e ela tem sempre a mesma forma: o lote 4471 apresentou desvio — para onde ele foi?

Quem já passou por um recall sabe que a resposta não pode levar dias. E sabe também que, na maioria dos ambientes, ela leva — não por falta de dado, mas porque o dado está inteiro e ninguém montou o caminho que o percorre.

Em uma frase — o SAP padrão guarda tudo o que a rastreabilidade precisa, mas não entrega a resposta pronta: ele registra movimento a movimento, e a pergunta do recall é sobre a cadeia inteira.

Os dois sentidos da pergunta, e por que só um costuma existir

Rastreabilidade para a frente. Dado um lote produzido, quem recebeu? É a pergunta do recall: quais clientes, quais notas, quais quantidades, e o que ainda está em estoque para bloquear.

Rastreabilidade para trás. Dado um lote entregue, do que ele foi feito? Quais lotes de matéria-prima, de qual fornecedor, com qual certificado de análise.

Na prática, quase todo ambiente resolve razoavelmente o segundo — porque a ordem de produção liga componente a produto — e trava no primeiro. E o primeiro é o que o telefone toca perguntando.

a cadeia que a pergunta do recall precisa percorrer: do lote de matéria-prima à ordem de produção, ao lote produzido, ao documento de material, à remessa e ao cliente — cada elo existe no SAP, mas em tabela diferente
Cada elo existe no SAP. O que quase nunca existe é o caminho pronto que os atravessa.

O caminho existe — só não está montado

A cadeia para a frente atravessa tabelas diferentes, e é por isso que a resposta demora. Um levantamento que rende mais do que parece, direto na base:

-- do lote produzido ate o cliente que recebeu
SELECT m.charg, m.matnr, m.mblnr, m.bwart,
       l.vbeln, l.lfimg, k.kunnr, k.name1
  FROM mseg AS m
  LEFT JOIN lips AS l ON  l.matnr = m.matnr
                      AND l.charg = m.charg
  LEFT JOIN likp AS h ON  h.vbeln = l.vbeln
  LEFT JOIN kna1 AS k ON  k.kunnr = h.kunnr
 WHERE m.charg = '0000004471'
   AND m.bwart IN ('601','641','101')
 ORDER BY m.mblnr;

Ela não é elegante e não é a resposta final — é o esqueleto. O valor não está na consulta: está em descobrir onde a cadeia se rompe no seu ambiente, porque ela se rompe em lugares diferentes em cada implantação.

As três rupturas mais comuns:

  • Transferência entre depósitos sem lote — o movimento acontece, o lote não é carregado, e a partir dali o rastro acaba.
  • Reembalagem ou reprocesso — nasce um lote novo sem vínculo registrado com o lote de origem.
  • Terceiro na cadeia — operador logístico ou distribuidor que recebe e redistribui sem devolver a informação de lote.

O que dá errado, com nome

Descobrir a ruptura durante o recall. É o pior momento possível. O time monta a consulta às pressas, vê que os números não fecham e passa a noite reconstruindo à mão o que deveria ser consulta.

Lote gerenciado em alguns materiais e não em outros. Basta um componente sem gestão de lote no meio da árvore para a rastreabilidade para trás perder um degrau — e ninguém percebe até precisar.

Confundir número de lote com identificação unitária. São coisas diferentes. Gestão de lote responde “este conjunto veio junto”; identificação unitária responde “esta caixa específica”. Exigência de serialização não se atende com gestão de lote, por melhor que ela esteja — é outro nível de granularidade e outro projeto.

Rastreabilidade que só existe em produção. O estoque de terceiros, o material em consignação e o que está com o representante costumam ficar fora do mapa — e são exatamente onde o produto está quando o recall acontece.

O ensaio que quase ninguém faz — escolha um lote real, já entregue, e cronometre: quanto tempo leva para listar todos os clientes que o receberam, com quantidade e nota fiscal? Se levar mais de uma hora, a rastreabilidade não está pronta — independente do que a documentação do projeto diga. Esse ensaio custa uma manhã e é a única evidência que vale.

Onde a IA ajuda de verdade aqui

O rastro é determinístico e deve continuar sendo — ninguém quer um modelo estimando para onde foi um lote. Mas três partes caras do trabalho são leitura e comparação.

Encontrar onde a cadeia se rompe. Comparar o que saiu de produção com o que aparece em remessa, e apontar os movimentos em que o lote sumiu, é reconciliação em volume — exatamente o que se faz bem com leitura automatizada e revisão humana.

Ler o certificado de análise e extrair o que o sistema precisa. Documento em texto livre, de fornecedores diferentes, com layouts diferentes.

Explicar a divergência de quantidade. Quando o produzido não bate com o entregue mais o estoque, propor onde está a diferença encurta a investigação de dias para horas.

Onde ela não entra: a decisão de recolher, a comunicação ao órgão regulador e a liberação do lote. Essas três continuam com gente, com nome e com responsabilidade técnica.

O limite honesto

Rastreabilidade bem montada não impede o desvio de qualidade. Ela não reduz a chance de acontecer — reduz o tamanho do estrago quando acontece, porque permite recolher o que precisa e só o que precisa.

E há um limite que nenhum sistema resolve: a cadeia termina onde termina o seu registro. Se o distribuidor não devolve informação de lote, o rastro para nele — e a solução é contratual, não técnica. Vale saber disso antes de prometer rastreabilidade ponta a ponta.

O que muda com o trabalho bem feito é o tipo de conversa: em vez de “estamos levantando”, você diz “foram 47 clientes, 12 mil unidades, 3 mil ainda em estoque, já bloqueadas”. A diferença entre as duas frases é uma noite de trabalho — ou uma manhã de ensaio feita meses antes.

Se o ponto de partida é entender o que existe hoje antes de decidir o que mudar, comece pelo diagnóstico de TI. Para o panorama do setor, veja TI para saúde. E se a dor imediata é dado mestre inconsistente atrapalhando o rastro, o caminho é sanear antes da carga, não durante.