SAP PS project scheduling in complex ETO/CTO+ processes for mechanical & plant engineering / heavy industrial machinery
Correct network and thus project scheduling is of paramount importance in SAP PS, especially for complex project schedules like they often occur in ETO/CTO+ scenarios, like e. g. in mechanical & plant engineering or heavy industrial machinery projects (of course this guide is valid for many more industries).
If we take projects from those industries as an example scenario, correct network scheduling in SAP PS plays a critical role in ensuring project success. It enables efficient resource utilization (workforce & material), timeline adherence, risk management, and cost control. By facilitating effective project monitoring and fostering collaboration among team members, it sets the foundation for a well-executed and successful project.
As all of you know, scheduling complex projects in SAP PS is one of the most complex activities possible and there are heavy misconceptions on how it is configured and executed properly.
Especially in mechanical & plant engineering and heavy industrial machinery industries, the leading elements for scheduling are single network activities spread across different networks and sometimes even across several projects, that are scheduled strictly bottom up. That means that the duration of every single activity and their relationship to each other is determining scheduled dates on activity level. These dates are passed bottom up to the network headers and through the work breakdown structure up to the project definition, either with earliest or latest dates as the leading dates.
In SAP PS we have different possibilities on how to schedule one or more projects:
- Project Builder (CJ20N) – Project Definition + “Schedule”
- Project Planning Board
- CN24N (overall network scheduling with levels & subnetworks)
- CN24 (overall network scheduling)
- CJ29 (Project/WBS scheduling)
And because of this multitude of possibilities, I experienced that users as well as consultants have a wrong understanding on how to properly (re)schedule complex projects with a multitude of networks connected to each other.
The usual way is to teach users and consultants to use either the project builder or the Project Planning Board functionalities. Especially for initial scheduling they work just fine and the calculated dates are always correct (at least I never experienced errors).
Please keep in mind, that the sequence of the displayed activities are highly simplified for demonstration purposes and do not represent an accurate picture of the real plant engineering business process.
Standard result from initial scheduling (three networks, each assigned to one level 2 WBSE, with three activities each):
Now the duration of one activity is shortened e. g. due to adjustments in workload or available capacities.This requires the rescheduling of possibly the entire project, if you have end to end activity relationships.
If you reschedule through CJ20N/Gantt the result is not what you would expect. The main problem is that in complex project plans, the wrong scheduling results might go unnoticed or noticed to late. That might have severe impacts on the project schedule from a logistical and also from a commercial point of view:
Solution Design / Best Practice Process
In order to schedule the project correctly, you have to execute a two step process, that works as designed from SAP:
Step 1: Schedule the network activities resp. networks through CN24
Step 2: Schedule the WBS through CJ29, Project Builder or Project Planning Board .The WBS resp. the Project Definition is scheduled correctly and the project (re)scheduling process is finished.
Final thoughts & concluding words
The described solution scenario is neither generally valid for all industries and project scenarios nor it is required for every SAP PS scenario as projects might have a different structure and/or have service or plant maintenance orders integrated.
Therefore proper thoughts and/or consulting about the specific scenario and industry is required. Possibly I will add some insights to additional scenarios and functionalities in the future.
I hope this blog post was helpful for you!