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
| Feld | Inhalt |
|---|---|
DocEntry | Interner Schlüssel. Verknüpft mit DLN1.DocEntry. |
DocNum | Liefernummer, die Benutzer sehen. |
ObjType | Objekttyp, 15 = Lieferung. |
DocDate | Buchungsdatum. |
DocDueDate | Fälligkeitsdatum. |
CardCode / CardName | Kundencode und -name. CardCode wird mit OCRD verknüpft. |
DocTotal | Belegsumme. |
VatSum | Steuer gesamt. |
DiscPrcnt | Belegrabatt in Prozent. |
DocStatus | O = offen, C = geschlossen (zum Beispiel vollständig fakturiert). |
InvntSttus | Lagerstatus des Belegs. |
CANCELED | Y, wenn die Lieferung storniert wurde. |
SlpCode | Vertriebsmitarbeiter. 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.
