Tabella OBTN in SAP Business One (Numeri di lotto (anagrafica))

OBTN è la tabella di SAP Business One che contiene l’anagrafica dei numeri di lotto: una riga per articolo e lotto, con il numero di lotto, le date di produzione e di scadenza e lo stato. Non dice dove si trova la merce: le quantità per magazzino sono in OBTQ, collegata con OBTQ.MdAbsEntry = OBTN.AbsEntry (oppure con ItemCode più SysNumber).

Campi chiave di OBTN

CampoContenuto
AbsEntryChiave interna del lotto. OBTQ.MdAbsEntry vi punta.
ItemCodeArticolo a cui appartiene il lotto. Si collega con OITM.ItemCode.
SysNumberNumero interno del lotto per articolo. Insieme a ItemCode identifica il lotto.
DistNumberIl numero di lotto che gli utenti vedono e stampano.
MnfSerialAttributo di lotto 1 (spesso il lotto del produttore).
LotNumberAttributo di lotto 2.
ExpDateData di scadenza.
MnfDateData di produzione.
InDateData in cui il lotto è stato ricevuto.
Status0 = rilasciato, 1 = non accessibile, 2 = bloccato.
OBTQ.WhsCodeMagazzino che contiene la quantità.
OBTQ.QuantityQuantità del lotto in quel magazzino.
OBTQ.CommitQtyQuantità impegnata in documenti aperti.

Come OBTN si collega alle altre tabelle

OBTN è l’anagrafica dei lotti e OBTQ ha una riga per lotto e magazzino con Quantity, CommitQty e CountQty. Le colleghi con OBTQ.MdAbsEntry = OBTN.AbsEntry, oppure con ItemCode e SysNumber insieme. Solo gli articoli gestiti a lotti hanno righe qui. Le ubicazioni, se usate, aggiungono un ulteriore livello di quantità per ubicazione.

Join più comuni

  • OBTN T0 INNER JOIN OBTQ T1 ON T1.MdAbsEntry = T0.AbsEntry (quantità per magazzino)
  • OBTN T0 INNER JOIN OBTQ T1 ON T1.ItemCode = T0.ItemCode AND T1.SysNumber = T0.SysNumber (stesso join, per articolo e lotto)
  • OBTN T0 INNER JOIN OITM T2 ON T2.ItemCode = T0.ItemCode (anagrafica articoli)
  • OBTQ T1 INNER JOIN OWHS T3 ON T3.WhsCode = T1.WhsCode (magazzino)

Quando si usa la tabella OBTN

Usi OBTN con OBTQ per i report sulle scadenze (prelievo FEFO), la giacenza per lotto e magazzino, gli elenchi di richiamo quando un fornitore ritira un lotto e per verificare che non si vendano lotti bloccati o non accessibili. Le aziende alimentari, farmaceutiche e chimiche eseguono questi report ogni giorno.

Query di esempio: giacenza per lotto e magazzino con i giorni alla scadenza

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 (nomi delle colonne tra virgolette doppie)

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"

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: OBTN da sola mostra anche i lotti già esauriti

Ogni lotto mai ricevuto resta in OBTN, compresi i lotti venduti o consumati da tempo, quindi un report basato solo su OBTN li elenca tutti. Faccia il join con OBTQ e filtri Quantity > 0 per vedere la giacenza reale, e raggruppi per magazzino, perché lo stesso lotto può essere distribuito su più magazzini. Collegare solo per ItemCode, senza SysNumber né MdAbsEntry, moltiplica le righe. Veda Query dei lotti in scadenza.

Query pronte che usano OBTN (pagine in inglese)

Tabelle correlate

OITM (Articoli (anagrafica articoli)) · OITW (Giacenze degli articoli per magazzino) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.