Supply Chain Management Blogs by SAP
Expand your SAP SCM knowledge and stay informed about supply chain management technology and solutions with blog posts by SAP. Follow and stay connected.
Showing results for 
Search instead for 
Did you mean: 
Active Contributor

Transportation Optimization can be a very complicated task. Checking the standard scenarios supported by SAP Transportation Management for automatic planning, you quickly get a glimpse of how much information is involved here to steer that powerful engine. Lots of master data coming from the transportation network is involved (locations, zones, schedules, resources, and so on). Lots of TM business documents like freight units, freight orders, bookings also. Profiles to tell the optimizer how to optimize. Constraints like incompatibilities. Well, and out of this massive input in the end you get a result. If its green and the stuff was planned - good. Maybe. But did it pick the best solution I had in mind? If its red - not so good. I need to find out why.

The challenge here was to have a tool available showing that complicated input and the results working for both the advanced user with technical skills analyzing errors on a very detailed level, and something for a planner needing to quickly check what was going on with that planning run. Before TM 8.0 this check had to be done on the optimizer input and output file in a text format. Not very handy... And so arised the optimizer explanation tool.

How to activate it? It can be activated per user as it stores a lot of data using the user parameter '/SCMTMS/EXP'.

How to access it? There are several direct ways after doing a optimization, but the central access point is transaction RCCF_LOG, where you can see all optimization runs. There is a column available 'Ext.Column', showing in case of activated Explanation Tool an icon. Click on it and it will start the tool. The status in the first column tells you if the run was successful or not.

You start with a overview screen having a tree with the input and result nodes:

Lets start with the input. Double click on it and all available tables are shown. As soon as you select a specific table, the content is shown in the detailed section on the right side. So now you have a chance to check for example if there are all vehicle resources passed to the optimizer fitting your selection. In case you miss one here, you might already have found the issue of a failed run.

Same for the result, but here you also see the detailed messages per freight unit / stage. Probably even more important to find the cause for a not planned freight unit.

Some advanced features:

For the experts it is possible to switch on the UUID display of the system internal, non-readable technical identifiers. This helps for example when debugging a scenario or checking corresponding database tables. In the menu under Extras select 'UUID Conversion On' or press F2. The tables are now enhanced with an additional column.

In addition, it is possible to switch on a technical view showing some more tables. These tables usually contain system internal information and require a deep understanding how the system collects the optimizer input. By default switched off to not overwhelm the user of the tool. Nevertheless sometimes helpful for the experts. Technical tables are indicated in the tree.

Here is an example, the Geocoding Level Coordinates used for distance determination.

A nice, but still not complete feature, is the option to display the transportation network on the standard SAP TM geo-map in the Transportation Network Cockpit. Under the input table Location select some or all, and press the button 'Show on Map'. The TNC opens showing your locations. Now you can use the available functions to browse through the network, for example find all schedules for a specific location.

In the menu of the optimizer explanation tool you find some more functions like showing the application log. It is also possible to integrate customer specific functions here.

In general the tool is nice to analyze a planning scenario and figure out if a failed run is caused by missing input or erroneous settings, or if it is worth a CSS ticket.