Schedules are a huge topic for SAP TM, so no way to cover everything in a single MKS. I start with the history and a quick overview. I know that for most of what I am going to explain there is more to say, or an exception, or limitation, or additional requirement...
Compared to a purely dynamic routing based on transportation lanes (maybe limited from a time perspective by opening hours / calendars), schedules bring in some fixation. Typical examples for schedules are ocean (or air, or rail) schedules telling you when a ship will be at which port. But schedules are also relevant for road. You have a truck transporting goods from a warehouse to multiple stores in a certain sequence with a specified time at each store. So to say it a bit more abstract, the fixation can be geographical, temporal, and for the vehicle resource assignment.
The challenge for SAP TM schedules is exactly to balance this fixation with the required flexibility of not having to fix everything. To give a simple example: Your schedule runs dailly in a location sequence A->B->C->D, but shall only stop at C when there is something to drop off there. Simple at first sight, but taking a deeper look it isn't so simple. When skipping C, you probably have a different arrival time at D, don't you? Or maybe not, because you are only allowed to be there between a certain time span? Maybe when skipping C, the cost for using this schedule is lower? And so on and so on. While checking a specific customer scenario from a consultant's perspective, the answers might always be easy to give. But keep in mind SAP TM is for ALL modes of transport, ALL different types of inbound and outbound scenarios, and different businesses. And all of this shall in addition be handled during automatic optimization.
With SAP TM 8.0 (and actually starting with the first release of SAP TM ever), the SCMB master data object schedule was used. This schedules was derived from the static route used for the Static Routing Guide engine (EWM and gATP). While already working pretty good from a functional point of view having the experience of a live engine, the SCMB schedule had some downsides. Its maintenance UI being based on SAP GUI was really cumbersome. The flexibility in the schedule definition (for example optional stops, transportation zones as stops) could not be handled during optimization. Nothing transportation mode specific. Difficult to enhance. Difficult to personalize.
Seeing all the ocean, air, and rail specific requirements coming for the next TM releases, it was decided to move the functionality completely into the TM layer to get rid of the limitations. New database, new business object, new modern FPM maintenance UI, new integration into planning, new upload capabilities, mode and planning specifics covered by schedule types . As this could not be done in a single release, TM 8.1 came with the 'old' SCMB schedules and the 'new' TM schedule (purely for ocean).
With TM 9.0 the 'old' SCMB schedules are obsolete and no longer available. The TM schedules can be used for all modes.
So here is the new TM schedule UI (with a ocean schedule):
To make it transportation mode specific, you have to select a schedule type when creating the object:
This schedule type can be defined in the TM customizing:
You see there are lots of settings. I want to highlight the option to make it mode specfic and the chance to attach a custom Web Dynpro UI Application configuration to it. This makes the UI completely flexible to cover all coming requirements for validations, new fields, ...
So if you are currently in a TM 8.0 / 8.1 project, it is recommended to carefully evaluate the usage of the SMCB schedules as they will become obsolete when upgrading. Depending on how deep you are already into the project, it might be worth considering to switch to TM 9.0 as already some customers did.
Next time, if there is some interest in this topic, I might explain the schedule type settings a bit more in detail.