As a follow up to my blog post 07 Geo-Coding levels and the re-occuring questions and setup-issues in this area, I want to spend this MKS to go a little bit deeper into this topic.
First things first: Multiple Geo-Coding levels are ONLY required when you want to speed up the distance determination!!! As different distance determination strategies can be attached to GC levels, they offer the chance to determine distances based on different coordinate accuracies. In case you are not using this, there is no sense to setup multiple GC levels. This only decreases performance when creating and updating locations (for example during order integration from ERP when using one-time locations) and fills your database with not required data.
How to add a new GC level
When having evaluated the GC level concept and being sure you want to use it, first thing to start is to setup the first GC level.
IMG path to Geo-Coding levels
First GC level
The field strategy is filled with your GIS strategy to determine the geo-coordinates out of location address fields. SAP TM is not coming with a standard external GIS integration, so this requires some coding. Within this copding you can decide then which address fields you want to pass for the current GC level. For the standard you most likely want to use the most detailed information down to the house number. This GC level can then be used for the most accurate distance determination. (Setup in IMG under Transportation Lane->Distance and Duration Determination->Define Strategy for Distance and Duration Determination)
A second GC level could for example pass only the city and postal code information, which would aggregate multiple locations to a single point for the distance determination. Remember that the use case for this is to minimize the external distance determinations when planning. For example for transporation from multiple locations in New York City to multiple locations in Los Angeles it is okay for your buisness scenario to use the very same distance and duration, even though there are small differences in reality.
After having setup this new GC level (what usually is done very early during TM setup, but can also be done later), you have to update the already existing locations (if there are any) using report /SAPAPO/MASS_GEOCODE_LOC.
Mass Geo-Coding report /SAPAPO/MASS_GEOCODE_LOC
Here it is possible to specify a concrete GC level (otherwise all coordinates will be re-determined). After having done this, all existing locations will have specific coordinates for the new GC level in case the external determination has been successfull (result screen informs you about this). From now on the system will automatically determine those for new and updated locations.
You can of course also use the report to update existing coordinates (for example after changing your external GIS product).
How to delete an obsolte GC level
After having read this and the previous blog on GC levels, it might come to your mind that some of your GC levels are not required. So far you have been afraid to delete those in fear of inconsistencies. Don’t!
1. Make sure you don’t have any distance setting using this GC level
2. Delete the GC-Level in the IMG -> From now on all new or updated locations will not have this GC level any longer, but all existing locations still have the value
3. Run report /SAPAPO/DEL_OBSOLETE_GCODE_LVL
Deletion of obsolete GC Levels
Again, my expectation is that a TM system starts with no GC levels. As soon as you want to use a specific external Geo-Coding / Distance Determination, the first GC level is introduced having the specific GIS strategies attached. The second GC level is ONLY introduced to boost performance of the DDD. A third GC level is almost never required.