Tabla OBTN en SAP Business One (Números de lote (datos maestros))

OBTN es la tabla de SAP Business One que guarda los datos maestros de números de lote: una fila por artículo y lote, con el número de lote, las fechas de fabricación y vencimiento y el estado. No le dice dónde está el stock: las cantidades por almacén están en OBTQ, unidas con OBTQ.MdAbsEntry = OBTN.AbsEntry (o con ItemCode más SysNumber).

Campos clave de OBTN

CampoQué contiene
AbsEntryClave interna del lote. OBTQ.MdAbsEntry apunta a ella.
ItemCodeArtículo al que pertenece el lote. Se une con OITM.ItemCode.
SysNumberNúmero interno del lote por artículo. Junto con ItemCode identifica el lote.
DistNumberEl número de lote que ven e imprimen los usuarios.
MnfSerialAtributo de lote 1 (a menudo el lote del fabricante).
LotNumberAtributo de lote 2.
ExpDateFecha de vencimiento.
MnfDateFecha de fabricación.
InDateFecha en que se recibió el lote.
Status0 = liberado, 1 = sin acceso, 2 = bloqueado.
OBTQ.WhsCodeAlmacén que tiene la cantidad.
OBTQ.QuantityCantidad del lote en ese almacén.
OBTQ.CommitQtyCantidad comprometida en documentos abiertos.

Cómo se relaciona OBTN con otras tablas

OBTN es el maestro de lotes y OBTQ tiene una fila por lote y almacén con Quantity, CommitQty y CountQty. Únalas con OBTQ.MdAbsEntry = OBTN.AbsEntry, o con ItemCode y SysNumber juntos. Solo los artículos gestionados por lotes tienen filas aquí. Las ubicaciones, cuando se usan, agregan otro nivel de cantidades por ubicación.

Joins habituales

  • OBTN T0 INNER JOIN OBTQ T1 ON T1.MdAbsEntry = T0.AbsEntry (cantidad por almacén)
  • OBTN T0 INNER JOIN OBTQ T1 ON T1.ItemCode = T0.ItemCode AND T1.SysNumber = T0.SysNumber (mismo join, por artículo y lote)
  • OBTN T0 INNER JOIN OITM T2 ON T2.ItemCode = T0.ItemCode (maestro de artículos)
  • OBTQ T1 INNER JOIN OWHS T3 ON T3.WhsCode = T1.WhsCode (almacén)

Cuándo se usa la tabla OBTN

Use OBTN con OBTQ para reportes de vencimiento (picking FEFO), stock por lote y almacén, listas de retiro cuando se retira un lote del proveedor y para verificar que no se vendan lotes bloqueados o sin acceso. Las empresas de alimentos, farmacéuticas y químicas ejecutan estos reportes todos los días.

Consulta de ejemplo: stock por lote y almacén con días hasta el vencimiento

SQL Server

SELECT T0.ItemCode, T2.ItemName, T0.DistNumber AS BatchNumber, T0.ExpDate,
  T1.WhsCode, T1.Quantity, DATEDIFF(day, GETDATE(), T0.ExpDate) AS DaysLeft
FROM OBTN T0
INNER JOIN OBTQ T1 ON T1.MdAbsEntry = T0.AbsEntry
INNER JOIN OITM T2 ON T2.ItemCode = T0.ItemCode
WHERE T1.Quantity > 0
ORDER BY T0.ExpDate, T0.ItemCode

SAP HANA (nombres de columna entre comillas dobles)

SELECT T0."ItemCode", T2."ItemName", T0."DistNumber" AS "BatchNumber", T0."ExpDate",
  T1."WhsCode", T1."Quantity", DAYS_BETWEEN(CURRENT_TIMESTAMP, T0."ExpDate") AS "DaysLeft"
FROM OBTN T0
INNER JOIN OBTQ T1 ON T1."MdAbsEntry" = T0."AbsEntry"
INNER JOIN OITM T2 ON T2."ItemCode" = T0."ItemCode"
WHERE T1."Quantity" > 0
ORDER BY T0."ExpDate", T0."ItemCode"

Pegue cualquiera de las dos versiones en Herramientas → Consultas → Generador de consultas. ¿Necesita el otro dialecto para su propia consulta? Use el conversor de SQL a HANA.

Error frecuente: OBTN sola muestra lotes que ya se agotaron

Todo lote recibido alguna vez se queda en OBTN, incluidos los lotes vendidos o consumidos hace tiempo, así que un reporte solo sobre OBTN los lista todos. Haga el join con OBTQ y filtre Quantity > 0 para ver el stock real, y agrupe por almacén, porque el mismo lote puede estar repartido en varios almacenes. Unir solo por ItemCode, sin SysNumber ni MdAbsEntry, multiplica las filas. Vea Consulta de lotes próximos a vencer.

Consultas listas que usan OBTN

Tablas relacionadas

OITM (Artículos (maestro de artículos)) · OITW (Stock de artículos por almacén) · buscar todas las tablas de SAP Business One

Fuentes: Documentación y SDK de SAP Business One (referencia de tablas de base de datos de DI API), SAP Help Portal.

¿Listo para empezar?

Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.