Solución al error M7001 en SAP (Check table T159L)

Imagina esto: estás en pleno Go-Live. Hay camiones en el muelle, el equipo de almacén ya trae escáner en mano, y tú vas por el primer Goods Receipt (GR) en MIGO… y aparece el golpe en pantalla:

Mensaje: “Check table T159L: entry [Plant] does not exist” (M7001).

Este no es “un dato maestro mal capturado”. Es un bloqueo: SAP no puede determinar parámetros críticos del Inventory Management (IM) para ese Plant, y por eso hay procesos que simplemente no se pueden ejecutar.

La buena noticia: se corrige rápido si sabes dónde tocar. La mejor noticia: si lo dejas bien configurado, no solo “salvas el Go-Live”, sino que mejoras la operación.

Qué está pasando realmente: OX10 crea el Plant, pero no su “cerebro” de IM

Muchos consultores (especialmente en rollouts rápidos) crean el Plant en Enterprise Structure (por ejemplo, vía definición/copia de plant), y con eso el centro “existe”. Pero IM necesita su propia parametrización a nivel Plant.

La tabla T159L almacena default values / plant parameters para Inventory Management y Physical Inventory.

Cuando no existe el registro del Plant en T159L, SAP no puede determinar indicadores típicos como:

y otros parámetros operativos; por eso detiene el proceso.

Solución profesional (sin “parches”)

Método recomendado (rápido y limpio): Customizing “Plant parameters”.

  1. Entra a SPRO.
  2. Ruta: Materials Management → Inventory Management and Physical Inventory → Plant Parameters.
  3. Busca tu Plant. Si te sale el M7001, normalmente no estará.
  4. Haz clic en New Entries.
  5. Pro tip (real): en lugar de llenar desde cero, copia la configuración de un Plant estándar / template (por ejemplo 0001 o el Plant “golden” de tu cliente) y luego ajusta lo necesario. Esto reduce el riesgo de dejar campos críticos sin valor.
  6. Guarda (te pedirá transport request si estás en un landscape con control de cambios).
  7. Cierra y vuelve a entrar a MIGO (o abre nueva sesión) para evitar que te juegue en contra algún buffer/sesión vieja.

Acceso directo (cuando estás contra el reloj)

Nota operativa: evita “arreglarlo” editando tablas por SE16N; lo correcto es mantenerlo por IMG/vista de customizing para trazabilidad y transportes.

Optimización: no solo lo arregles; configúralo

Una vez creado el registro en T159L, revisa estos campos (son de los que sí cambian el día a día en almacén):

Campo (T159L) Qué controla Impacto real en operación
XLAUT Auto. create storage loc. Habilita escenarios donde el sistema permite crear/gestionar automáticamente ciertos datos ligados a storage location; útil para rollouts acelerados.
XELIK Suggest “del. completed” Ayuda a que el GR proponga cierre de PO cuando aplica; mejora limpieza de open items.
XFHTP Missing parts check Clave si el cliente usa missing parts: dispara alertas cuando el material es crítico.
KZCHA Batch determination (Phys. Inv.) Cambia la manera en que se determinan lotes en inventarios físicos; reduce fricción.
XBUIB Adjust Book Inventory Campo delicado: influye en cómo se ajusta el book inventory durante el conteo. Si se configura mal, provoca diferencias "raras" .

Prevención: la regla de oro para rollouts

Este problema aparece, casi siempre, cuando el Plant se “crea” pero no se replica correctamente en tablas dependientes.

SAP recomienda crear nuevos Plants usando el Extended Copy desde un Plant de referencia (típicamente 0001), porque el sistema actualiza tablas dependientes de customizing.

Cierre

El error M7001 (T159L missing) no es un “detalle técnico”: es un síntoma de que el Plant quedó definido “por fuera”, pero sin parámetros de Inventory Management. Cuando lo corriges por Plant Parameters y además revisas los indicadores clave, conviertes un apagafuegos en una mejora real de operación.

Fuentes y referencias técnicas