Showing results for 
Search instead for 
Did you mean: 

MRP - a simplified version?

Former Member
0 Kudos

Hi All,

To explain what I'm doing I'll first explain what happens when we run the MRP function within SAP B1 v8.82.

We run the function for Company wide warehouses with a 6 month window showing Purchase Orders, Sales Orders and Production Orders. The Stock Data Source is by Company.

We have around 300 lines of data showing. Some items are already purchased and our only method of finding this out is to go through individual items, go to Available to Promise, etc to see if it is ordered for this specific job. I would prefer if the demand has been met that we do not see it on the MRP screen again. The ideal scenario is that the MRP report is empty as all demands are met. But this is not the case and as well as other tasks during the day we still go down through this 300+ lines of data.

So I have been looking at considering using something like the following which looks at basic information where Demand = In Stock-Committed+On Order and using this simplified formula to drive procurement.

SELECT T0.[ItemCode], T0.[ItemName], T2.[ItmsGrpNam],  T1.[IsCommited] As 'Committed',( T0.[OnHand] + T0.[OnOrder]) As 'In Stock and on Order', T0.[LastPurDat], T0.[MinLevel],T0.[MinOrdrQty] ,  T0.[AvgPrice]

FROM [dbo].[OITM]  T0

INNER JOIN [dbo].[OITW]  T1 ON T0.ItemCode = T1.ItemCode

INNER JOIN [dbo].[OITB]  T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod

WHERE ( T0.[OnHand] +  T1.[OnOrder] ) < T1.[IsCommited] and  T1.[IsCommited]  <> '0' and T0.[PrcrmntMtd] <> 'M'

ORDER BY T2.[ItmsGrpNam]

I have not used minimum stock levels as part of this but should be quite easy to incorporate.

I would appreciate your views on where this process may fail as I find the MRP just too time consuming and as much as I've looked at videos and tutorials I can't see a way to improve the functionality to where I want it.


Accepted Solutions (1)

Accepted Solutions (1)

Active Contributor
0 Kudos

Hi Alan,

We faced the same problem where B1's MRP system was both to laboursome to use and it did not work according to our business logic.

We solved this issue by building a simple .net windows application (grid and a couple of buttons), that shows items according to our needs, extended sales and purchase data, has all kinds of filters and settings (some bound to userfields in B1), and even calculates sales trends, and uses the DI API to actually create purchase and/or production orders into B1.

Tip: in your query use OITM.MinOrder (Required Inventory) instead of OITM.MinStock (Minimum Inventory), as MinStock will block sales or at least throw annoying warnings left and right.



Former Member
0 Kudos

Thanks Johan.

Between our Sap Support telling us that "here's how it works" and us viewing every conceivable video on its use we thought we were missing something. I'm glad you share our experience.

Time to learn a bit of .net I well as Crystal Reports, Sql, etc, etc!!

And thanks for the pointer on the Minorder. We generally use the OINM.MinOrderQty for any calculations on Purchase Orders as it remains detached from min stocks. Once it's triggered to purchase this is the value we use.

Former Member
0 Kudos

Hi Johan,

I am being asked to do something very similar to what you described. I am very limited on resources and time to get this done, so I came here looking for queries to get me started. I was wondering if you could send me a message. I would like to discuss what you have already created in .net. I don't think I will need to go as far as using the DI API for order creation, I am mostly looking to build a more dynamic tool for reporting.

Answers (0)