Professional Documents
Culture Documents
Cost Rollup With Resources: Mascidon, LLC January, 2016 SAP 9.x Only
Cost Rollup With Resources: Mascidon, LLC January, 2016 SAP 9.x Only
Cost Rollup With Resources: Mascidon, LLC January, 2016 SAP 9.x Only
Resources
Mascidon, LLC
January, 2016
SAP 9.x Only
Additionally, this program provides the means to take the costs that were ‘rolled-up’ and move these
costs to a price list. It also provides the means to move prices from a price list to the BOM price list and
price fields - eliminating the need to manually perform this task for each BOM level.
For manufacturing companies that periodically revalue their inventory, this module provides the means
to use a price list to set the new costs for items managed as average cost or standard cost items.
Rolling up costs of ‘items’ in the BOM is the sum of the costs of the components in the BOM times the
BOM quantity. For example, a BOM parent with parts B and C as component items priced at $2 and $4
respectively and having quantity requirements of 3 and 2 respectively would have a ‘rolled-up’ material
cost of $2 x 3 + $4 x 2 = $14.00.
Rolling up the cost of resources in the BOM is slightly more complex. The same logic applies, but
resources can be machines, labor or other types. Each resource can have up to 10 resource cost layers.
For instance, a ‘labor’ resource may have direct labor and overhead as two ‘layers’ of cost. Likewise a
‘machine’ resource could have several costs associated with the resource. For instance, you could define
a depreciation cost and a utility cost. Space utilization costs could be another resource cost layer. Since
‘other’ costs could be anything other than machine or labor costs, it could have up to 10 ‘layers’ of cost.
You define the resources and their cost layers. This program takes the layers and defines them at each
level in the BOM. There are up to 10 ‘buckets’ of costs for each resource – matching the number of cost
layers per resource that SAP defines in the Resource master screen. The roll-up process does the math
for resource costs at each level and accumulates the costs from level to level, ending at the finished
goods level.
The end result of the 'roll-up’ process is a table with 2 buckets of material costs – material costs at this
level in the BOM and the cumulative material up to and including this level. It also has 10 buckets of
‘labor’ costs for labor costs at that level in the BOM, and 10 buckets of ‘labor’ costs accumulated prior to
and including this level. Similarly, there are 10 buckets of ‘machine’ costs for machine costs at that level
in the BOM, and 10 buckets of ‘machine’ costs accumulated prior to and including this level. And finally,
there are 10 buckets of ‘other’ costs for other costs at that level in the BOM, and 10 buckets of ‘other’
costs accumulated prior to and including this level. Remember – not all buckets would necessarily have
costs. If you only defined 2 labor resource costs, then the other 8 buckets would be zero costs.
The cost rollup function is the first process to be run. This is done using the screen shown in Figure 1.1.
The user would input data as follows:
Source of material prices – this is where the system will look to retrieve the component material
costs to use for the cost rollup. There are 3 options available in the drop down:
o Price list – if this is chosen, the list of price lists is shown to the ‘right’ and the user must
choose one of the price lists (Base Price is shown in the example).
o Current cost – if this is chosen then the material costs are obtained from the average
cost or standard cost. If the item valuations are FIFO, then this would revert to ‘Last
purchase price’ for those items.
o Last purchase price – when this is chosen the last purchase price is used to calculate the
material cost.
Material price multiplier – this is a factor to use to adjust the prices for the material prices. It
would be used to simulate a 10% material price increase for example by using a multiplier of
1.10. If rolling-up costs to determine the cost of the finished item, this would normally be set to
1 so that no extra cost factor is added.
Process all items? If this check box is selected, all finished goods items will have their costs
rolled up. Notes:
As the screen is opened, the program grabs the current currency settings for this date for all of the non-
system currencies. If the ‘Currency’ tab is clicked, the user has the option to change the rollup exchange
factor. This grid is shown in Figure 1.2. The user cannot add or delete any part of the grid, they can only
change the rollup exchange factor. For example, even though the currency factor may be 1.5, you may
want to project an upcoming currency factor as part of the cost rollup.
To save the parameters entered, click the ‘Update’ button. The parameters are saved in the table
DCMCOSTRP. If selecting specific items for the rollup function, these items are entered in the ‘items
tab’ grid and saved in the table DCMCOSTROLLUPITEMS. Items can be intermediate assemblies. The
currency factors to use are stored in the table DCMCURRENCY. All of these factors are subsequently
used during the cost rollup.
The currency factors must be in place and non-zero for all currencies that are not the system
default currency. The currency factor for the system currency is de-facto equal to 1.
Either the ‘Process All Items’ flag is checked, or at least one item is included in the item grid. All
items in the grid are subject to these conditions:
o It must be an active item
o It must have a BOM that is associated with the warehouse selected
A valid warehouse code is required.
o Note: drop ship warehouses are not candidates for BOM cost rollups as SAP does not
allow on hand and therefore costs for drop ship warehouses.
If the checks fail, the reasons for the failure are displayed for the user. The user must correct the
problem(s) before continuing.
The items to process are written to the SAP table ‘DCMROLLUPITEMS’ table.
The table DCMCURRENCY is updated with the exchange rates in the currency grid.
The stored procedure DCM_sp_CostRollupInMemSAP91 is called with the following parameters
(in this sequence):
1. The following variable is based on the ‘Source of material prices’ selection:
a. Price list P
b. Last purchase price L
c. Current cost C
2. Price list – the price list number, or 0 if the ‘Source of material prices’ is not ‘Price List’.
3. Warehouse – the warehouse is passed
4. Material price multiplier – the entry from the screen
5. Update all flag if the ‘Process All Items’ check box was checked
The cost rollup process will be initiated and the costs will be written to the table DCMCOSTROLLUP.
This may take a short amount of time – 10 – 20 seconds – if only updating a few BOMs. The amount of
time depends on the number of records in the BOMs selected for update. With about 500,000 records
in the BOM, the update time is 10 – 14 hours. With 100 records in the BOM, the update time is 10 – 20
seconds. The determining factors are: number of levels in the BOM; the number of components in the
BOM; and the activity in SAP at the time the update occurs. The end result is that the costs for material,
labor, machine and other costs are written to the DCMCOSTROLLUP table.
During the cost rollup, the system also rolls up the weight of an item. This is an excellent
‘reasonableness’ test for the BOM. If the BOM rolled up weight differs substantially from the selling
weight, there is likely a BOM problem or a component weight problem.
The detailed cost report shows the costs for each of the labor, machine and ‘other’ cost buckets defined
as resources. The run rates of the operations for each of these resources should be reviewed if one of
the costs does not look correct.
Another means of viewing the costs within the DCMCOSTROLLUP table is a query that can be accessed
from a BOM screen. The query shows the cumulative rolled up costs at each level in the BOM in an
indented manner. See Figure 1.6. It also shows the material, labor, machine and other costs incurred at
each level of the BOM. This report can be used to pinpoint egregious errors in the BOM – whether the
error is a cost factor incorrectly entered, or a BOM quantity factor that is incorrect, or extra or missing
components or sub-assemblies.
Similar to the rolled up costs query, the rolled-up weights query displayed in Figure 1.7 shows the
weights at each level in the BOM as well as the weight contribution at each level in the BOM.
In many instances it is instructive to see the full BOM, including the associated resources. The standard
BOM report from SAP shows only the ‘items’. Figure 1.8 shows the full BOM including the associated
resources.
In many instances it is beneficial to review a ‘Where Used’ explosion for a component. For instance, if
there are manufacturing problems and a component is the cause, you may want to see all the higher
levels where this component item is used. Within the cost rollup module there is a ‘BOM Where Used –
Item Master’ query that provides this functionality from the Item Master screen. Use the ‘Tools
Note: if you have SQL development capabilities access this query to add more fields to this query. For
example, you could add on hand information, cost information, flags for engineering revision, etc..
There are 3 options available. All three require the user to select a price list to process.
Move results to price list takes the rolled up costs that have been calculated and stored in the
DCMCOSTROLLUP table and takes the sum of the costs and moves the costs to the price list
selected. The ‘costs’ are in 4 buckets – Material, Labor, Machine and Other. The user selects
one or all of these costs to be included by checking the appropriate radial buttons. You could
run this process multiple times – moving only the material costs to the price list for example,
and then to a second price list, move all the cost bucket summaries.
Update BOMs from price list – if this option is chosen, then all of the items in the cost rollup
associated with BOMs have their cost and the ‘price list’ updated in the BOM table. Refer to
Figure 2.2. The Prices and the price list information for the items in the selected price list with a
non-zero price are updated. Notes:
o All BOM parent items and children are updated based on the prices in the price list
chosen if the price list price is not zero. If zero, then the price and price list indicated in
the BOM are left as-is.
o You can select which BOM parent / component warehouse information to update by
entering the ‘From’ and ‘To’ warehouses. Only BOM parent warehouses or child item
warehouses that match these are processed during the update. For example, if you
Figure 2.4 Prompts for Query for Items Not Being Revalued
Process Button
The Process button initiates the ‘More’ functions shown in Figure 2.1. Depending on the selections, the
following processing functions take place:
Move results to price list – if this radial button is checked, then the results from the cost rollup
function performed are summarized and moved to the price list chosen. The data in the cost
rollup file is stored by item and includes 31 costs. The 31 costs are in 4 groups:
o There is one material cost bucket
o There are 10 buckets each for the labor, machine and other buckets.
Which of these 31 buckets are summed and moved to the price list for this item is determined
by the radial buttons selected for these 4 cost buckets.