جدول ODLN في SAP Business One (مذكرة التسليم (الرأس))

ODLN هو جدول SAP Business One الذي يخزن رأس كل مذكرة تسليم: العميل والتواريخ والإجماليات والحالة. أسطرها في DLN1، وتُربط عبر DocEntry، ونوع الكائن الخاص بها 15. ترحيل مذكرة التسليم يُخرج المخزون من المستودع.

الحقول الرئيسية في ODLN

الحقلما يحتويه
DocEntryالمفتاح الداخلي. يُربط بـ DLN1.DocEntry.
DocNumرقم مذكرة التسليم الذي يراه المستخدمون.
ObjTypeنوع الكائن، 15 = مذكرة تسليم.
DocDateتاريخ الترحيل.
DocDueDateتاريخ الاستحقاق.
CardCode / CardNameرمز العميل واسمه. يُربط CardCode بـ OCRD.
DocTotalإجمالي المستند.
VatSumإجمالي الضريبة.
DiscPrcntنسبة خصم الرأس.
DocStatusO = مفتوح، C = مغلق (مثلًا عند فوترتها بالكامل).
InvntSttusحالة المستند في المستودع.
CANCELEDY إذا أُلغيت مذكرة التسليم.
SlpCodeموظف المبيعات. يُربط بـ OSLP.

كيف يرتبط ODLN بالجداول الأخرى

ODLN هو الرأس و DLN1 الأسطر، ويُربطان عبر DocEntry. مذكرة التسليم المنسوخة من أمر بيع تخزن BaseType = 17 ومفاتيح الأمر في أسطر DLN1؛ والفاتورة المنسوخة من مذكرة التسليم تخزن BaseType = 15 و BaseEntry = ODLN.DocEntry في أسطر INV1. و DLN1.OpenQty هي الكمية التي ما زالت مفتوحة، أي لم تُفوتر أو تُرجع بعد.

عمليات الربط الشائعة

  • ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry (الأسطر)
  • ODLN T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (العميل)
  • DLN1 T1 INNER JOIN RDR1 T3 ON T1.BaseType = 17 AND T1.BaseEntry = T3.DocEntry AND T1.BaseLine = T3.LineNum (سطر أمر البيع)
  • INV1 T4 ON T4.BaseType = 15 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (الفاتورة من مذكرة التسليم)

متى تستخدم جدول ODLN

استخدم ODLN و DLN1 لقوائم «سُلّم ولم يُفوتر»، وسجل الشحن لكل عميل أو صنف، والتحقق من إثبات التسليم. في الشركات التي تفوتر دائمًا من مذكرات التسليم، تمثل مذكرات التسليم المفتوحة إيرادات لم تُفوتر بعد.

مثال على استعلام: أسطر مذكرات التسليم غير المفوترة بعد

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 (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)

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"

الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.

خطأ شائع: احتساب مذكرات التسليم والفواتير كمبيعات مرتين

عندما تُنسخ الفواتير من مذكرات التسليم، تظهر البضاعة نفسها مرة في DLN1 ومرة أخرى في INV1. تقرير المبيعات الذي يجمع ODLN و OINV يضاعف الرقم. استخرج المبيعات من OINV (ناقص ORIN) واستخدم ODLN فقط لما سُلّم ولم يُفوتر بعد، كما في الاستعلام أعلاه. انظر لماذا لا تتطابق إجماليات مبيعات SAP B1.

جداول ذات صلة

ORDR (أمر البيع (الرأس)) · RDR1 (أمر البيع (الأسطر)) · OINV (فاتورة المبيعات (الرأس)) · OITW (مخزون الصنف حسب المستودع) · ابحث في كل جداول SAP Business One

المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.

جاهز للبدء؟

أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.