Valuation problem in planed cost of Project Stock
I'm having a problem with the valuation of materials that uses Moving Average Price while determining the planned cost for a material component in the Project System for a new WBS element.
We are implementing a construction business and it's mandatory that we don't make any ABAP coding in the system for this client. All they stock is purchased for projects on project stock "Q". the plant stock has Zero moving average price or an outdated one.
When I assign a material component to the project with procurement type that stats it's a project stock, the valuation variant of planned cost in the project accesses the project stock table "QBEW" to retrieve the moving average price as planned cost. The table QBEW has a moving price for each WBS element which already has stock of its own.
And since every new project has its own new WBS elements, the valuation variant cannot find any records in QBEW with the WBS element code. And as it fails, it turns to the planet stock table "MBEW" to retrieve the average price per plant as the planned cost.
Some materials have never been purchased for plant stock so the system retieves Zero as planned cost, and issues an error message while trying to determine the cost in T-Code CJ20N (Project Builder) "Cost for Material Component && cannot be determined".
Some other materials are haven't been purchased for plant stock for so long. so they have an outdated moving average price in the plant stock table"MBEW".
I've already solved this problem in the thread below by destining a new valuation strategy using a user exit and assigning it to the planned cost valuation variant.
I've tried to use the strategies (Last PO & Info. Record) but they were a failure as well because the system is searching for something with the same account assignment to compare to, and it will never find it as the account assignment is new every time.
Does anyone have a standard solution to this problem without resorting to ABAP coding?
If so, Please share. Your help will be highly appreciated.
Please also confirm if there is no solution other than ABAP coding via the User Exit.
Richard Tapper replied
We can agree and disagree on many aspects of SAP design, and if the moderators got 1 dollar every time a post suggested that "SAP should" design something a certain way, then they probably wouldn't be working as moderators!!
For you case, I can only suggest that the key point you make is that your WBS elements with the issue are new ones. And there is no magic program to price for new elements. Some customers may require this, some may not. SAP provides the basic structures very well, and you are able to enhance this with your own logic. And for every 100 customers, you will have 100 different methods of aggregating or averaging or segregation of the data to derive a price. SAP cannot cater for all 100, out of the box.
My suggestion re-MR21 assumes you already have the logic to calculate the price per material and new WBS. And you simply reflect this calculated price for new WBS's, as soon as possible after their creation, via a background program. That way you use SAP standard mechanism for project planning - using the current MAP of the component materials.
I'm not from a technical background, but the use of user exits, enhancement spots and BADI's, if properly registered with a developer access key from SAP, will not violate SAP support. SAP provide these tools precisely so you can enhance the logic, and stay in support. And because you use the tools provided by SAP, they will be considered in an upgrade - the upgrade tools may suggest you look at your custom code, but your custom code will not be forgotten. Your ABAP and Basis teams can confirm this.
There is even no guarantee that upgrading a completely pure non-customised system will not create failures in your business. Any change to software introduces risk, including changes the vendor provides. That's why we test.