جدول RDR1 في SAP Business One (أمر البيع (الأسطر))

RDR1 هو جدول SAP Business One الذي يخزن أسطر أوامر البيع: الصنف والكمية والكمية المفتوحة والسعر والمستودع وتاريخ التسليم لكل سطر. يُربط برأس ORDR عبر DocEntry، ويخبرك OpenQty مع LineStatus بما لم يُسلَّم بعد.

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

الحقلما يحتويه
DocEntryمفتاح أمر البيع. يُربط بـ ORDR.DocEntry.
LineNumرقم السطر داخل الأمر. يحدد DocEntry + LineNum السطر.
ItemCodeالصنف المطلوب. يُربط بـ OITM.ItemCode.
Dscriptionوصف الصنف أو الخدمة (بإملاء SAP).
Quantityالكمية المطلوبة في السطر.
OpenQtyالكمية المفتوحة المتبقية: ما لم يُسلَّم أو يُفوتر بعد.
DelivrdQtyالكمية المسلّمة بالفعل.
LineStatusحالة السطر: O = مفتوح، C = مغلق.
Price / PriceBefDiالسعر بعد خصم السطر / سعر الوحدة قبله.
LineTotalإجمالي السطر، قبل الضريبة وقبل خصم الرأس في ORDR.DiscPrcnt.
WhsCodeالمستودع الذي يُحجز فيه المخزون. يُربط بـ OWHS.WhsCode.
ShipDateتاريخ تسليم السطر.
TargetType / TrgetEntryالمستند الهدف الذي نُسخ إليه السطر، مثل 15 = مذكرة تسليم (ODLN)، و13 = فاتورة مبيعات.

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

RDR1 هو جدول أسطر ORDR. لكل أمر صف واحد في ORDR وصف في RDR1 لكل صنف أو خدمة، ويشتركان في DocEntry. عند نسخ مذكرة تسليم أو فاتورة من الأمر، تخزن أسطر المستند الهدف (DLN1 و INV1) القيم BaseType = 17 و BaseEntry = RDR1.DocEntry و BaseLine = RDR1.LineNum، ويحتفظ سطر الأمر بالمستند الهدف في TargetType و TrgetEntry.

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

  • RDR1 T1 INNER JOIN ORDR T0 ON T1.DocEntry = T0.DocEntry (الرأس)
  • RDR1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (البيانات الرئيسية للصنف)
  • RDR1 T1 LEFT JOIN OITW T3 ON T1.ItemCode = T3.ItemCode AND T1.WhsCode = T3.WhsCode (المخزون في مستودع الأمر)
  • DLN1 T4 ON T4.BaseType = 17 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (مذكرات التسليم من السطر)

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

استخدم RDR1 لقوائم الطلبات المتأخرة والشحن، والكمية المفتوحة لكل صنف أو مستودع، ومراجعة المخزون المحجوز مقابل OITW. العميل والتواريخ وحالة الإلغاء موجودة في ORDR، لذلك يربط كل استعلام على RDR1 تقريبًا الرأس أيضًا.

مثال على استعلام: كمية الطلبات المفتوحة لكل صنف ومستودع

SQL Server

SELECT T1.ItemCode, T1.Dscription, T1.WhsCode, COUNT(DISTINCT T0.DocEntry) AS Orders,
  SUM(T1.OpenQty) AS OpenQty
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T1.LineStatus = 'O' AND T1.OpenQty > 0
GROUP BY T1.ItemCode, T1.Dscription, T1.WhsCode
ORDER BY OpenQty DESC

SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)

SELECT T1."ItemCode", T1."Dscription", T1."WhsCode", COUNT(DISTINCT T0."DocEntry") AS "Orders",
  SUM(T1."OpenQty") AS "OpenQty"
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0
GROUP BY T1."ItemCode", T1."Dscription", T1."WhsCode"
ORDER BY "OpenQty" DESC

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

خطأ شائع: Quantity ليست ما تبقى للشحن

Quantity هي الكمية المطلوبة ولا تنخفض عند تسليم جزء من السطر. للطلبات المتأخرة استخدم OpenQty، واجمعها دائمًا مع LineStatus = 'O' لاستبعاد الأسطر المغلقة. وللقيم من الأسطر، تذكّر أن LineTotal قبل خصم الرأس في ORDR.DiscPrcnt. انظر استعلام أوامر البيع المفتوحة.

استعلامات جاهزة تستخدم RDR1

جداول ذات صلة

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

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

جاهز للبدء؟

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