Our costing runs in SAP PLM cost management have become painfully slow over the past two months. What used to take 3-4 hours now runs for 12+ hours, and we’re missing our monthly cost rollup deadlines. We’re processing approximately 85,000 materials with multi-level BOMs.
The performance degradation seems related to our costing variant configuration and batch job scheduling. We’re using transaction CK40N for standard cost estimates with quantity structure. The material master data volume has grown by about 30% this year, but I don’t think that fully explains the 3x slowdown.
We’ve checked database statistics and they’re current. System resources show high CPU during runs but no obvious bottlenecks. Has anyone optimized costing run performance for large material volumes? What’s the best approach for batch job scheduling with this scale?
Also look at your costing lot size settings. If you’re using actual lot sizes that vary widely, the calculation overhead increases dramatically. Consider using fixed lot sizes for costing purposes where business rules allow. And review your overhead costing sheets - complex calculation schemas add significant processing time.
Your material master data volume growth is more significant than you think. 30% more materials means exponentially more BOM relationships to process in multi-level costing. You need to archive obsolete materials and clean up your master data. We archived 15,000 inactive materials last year and saw immediate performance improvement in costing runs.
We’re running a single job currently. How do you handle dependencies when splitting across material groups? Some of our materials have cross-group BOM dependencies that need costs from other groups calculated first.
For dependencies, you need to sequence your parallel jobs. Run purchased materials first, then manufactured components, then finished goods. Set up job chains with predecessor relationships in SM36. This handles cross-group dependencies while still getting parallelization benefits.
The batch job scheduling is critical here. Are you running one massive job or splitting by material groups? We split our costing runs into parallel jobs by material type and plant combination. Reduced our runtime from 14 hours to 5 hours. Also check your batch work process allocation - you might not have enough parallel capacity configured.
Check your costing variant configuration - specifically the explosion parameters and valuation settings. If you’re exploding all levels every time, that’s your problem. Use incremental costing where possible and set proper explosion depth limits.