This section describes how a role developer adds a repository (navigation provider).
Different navigation link categories have different purposes. To categorize these a semantic object has been introduced, for example, Products. For this object you define which repository (navigation provider) should be used. In the standard implementation such a navigation provider is the report launchpad. In the report launchpad, you can specify navigation link targets. Hence there is a generic way to specify semantic objects and assign the navigation targets.
The Customizing of the semantic object, the assignment of the navigation provider and of the links in the repository is made in the view cluster using transaction /ui2/nav:
You define new navigation providers in transaction /ui2/navprov.
If you want to use a new repository for navigation targets, you have to create a BAdI Implementation. In the user interface add-on, the launchpad repository is used as a navigation provider. For this a special BAdI implementation is made in the enhancement implementation /UI2/EI_NAVIGATION_LPD.
The enhancement spot used is /UI2/ES_NAVIGATION. Within this enhancement spot you find the BAdI definition /UI2/BADI_NAVIGATION and BAdI interface /UI2/IF_BADI_NAVIGATION.
To include a new navigation provider, you have to create a BAdI implementation of the BAdI /UI2/BADI_NAVIGATION.
For this implementation, the interface /UI2/IF_BADI_NAVIGATION has to be implemented, including 2 methods:
You also have to specify a filter for your BAdI implementation. Take the value of the navigation provider for the filter.