جدول 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 ساعة.
