Trazabilidad de lote en SAP: la prueba que solo se hace en el recall

Existe una pregunta que decide si la trazabilidad de una empresa de salud funciona, y siempre tiene la misma forma: el lote 4471 presentó un desvío — ¿adónde fue?

Quien ya pasó por un recall sabe que la respuesta no puede tardar días. Y sabe también que, en la mayoría de los ambientes, tarda — no por falta de dato, sino porque el dato está entero y nadie armó el camino que lo recorre.

En una frase — el SAP estándar guarda todo lo que la trazabilidad necesita, pero no entrega la respuesta lista: registra movimiento a movimiento, y la pregunta del recall es sobre la cadena entera.

Los dos sentidos de la pregunta, y por qué solo uno suele existir

Trazabilidad hacia adelante. Dado un lote producido, ¿quién lo recibió? Es la pregunta del recall: qué clientes, qué facturas, qué cantidades, y qué sigue en stock para bloquear.

Trazabilidad hacia atrás. Dado un lote entregado, ¿de qué se hizo? Qué lotes de materia prima, de qué proveedor, con qué certificado de análisis.

En la práctica casi todo ambiente resuelve razonablemente el segundo — porque la orden de producción liga componente a producto — y se traba en el primero. Y el primero es por el que suena el teléfono.

la cadena que la pregunta del recall debe recorrer: del lote de materia prima a la orden de producción, al lote producido, al documento de material, a la entrega y al cliente — cada eslabón existe en SAP, en tabla distinta
Cada eslabón existe en SAP. Lo que casi nunca existe es el camino listo que los atraviesa.

El camino existe — solo no está armado

La cadena hacia adelante atraviesa tablas distintas, y por eso la respuesta tarda. Un levantamiento que rinde más de lo que parece, directo contra la base:

-- del lote producido hasta el cliente que lo recibio
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;

No es elegante y no es la respuesta final — es el esqueleto. El valor no está en la consulta: está en descubrir dónde se rompe la cadena en su ambiente, porque se rompe en lugares distintos en cada implantación.

Las tres rupturas más comunes:

  • Traslado entre almacenes sin lote — el movimiento ocurre, el lote no se arrastra, y desde ahí el rastro termina.
  • Reembalaje o reproceso — nace un lote nuevo sin vínculo registrado con el lote de origen.
  • Un tercero en la cadena — operador logístico o distribuidor que recibe y redistribuye sin devolver la información de lote.

Lo que sale mal, con nombre

Descubrir la ruptura durante el recall. El peor momento posible. El equipo arma la consulta con prisa, ve que los números no cierran y pasa la noche reconstruyendo a mano lo que debería ser una consulta.

Lote gestionado en algunos materiales y no en otros. Basta un componente sin gestión de lote en medio del árbol para que la trazabilidad hacia atrás pierda un escalón — y nadie lo nota hasta necesitarlo.

Confundir número de lote con identificación unitaria. Son cosas distintas. La gestión de lote responde «este conjunto vino junto»; la identificación unitaria responde «esta caja específica». Una exigencia de serialización no se atiende con gestión de lote, por buena que sea — es otro nivel de granularidad y otro proyecto.

Trazabilidad que solo cubre sus propias plantas. El stock de terceros, el material en consignación y lo que está con el representante suelen quedar fuera del mapa — y es exactamente donde está el producto cuando ocurre el recall.

El ensayo que casi nadie hace — elija un lote real, ya entregado, y cronometre: ¿cuánto tarda en listar todos los clientes que lo recibieron, con cantidad y factura? Si tarda más de una hora, la trazabilidad no está lista — sin importar lo que diga la documentación del proyecto. Ese ensayo cuesta una mañana y es la única evidencia que vale.

Dónde la IA ayuda de verdad aquí

El rastro es determinístico y debe seguir siéndolo — nadie quiere un modelo estimando adónde fue un lote. Pero tres partes caras del trabajo son lectura y comparación.

Encontrar dónde se rompe la cadena. Comparar lo que salió de producción con lo que aparece en entregas, y señalar los movimientos en que el lote desapareció, es reconciliación en volumen — exactamente lo que se hace bien con lectura automatizada y revisión humana.

Leer el certificado de análisis y extraer lo que el sistema necesita. Documento en texto libre, de proveedores distintos, con layouts distintos.

Explicar la divergencia de cantidad. Cuando lo producido no coincide con lo entregado más el stock, proponer dónde está la diferencia acorta la investigación de días a horas.

Donde no entra: la decisión de recolectar, la comunicación al organismo regulador y la liberación del lote. Esas tres siguen con gente, con nombre y con responsabilidad técnica.

El límite honesto

Una trazabilidad bien armada no impide el desvío de calidad. No reduce la probabilidad de que ocurra — reduce el tamaño del daño cuando ocurre, porque permite recolectar lo que hace falta y solo eso.

Y hay un límite que ningún sistema resuelve: la cadena termina donde termina su registro. Si el distribuidor no devuelve información de lote, el rastro se detiene ahí — y la solución es contractual, no técnica. Vale saberlo antes de prometer trazabilidad punta a punta.

Lo que cambia con el trabajo bien hecho es el tipo de conversación: en vez de «estamos relevando», usted dice «fueron 47 clientes, 12 mil unidades, 3 mil todavía en stock, ya bloqueadas». La diferencia entre esas dos frases es una noche de trabajo — o una mañana de ensayo hecha meses antes.

Si el punto de partida es entender lo que existe hoy antes de decidir qué cambiar, empiece por el diagnóstico de TI. Para el panorama del sector, vea TI para salud. Y si el dolor inmediato es dato maestro inconsistente rompiendo el rastro, el camino es sanear antes de la carga, no durante.