جدول OINM في SAP Business One (يومية المستودع (تدقيق المخزون))

OINM هو يومية المستودع في SAP Business One: صف واحد لكل حركة صنف، مع الكمية المستلمة (InQty) والكمية المصروفة (OutQty) والمستودع والمستند الذي سببها (TransType و CreatedBy). تقرؤه التقارير لسجل حركة الأصناف؛ ويجب عدم الكتابة فيه مباشرة أبدًا.

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

الحقلما يحتويه
TransNumرقم صف اليومية.
TransTypeنوع المستند المصدر، مثل 13 = فاتورة مبيعات، 15 = مذكرة تسليم، 59 = استلام بضاعة، 60 = صرف بضاعة، 67 = تحويل مخزون.
CreatedByمفتاح المستند المصدر (قيمة DocEntry الخاصة به لذلك النوع TransType).
BASE_REFالمرجع الأساسي للمستند المصدر.
DocLineNumرقم السطر في المستند المصدر.
DocDateتاريخ ترحيل الحركة.
ItemCodeالصنف. يُربط بـ OITM.ItemCode.
InQtyالكمية المستلمة في المستودع.
OutQtyالكمية المصروفة من المستودع.
Warehouseمستودع الحركة. يُربط بـ OWHS.WhsCode.

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

لا ينقسم OINM إلى رأس وأسطر: كل صف حركة واحدة لصنف واحد في مستودع واحد. يشير TransType مع CreatedBy إلى المستند، فقيمة TransType = 13 مع CreatedBy = 25 هي فاتورة المبيعات ذات OINV.DocEntry = 25. ويكتب تحويل المخزون (67) صفًا خارجًا من المستودع المصدر وصفًا داخلًا إلى المستودع الهدف. وفي مرجع جداول قاعدة البيانات العام لـ SDK 10.0 تُوثَّق يومية المستودع باسم OIVL ‏(Whse Journal) بأعمدة TransType و InQty و OutQty نفسها، لذلك تحقق من الجدول الذي يعرضه إصدارك قبل بناء تقرير عليه.

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

  • OINM T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode (الصنف)
  • OINM T0 INNER JOIN OWHS T2 ON T0.Warehouse = T2.WhsCode (المستودع)
  • OINM T0 INNER JOIN OINV T3 ON T0.TransType = 13 AND T0.CreatedBy = T3.DocEntry (فاتورة المبيعات المصدر)

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

استخدم OINM لسجل حركة الأصناف، والمخزون في تاريخ سابق كمجموع InQty - OutQty حتى ذلك التاريخ، ومعرفة المستند الذي حرّك صنفًا. أما للمخزون الحالي فـ OITW أبسط وأسرع.

مثال على استعلام: حركة الأصناف لكل مستودع خلال شهر

SQL Server

SELECT T0.ItemCode, T0.Warehouse, SUM(T0.InQty) AS QtyIn, SUM(T0.OutQty) AS QtyOut,
  SUM(T0.InQty - T0.OutQty) AS NetMovement
FROM OINM T0
WHERE T0.DocDate >= '20260101' AND T0.DocDate < '20260201'
GROUP BY T0.ItemCode, T0.Warehouse
ORDER BY T0.ItemCode, T0.Warehouse

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

SELECT T0."ItemCode", T0."Warehouse", SUM(T0."InQty") AS "QtyIn", SUM(T0."OutQty") AS "QtyOut",
  SUM(T0."InQty" - T0."OutQty") AS "NetMovement"
FROM OINM T0
WHERE T0."DocDate" >= '20260101' AND T0."DocDate" < '20260201'
GROUP BY T0."ItemCode", T0."Warehouse"
ORDER BY T0."ItemCode", T0."Warehouse"

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

خطأ شائع: لا تصحّح المخزون أبدًا بأمر UPDATE على OINM

تغيير OINM أو OITW أو OITM عبر SQL غير مدعوم من SAP: تتوقف اليومية والمخزون لكل مستودع وحسابات المخزون في الأستاذ العام عن التطابق. صحّح المخزون بالمستندات بدلًا من ذلك (استلام بضاعة، أو صرف بضاعة، أو ترحيل جرد)، وأبقِ استعلامات SQL الخاصة بك على OINM للقراءة فقط. انظر رموز أخطاء DI API.

جداول ذات صلة

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

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

جاهز للبدء؟

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