Navigation from SAP TM screens (a.k.a. what is this pesky “Failed to resolve Object Based Navigation target” error?)
Once in a while I receive questions about an error message “Failed to resolve Object Based Navigation target” that appears when when the user clicks on hyperlinks in SAP TM screns.
Let’s have a look at why this error message appears and how to fix it.
First, by TM screens I mean the Web-Dynpro based applications that are delievered in software component SAPTM. In the product “SAP Transportation Management” there are UIs from various other software layers (like master data from SCM Basis), and usually those are built using SAP GUI – and the concepts described below do not apply to them.
In such a “TM screen”, the source application does not explicitly call an application (it does not even know which). Instead, the source application calls an abstract entity, that corresponds to the navigation to freight unit. This virtual entity is modelled using Enterprise Portal concepts – namely as an “operation” of a “portal business object” (do not confuse it with the BOPF-based business objects that are the foundation of SAP TM). This navigation object, with name SCMTMS_OBN of type /SCMTMS/ON can be visualized in transaction SWO1. However, you won’t find in this transaction any information about which application is actually executed when an operation is triggered.
So how the system knows where to navigate?
The rather counter-intuitive answer is: one of the PFCG roles attached to the user is responsible for it! Each entry in the role menu offers the possibility to attach a reference to an OBN operation (one needs to click on Other Node Details beforehand…)
- the user clicks e.g. on the forwarding order hyperlink in the freight unit UI
- the coding corresponding to the freight unit calls the operation FWD_ORDER of the navigation object SCMTMS_OBN
- the webdynpro runtime inspects the role with which the user loggod on to NWBC (or all of them, if the user did not log on with an explicit role).
- as soon as a matching entry is found, it is executed; in the example above, the Web Dynpro application /SCMTMS/FWD_ORDER is launched
This approach opens the door to role-specific navigation targets. For instance you may have a set of users for which the navigation to the operation FWD_ORDER is resolved to the standard WD dynpro application, and another set of users for which the navigation is resolved to other application (or a separated application configuration), displaying for instance less information than the normal screen.
Troubleshooting navigation issues should therefore start with inspecting the roles attached to the user experiencing the problem.
Whenever the infamous “Failed to resolve Object Based Navigation target XYZ” message appears, none of the roles attached to the user contain the menu entry with the necessary link to the operation XYZ.
A quick way to solve this is to modify the role menu and copy (using button Copy Menus > From SAP Menu > Local) the folder called “OBN-Targets” from any SAP-delivered roles, e.g. from /SCMTMS/TRANSPORTATION_MGR_V2. This folder contains “invisible” entries, which therefore are not displayed in NWBC menu, but contain all necessary OBN assignments required to have the TM navigation working.