جدول OBTN في SAP Business One (أرقام التشغيلات (البيانات الرئيسية))

OBTN هو جدول SAP Business One الذي يخزن البيانات الرئيسية لأرقام التشغيلات: صف واحد لكل صنف وتشغيلة، مع رقم التشغيلة وتاريخي التصنيع وانتهاء الصلاحية والحالة. لا يخبرك أين يوجد المخزون: الكميات لكل مستودع موجودة في OBTQ، وتُربط عبر OBTQ.MdAbsEntry = OBTN.AbsEntry (أو ItemCode مع SysNumber).

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

الحقلما يحتويه
AbsEntryالمفتاح الداخلي للتشغيلة. يشير إليه OBTQ.MdAbsEntry.
ItemCodeالصنف الذي تنتمي إليه التشغيلة. يُربط بـ OITM.ItemCode.
SysNumberرقم التشغيلة الداخلي لكل صنف. يحدد التشغيلة مع ItemCode.
DistNumberرقم التشغيلة الذي يراه المستخدمون ويطبعونه.
MnfSerialخاصية التشغيلة 1 (غالبًا تشغيلة الشركة المصنّعة).
LotNumberخاصية التشغيلة 2.
ExpDateتاريخ انتهاء الصلاحية.
MnfDateتاريخ التصنيع.
InDateتاريخ استلام التشغيلة.
Status0 = مُفرج عنها، 1 = غير متاحة، 2 = مقفلة.
OBTQ.WhsCodeالمستودع الذي توجد فيه الكمية.
OBTQ.Quantityكمية التشغيلة في ذلك المستودع.
OBTQ.CommitQtyالكمية المحجوزة للمستندات المفتوحة.

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

OBTN هو جدول البيانات الرئيسية للتشغيلات، و OBTQ يحتوي على صف لكل تشغيلة ومستودع مع Quantity و CommitQty و CountQty. اربطهما عبر OBTQ.MdAbsEntry = OBTN.AbsEntry، أو عبر ItemCode و SysNumber معًا. الأصناف المُدارة بالتشغيلات فقط لها صفوف هنا. وعند استخدام مواقع التخزين، تُضاف طبقة أخرى من الكميات لكل موقع.

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

  • OBTN T0 INNER JOIN OBTQ T1 ON T1.MdAbsEntry = T0.AbsEntry (الكمية لكل مستودع)
  • OBTN T0 INNER JOIN OBTQ T1 ON T1.ItemCode = T0.ItemCode AND T1.SysNumber = T0.SysNumber (الربط نفسه، بالصنف والتشغيلة)
  • OBTN T0 INNER JOIN OITM T2 ON T2.ItemCode = T0.ItemCode (البيانات الرئيسية للصنف)
  • OBTQ T1 INNER JOIN OWHS T3 ON T3.WhsCode = T1.WhsCode (المستودع)

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

استخدم OBTN مع OBTQ لتقارير انتهاء الصلاحية (الصرف حسب أقرب انتهاء FEFO)، والمخزون حسب التشغيلة والمستودع، وقوائم الاستدعاء عند سحب تشغيلة من المورّد، وللتحقق من عدم بيع التشغيلات المقفلة أو غير المتاحة. تشغّل شركات الأغذية والأدوية والكيماويات هذه التقارير يوميًا.

مثال على استعلام: المخزون حسب التشغيلة والمستودع مع الأيام المتبقية لانتهاء الصلاحية

SQL Server

SELECT T0.ItemCode, T2.ItemName, T0.DistNumber AS BatchNumber, T0.ExpDate,
  T1.WhsCode, T1.Quantity, DATEDIFF(day, GETDATE(), T0.ExpDate) AS DaysLeft
FROM OBTN T0
INNER JOIN OBTQ T1 ON T1.MdAbsEntry = T0.AbsEntry
INNER JOIN OITM T2 ON T2.ItemCode = T0.ItemCode
WHERE T1.Quantity > 0
ORDER BY T0.ExpDate, T0.ItemCode

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

SELECT T0."ItemCode", T2."ItemName", T0."DistNumber" AS "BatchNumber", T0."ExpDate",
  T1."WhsCode", T1."Quantity", DAYS_BETWEEN(CURRENT_TIMESTAMP, T0."ExpDate") AS "DaysLeft"
FROM OBTN T0
INNER JOIN OBTQ T1 ON T1."MdAbsEntry" = T0."AbsEntry"
INNER JOIN OITM T2 ON T2."ItemCode" = T0."ItemCode"
WHERE T1."Quantity" > 0
ORDER BY T0."ExpDate", T0."ItemCode"

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

خطأ شائع: جدول OBTN وحده يعرض تشغيلات استُهلكت بالكامل

تبقى كل تشغيلة استُلمت يومًا ما في OBTN، بما فيها التشغيلات التي بيعت أو استُهلكت منذ زمن، لذلك يسرد تقرير على OBTN وحده كل هذه التشغيلات. اربط OBTQ وصفِّ على Quantity > 0 لرؤية المخزون الحقيقي، وجمّع حسب المستودع، لأن التشغيلة نفسها قد تتوزع على عدة مستودعات. والربط على ItemCode فقط، دون SysNumber أو MdAbsEntry، يضاعف الصفوف. انظر استعلام التشغيلات التي تنتهي صلاحيتها قريبًا.

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

جداول ذات صلة

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

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

جاهز للبدء؟

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