ما هو مثال لجملة استعلام عن الكميات المتاحة في تخطيط الموارد بالتصنيع (MRP)؟

Viewed 1

أرغب في الحصول على مثال لجملة استعلام SQL تُستخدم داخل تخطيط الموارد بالتصنيع (MRP) للاستعلام عن الكميات المتاحة من صنف معين على مجموعة محددة من المخازن.


Originally posted at https://answers.namasoft.com/question/147/.

1 Answers

المثال التالي يوضح كيفية الاستعلام عن الكميات المتاحة لصنف معين خلال تخطيط التصنيع، مع تقييد النتيجة بمجموعة محددة من المخازن وبتاريخ معين:

select case
         when sum(q.inBasePValue - q.outBaseSValue) < 0 then 0
         else sum(q.inBasePValue - q.outBaseSValue)
       end
from QtyTransLine q
left join Warehouse w on w.id = q.warehouse_id
where q.valueDate     <= {valueDate}
  and q.item_id       =  {$currentLine.invItem.id}
  and q.legalEntity_id = {legalEntity.id}
  and w.code in ('001','002','...')

ملاحظات على المتغيرات المستخدمة:

  • {valueDate} — التاريخ الذي يُحسب عنده الرصيد.
  • {$currentLine.invItem.id} — معرّف الصنف من السطر الحالي في وثيقة تخطيط التصنيع.
  • {legalEntity.id} — معرّف الكيان القانوني (الشركة).
  • w.code in ('001','002','...') — استبدل هذه القائمة بأكواد المخازن التي ترغب في تجميع رصيدها.

التعبير case when sum(...) < 0 then 0 else sum(...) end يضمن عدم إرجاع كميات سالبة كرصيد متاح، حيث يُعامَل أي عجز كصفر.


Originally posted at https://answers.namasoft.com/question/147/.