Tabelle ODLN in SAP Business One (Lieferung (Kopf))

ODLN ist die Tabelle von SAP Business One, in der der Kopf jeder Lieferung gespeichert ist: Kunde, Daten, Summen und Status. Die Positionen stehen in DLN1, verknüpft über DocEntry, der Objekttyp ist 15. Mit dem Buchen einer Lieferung wird der Bestand aus dem Lager ausgebucht.

Wichtige Felder der Tabelle ODLN

FeldInhalt
DocEntryInterner Schlüssel. Verknüpft mit DLN1.DocEntry.
DocNumLiefernummer, die Benutzer sehen.
ObjTypeObjekttyp, 15 = Lieferung.
DocDateBuchungsdatum.
DocDueDateFälligkeitsdatum.
CardCode / CardNameKundencode und -name. CardCode wird mit OCRD verknüpft.
DocTotalBelegsumme.
VatSumSteuer gesamt.
DiscPrcntBelegrabatt in Prozent.
DocStatusO = offen, C = geschlossen (zum Beispiel vollständig fakturiert).
InvntSttusLagerstatus des Belegs.
CANCELEDY, wenn die Lieferung storniert wurde.
SlpCodeVertriebsmitarbeiter. Verknüpft mit OSLP.

Wie ODLN mit anderen Tabellen zusammenhängt

ODLN ist der Kopf und DLN1 enthält die Positionen, verknüpft über DocEntry. Eine aus einem Kundenauftrag kopierte Lieferung speichert in ihren DLN1-Positionen BaseType = 17 und die Schlüssel des Auftrags; eine aus der Lieferung kopierte Rechnung speichert in ihren INV1-Positionen BaseType = 15 und BaseEntry = ODLN.DocEntry. DLN1.OpenQty ist die noch offene Menge, die weder fakturiert noch retourniert ist.

Typische Joins

  • ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry (Positionen)
  • ODLN T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (Kunde)
  • DLN1 T1 INNER JOIN RDR1 T3 ON T1.BaseType = 17 AND T1.BaseEntry = T3.DocEntry AND T1.BaseLine = T3.LineNum (Auftragsposition)
  • INV1 T4 ON T4.BaseType = 15 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (Rechnung aus der Lieferung)

Wann Sie die Tabelle ODLN verwenden

Nutzen Sie ODLN und DLN1 für Listen „geliefert, aber nicht fakturiert“, die Versandhistorie pro Kunde oder Artikel und Prüfungen des Liefernachweises. In Unternehmen, die immer aus Lieferungen fakturieren, sind offene Lieferungen Umsatz, der noch abgerechnet werden muss.

Beispielabfrage: Noch nicht fakturierte Lieferpositionen

SQL Server

SELECT T0.DocNum, T0.DocDate, T0.CardCode, T0.CardName,
  T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode
FROM ODLN T0
INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T1.LineStatus = 'O' AND T1.OpenQty > 0
ORDER BY T0.DocDate, T0.DocNum

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T0."DocNum", T0."DocDate", T0."CardCode", T0."CardName",
  T1."ItemCode", T1."Dscription", T1."Quantity", T1."OpenQty", T1."WhsCode"
FROM ODLN T0
INNER JOIN DLN1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0
ORDER BY T0."DocDate", T0."DocNum"

Fügen Sie eine der beiden Versionen unter Extras → Abfragen → Abfragegenerator ein. Sie brauchen den anderen Dialekt für Ihre eigene Abfrage? Nutzen Sie den SQL-zu-HANA-Konverter.

Typischer Fallstrick: Lieferungen und Rechnungen doppelt als Umsatz zählen

Werden Rechnungen aus Lieferungen kopiert, erscheint dieselbe Ware einmal in DLN1 und noch einmal in INV1. Ein Umsatzbericht, der ODLN und OINV addiert, verdoppelt den Wert. Ermitteln Sie den Umsatz aus OINV (minus ORIN) und verwenden Sie ODLN nur für das, was geliefert, aber noch nicht fakturiert ist, wie in der Abfrage oben. Siehe Warum Umsatzsummen in SAP B1 nicht übereinstimmen.

Verwandte Tabellen

ORDR (Kundenauftrag (Kopf)) · RDR1 (Kundenauftrag (Positionen)) · OINV (Ausgangsrechnung (Kopf)) · OITW (Artikelbestand pro Lager) · alle SAP-Business-One-Tabellen durchsuchen

Quellen: Dokumentation und SDK zu SAP Business One (Referenz der DI-API-Datenbanktabellen), SAP Help Portal.

Bereit für den Start?

Sagen Sie uns, was Sie brauchen. Sie erhalten eine klare technische Antwort, einen festen Leistungsumfang und einen Preis, in der Regel innerhalb von 24 Stunden.