المخزون حسب المستودع

الكمية المتوفرة والمحجوزة والمطلوبة والمتاحة لكل صنف ومستودع.

الجداول: OITW, OITMالاستخدام: مراجعات المخزون اليومية وتوفر الأصناف للمبيعات.

الأداة

SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, T0.IsCommited, T0.OnOrder,
  T0.OnHand - T0.IsCommited + T0.OnOrder AS Available
FROM OITW T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
WHERE T0.OnHand <> 0 OR T0.IsCommited <> 0 OR T0.OnOrder <> 0
ORDER BY T0.ItemCode, T0.WhsCode
تحتاج حقولك المخصصة (UDF) في هذا التقرير، أو لوحة معلومات؟ نوسّعه لشركتك.خصّصه ←

ما الذي يجيب عنه هذا الاستعلام

مندوب مبيعات على الهاتف مع عميل ويحتاج معرفة ما إذا كان يستطيع الالتزام بصنف ومن أي مستودع. يُظهر هذا الاستعلام ما هو موجود فعليًا، وما هو محجوز بالفعل لطلبات أخرى، وما هو في الطريق.

مثال على النتائج

قيم تجريبية توضيحية. أعمدتك هي نفسها؛ والأرقام تأتي من شركتك.

ItemCodeItemNameWhsCodeOnHandIsCommitedOnOrderAvailable
A00001Laser Printer 1420011203050140
A00001Laser Printer 142002400040
A00002Inkjet Printer 600011520105
A00003Toner Cartridge Color01082517

SQL Server مقابل SAP HANA

لا يتغير SQL إلا في الاقتباس؛ ويجب كتابة عمود SAP ذي الإملاء الخاطئ "IsCommited" (بحرف t واحد) بين علامتي اقتباس مزدوجتين. وتعمل شروط OR وحساب Available بالطريقة نفسها في HANA.

صيغ بديلة

المستودعات القابلة للاحتساب فقط (Nettable)

SQL Server

SELECT T0.ItemCode, T0.WhsCode, T0.OnHand, T0.IsCommited, T0.OnOrder,
  T0.OnHand - T0.IsCommited + T0.OnOrder AS Available
FROM OITW T0
INNER JOIN OWHS T2 ON T0.WhsCode = T2.WhsCode
WHERE T2.Nettable = 'Y'
  AND (T0.OnHand <> 0 OR T0.IsCommited <> 0 OR T0.OnOrder <> 0)
ORDER BY T0.ItemCode, T0.WhsCode

SAP HANA

SELECT T0."ItemCode", T0."WhsCode", T0."OnHand", T0."IsCommited", T0."OnOrder",
  T0."OnHand" - T0."IsCommited" + T0."OnOrder" AS "Available"
FROM OITW T0
INNER JOIN OWHS T2 ON T0."WhsCode" = T2."WhsCode"
WHERE T2."Nettable" = 'Y'
  AND (T0."OnHand" <> 0 OR T0."IsCommited" <> 0 OR T0."OnOrder" <> 0)
ORDER BY T0."ItemCode", T0."WhsCode"

الإجمالي لكل صنف في كل المستودعات

SQL Server

SELECT T0.ItemCode, T1.ItemName, SUM(T0.OnHand) AS OnHand,
  SUM(T0.IsCommited) AS IsCommited, SUM(T0.OnOrder) AS OnOrder,
  SUM(T0.OnHand - T0.IsCommited + T0.OnOrder) AS Available
FROM OITW T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
GROUP BY T0.ItemCode, T1.ItemName
ORDER BY T0.ItemCode

SAP HANA

SELECT T0."ItemCode", T1."ItemName", SUM(T0."OnHand") AS "OnHand",
  SUM(T0."IsCommited") AS "IsCommited", SUM(T0."OnOrder") AS "OnOrder",
  SUM(T0."OnHand" - T0."IsCommited" + T0."OnOrder") AS "Available"
FROM OITW T0
INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode"
GROUP BY T0."ItemCode", T1."ItemName"
ORDER BY T0."ItemCode"

إخفاء الصفوف ذات المخزون الصفري

SQL Server

SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand
FROM OITW T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
WHERE T0.OnHand > 0
ORDER BY T0.ItemCode, T0.WhsCode

SAP HANA

SELECT T0."ItemCode", T1."ItemName", T0."WhsCode", T0."OnHand"
FROM OITW T0
INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode"
WHERE T0."OnHand" > 0
ORDER BY T0."ItemCode", T0."WhsCode"

المخزون على مستوى موقع التخزين (عند تفعيل مواقع التخزين)

SQL Server

SELECT T0.ItemCode, T1.WhsCode, T1.BinCode, T0.OnHandQty
FROM OIBQ T0
INNER JOIN OBIN T1 ON T0.BinAbs = T1.AbsEntry
WHERE T0.OnHandQty <> 0
ORDER BY T0.ItemCode, T1.BinCode

SAP HANA

SELECT T0."ItemCode", T1."WhsCode", T1."BinCode", T0."OnHandQty"
FROM OIBQ T0
INNER JOIN OBIN T1 ON T0."BinAbs" = T1."AbsEntry"
WHERE T0."OnHandQty" <> 0
ORDER BY T0."ItemCode", T1."BinCode"

الأخطاء الشائعة وحلولها

  • المخزون يبدو أعلى مما يستطيع المستودع بيعه: المستودعات غير القابلة للاحتساب (مثل البضاعة التالفة أو بضاعة الأمانة) مشمولة. اربط OWHS وصفِّ بالشرط Nettable = 'Y'.
  • الإجماليات لا تطابق OITM.OnHand لكل مستودع: OITM.OnHand هو الإجمالي في كل المستودعات. الكمية لكل مستودع موجودة في OITW فقط.
  • Invalid column name 'IsCommitted': يكتب SAP B1 عمود الكمية المحجوزة IsCommited بحرف t واحد. استخدم T0.IsCommited.
  • Available يبدو مرتفعًا جدًا للطلبات العاجلة: يضيف Available الكمية OnOrder، وهي تشمل أوامر شراء قد تصل بعد أسابيع. استخدم OnHand - IsCommited لما يمكن شحنه اليوم.
  • أصناف الخدمات ليست في القائمة: أصناف المخزون فقط لها صفوف في OITW. الأصناف غير المخزنية وأصناف الخدمات لا تظهر أبدًا، وهذا متوقع.
المخزون

استعلامات ذات صلة

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

طريقة العمل

ثلاث خطوات بدون تسجيل

1

انسخ النسخة المناسبة

استخدم تبويب SQL Server لقواعد بيانات MS SQL، وتبويب HANA لـ SAP B1 على HANA.

2

افتح مولّد الاستعلامات

في SAP Business One اذهب إلى الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator)، والصق الاستعلام وانقر تنفيذ (Execute).

3

احفظ وشارك

انقر حفظ، واختر فئة، وسمِّ الاستعلام. يستطيع فريقك تشغيله من مدير الاستعلامات.

الأسئلة الشائعة

أسئلة حول هذه الأداة

كيف أشغّل استعلام «المخزون حسب المستودع» في SAP Business One؟

انسخ النسخة التي تناسب قاعدة بياناتك، وافتح الأدوات ← الاستعلامات ← مولّد الاستعلامات، والصقه في مربع SQL وانقر تنفيذ. احفظه لإعادة استخدامه لاحقًا.

ما الجداول التي يستخدمها هذا الاستعلام؟

يقرأ OITW، OITM من المخطط القياسي لـ SAP Business One. لا يحتاج إلى أي حقول معرّفة من قِبل المستخدم.

هل يمكن تحويله إلى لوحة معلومات أو تنبيه؟

نعم. نحوّل الاستعلامات إلى تقارير Crystal، أو تقارير Excel تتحدّث تلقائيًا، أو تنبيهات SAP B1، أو رسائل واتساب للمديرين.

تحتاج هذا داخل SAP Business One؟

نطوّر إضافات وتقارير وتكاملات لـ SAP B1 على SQL Server و HANA. أخبرنا بما تحتاجه واحصل على سعر ثابت، عادةً خلال 24 ساعة.