A very warm Hello to all!!
This document is a part of the POD (Process Oriented Discussions) Series that I started. The 1st document in this series can be seen here.
This is a question that is asked very frequently in the forum and fortunately I had the opportunity to answer it most of the times. However, because the information is scattered over various threads, I thought of bringing it together in one document, at one place
When inventory is valuated at standard cost (Price control S), it is imperative that standard costs are released before any goods movement take place. In the absence of it, the inventory gets valuated at zero price and subsequently causes series of problems in financial accounting as well as management accounting.
It must be noted that one must validate the field MBEW-LPLPR to validate the existence of released standard cost, and not STPRS.
Using the following enhancements / standard options, existence of standard cost estimates can be validated, before any goods movements are posted
|Production Order / Process Order||BADI- WORKORDER_UPDATE
Method- AT_SAVE / AT_RELEASE
|This BADI helps to have a custom check at the time of creation of production/process order
Method AT_SAVE is called when the order is saved and AT_RELEASE is called when the order is released.
Having custom check at RELEASE would mean that order can be SAVED even without standard cost being released, however, it cant be released
|Production Order / Process Order||BADI – WORKORDER_CONFIRM||This BADI helps to have a custom check when the order is confirmed. Using this BADI, one can validate the existence of standard cost before any operation can be confirmed|
|Production Order / Process Order||BADI – WORKORDER_GOODSMOVEMENT||This BADI helps to have a custom check at the time of Goods movement. Using this BADI, one can validate the standard cost before the GR is posted from the Order. Technically, SAP requires standard cost to be released before the GR is posted in order to be able to calculate variance categories|
|Product Cost Collector||REM Profile||In REM profile, there is option to backflush the activity consumption at standard cost.
Using this option, one can validate the existence of standard cost.
|Purchase Order||BADI – ME_PROCESS_PO_CUST||This BADI helps to have a custom check when the Purchase order is created.
This is useful to validate standard cost when a material with Price control S is externally procured (Normal procurement or Sub-contracting)
|Goods Movement from Purchase Order||BADI – MB_MIGO_BADI||This BADI helps to have a custom check when the goods movement from Purchase order is posted (MIGO)
This is usefulif one wants to validate the standard cost at the time of GR against Purchase order or STO
|Sales Order||Exit – MV45AFZB||This userexit helps to have a custom check when the sales order is created
Ideally, if a validation takes place at Purchase / Production order, this check is usually not required.
|PGI against Sales Order||BADI – LE_SHP_DELIVERY_PROC||This BADI helps to have a custom check at the time of PGI.
Using this BADI, one can validate standard cost at the time of PGI
|Billing against Sales order||Exit – RV60AFZZ||This userexit helps to have a custom check at the time of Billing.
However, if Costing Based COPA is implemented, using COPA valuation (Costing Keys) one can validate the existence of standard cost
Using the knowledge gained above, one can decide the best point(s) at which the custom check is required.
Note that the Userexits / BADIs mentioned above can be used not only to validate the existence of standard cost, but for any other custom check that is required during that process
Thankyou for reading the document and do share your feedback!!
Br, Ajay Maheshwari