Lotes que vencen en los próximos 60 días
Números de lote con stock que vencen dentro de 60 días, por almacén.
Herramienta
SELECT T0.ItemCode, 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 T0.AbsEntry = T1.MdAbsEntry WHERE T1.Quantity > 0 AND T0.ExpDate IS NOT NULL AND T0.ExpDate <= DATEADD(day, 60, GETDATE()) ORDER BY T0.ExpDate
SELECT T0."ItemCode", 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 T0."AbsEntry" = T1."MdAbsEntry" WHERE T1."Quantity" > 0 AND T0."ExpDate" IS NOT NULL AND T0."ExpDate" <= ADD_DAYS(CURRENT_TIMESTAMP, 60) ORDER BY T0."ExpDate"
Qué responde esta consulta
En una empresa de alimentos, farmacéutica o químicos, el responsable de calidad revisa cada semana qué lotes vencerán pronto y dónde están. Esta lista ayuda a decidir qué vender primero, rebajar o poner en cuarentena, incluidos los lotes que ya vencieron.
Ejemplo de resultado
Valores de demostración ilustrativos. Sus columnas son las mismas; los números vienen de su empresa.
| ItemCode | BatchNumber | ExpDate | WhsCode | Quantity | DaysLeft |
|---|---|---|---|---|---|
| F10001 | L260915 | 2026-10-20 | 01 | 24 | -4 |
| F10003 | L261002 | 2026-11-05 | 01 | 120 | 12 |
| F10001 | L261010 | 2026-11-30 | 02 | 60 | 37 |
| F10007 | L261018 | 2026-12-18 | 01 | 300 | 55 |
SQL Server vs SAP HANA
DATEDIFF(day, GETDATE(), T0.ExpDate) se convierte en DAYS_BETWEEN(CURRENT_TIMESTAMP, T0."ExpDate"), y DATEADD(day, 60, GETDATE()) en ADD_DAYS(CURRENT_TIMESTAMP, 60). Mantenga la fecha de hoy como primer argumento; de lo contrario DaysLeft cambia de signo.
Errores comunes y soluciones
- Aparecen lotes ya vencidos con días negativos: Es intencional, porque el stock vencido también requiere acción. Agregue AND T0.ExpDate >= GETDATE() (CURRENT_DATE en HANA) para ocultarlos.
- Un artículo con lotes no aparece: El artículo puede estar gestionado por números de serie y no por lotes (las series están en OSRN/OSRQ), o nunca se ingresó la fecha de vencimiento en el lote.
Consultas relacionadas
Referencia de tablas: Tabla OBTN (Números de lote (datos maestros)) · Tabla OITM (Artículos (maestro de artículos))
Tres pasos, sin registro
Copie la versión correcta
Use la pestaña SQL Server para bases de datos MS SQL y la pestaña HANA para SAP B1 sobre HANA.
Abra el generador de consultas
En SAP Business One vaya a Herramientas → Consultas → Generador de consultas (Tools → Queries → Query Generator), pegue la consulta y haga clic en Ejecutar.
Guarde y comparta
Haga clic en Grabar, elija una categoría y asigne un nombre a la consulta. Su equipo podrá ejecutarla desde el gestor de consultas (Query Manager).
Preguntas sobre esta herramienta
¿Cómo ejecuto la consulta «Lotes que vencen en los próximos 60 días» en SAP Business One?
Copie la versión que corresponde a su base de datos, abra Herramientas → Consultas → Generador de consultas, péguela en el cuadro SQL y haga clic en Ejecutar. Grábela para reutilizarla después.
¿Qué tablas usa esta consulta?
Lee OBTN, OBTQ del esquema estándar de SAP Business One. No necesita campos definidos por el usuario.
¿Se puede convertir en un dashboard o una alerta?
Sí. Convertimos consultas en reportes de Crystal Reports, reportes de Excel que se actualizan solos, alertas de SAP B1 o mensajes de WhatsApp para gerentes.
Hechas para equipos de SAP Business One
¿Lo necesita dentro de SAP Business One?
Desarrollamos add-ons, reportes e integraciones para SAP B1 en SQL Server y HANA. Cuéntenos qué necesita y reciba un precio fijo, normalmente en 24 horas.
