جدول ODRF في SAP Business One (مستندات المسودة (الرأس))

ODRF هو جدول SAP Business One الذي يخزن رأس كل مستند مسودة: الفواتير والتسليمات والإيصالات وغيرها من المستندات المحفوظة كمسودة أو التي تنتظر الموافقة. ويبين ODRF.ObjType المستند الذي ستصبحه المسودة (مثلًا 13 = فاتورة المبيعات). والأسطر في DRF1 وتُربط عبر DocEntry.

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

الحقلما يحتويه
DocEntryالمفتاح الداخلي للمسودة. يُربط بـ DRF1.DocEntry.
ObjTypeنوع المستند الذي تخصه المسودة، مثلًا 13 = فاتورة المبيعات، 15 = التسليم، 14 = الإشعار الدائن للمبيعات.
DocNumرقم المستند.
DocDateتاريخ الترحيل.
CardCode / CardNameشريك الأعمال. يُربط بـ OCRD.CardCode.
DocStatusO = مفتوح، C = مغلق.
WddStatusحالة التفويض: - = بدون، W = قيد الانتظار، Y = معتمد، N = مرفوض، P = منشأ، A = منشأ بواسطة المعتمِد، C = ملغى.
DocTotal / DocCurإجمالي المستند وعملته.
UserSignالمستخدم الذي أنشأ المسودة. يُربط بـ OUSR.
CreateDateتاريخ الإنشاء.

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

ODRF جدول رأس واحد مشترك لمسودات أنواع كثيرة من المستندات؛ ويفرّق ObjType بينها. و DRF1 يحتوي على الأسطر. والمستند الحقيقي المرحّل من مسودة يحتفظ بالرابط في عمود draftKey الخاص به (مثلًا OPDN.draftKey = ODRF.DocEntry).

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

  • ODRF T0 INNER JOIN DRF1 T1 ON T1.DocEntry = T0.DocEntry (الأسطر)
  • ODRF T0 LEFT JOIN OCRD T2 ON T2.CardCode = T0.CardCode (شريك الأعمال)
  • OPDN T3 INNER JOIN ODRF T0 ON T0.DocEntry = T3.draftKey (إيصال استلام البضائع لأمر الشراء المرحّل من المسودة)

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

استخدم ODRF لسرد المسودات المفتوحة حسب نوع المستند والمستخدم، ولإيجاد المستندات التي تنتظر الموافقة (WddStatus W)، ولتنظيف المسودات القديمة التي لم تُرحّل قط.

مثال على استعلام: المسودات المفتوحة حسب نوع المستند مع حالة الموافقة

SQL Server

SELECT T0.DocEntry, T0.ObjType, T0.DocDate, T0.CardCode, T0.CardName, T0.DocTotal,
  T0.WddStatus, T0.UserSign, DATEDIFF(day, T0.CreateDate, GETDATE()) AS DaysOld
FROM ODRF T0
WHERE T0.DocStatus = 'O'
ORDER BY T0.ObjType, T0.CreateDate

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

SELECT T0."DocEntry", T0."ObjType", T0."DocDate", T0."CardCode", T0."CardName", T0."DocTotal",
  T0."WddStatus", T0."UserSign", DAYS_BETWEEN(T0."CreateDate", CURRENT_TIMESTAMP) AS "DaysOld"
FROM ODRF T0
WHERE T0."DocStatus" = 'O'
ORDER BY T0."ObjType", T0."CreateDate"

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

خطأ شائع: عرض المسودات على أنها مستندات مرحّلة

مسودات كل الأنواع موجودة في ODRF، لذا يجب أن يصفّي التقرير على ObjType للمستند المقصود، ويجب ألا تُضاف المسودات أبدًا إلى إجماليات المبيعات أو المشتريات. استخدم DocEntry المسودة (لا DocNum) لربطها بالمستند المرحّل عبر draftKey. انظر استعلام الموافقات المعلقة.

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

أسئلة حول جدول ODRF

أين تُخزن مستندات المسودة في SAP Business One؟

في ODRF (الرأس) و DRF1 (الأسطر)، لكل أنواع المستندات. ويبين ODRF.ObjType نوع المسودة.

كيف أجد المسودات التي تنتظر الموافقة؟

صفِّ على ODRF.WddStatus = 'W' (قيد الانتظار).

كيف أجد المستند المرحّل من مسودة؟

المستند المرحّل يكون فيه draftKey = ODRF.DocEntry.

جداول ذات صلة

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

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

جاهز للبدء؟

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