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

Viewed 11

أرغب في الحصول على مثال لجملة استعلام 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/.