Show TOC

Adding Repositories (Assigning Navigation Providers)Locate this document in the navigation structure

This section describes how a role developer adds a repository (navigation provider).

Customizing View for Semantic Object and 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:

  • In the view cluster you have to specify the semantic object : Toplevel - Register Semantic Object
  • On the next level you specify which navigation providers are used for the semantic object: Second Level - Register navigation provider
  • On the lowest level the specification of the repository keys is made: Register Keys for navigation provider. Here you can specify one or more key/value-pairs to identify in an unique manner the related navigation targets in the repository of the navigation provider.

    You define new navigation providers in transaction /ui2/navprov.

BAdI-Implementation for Navigation Provider

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:

  • GET_TARGETS: Method to retrieve target information of repository (List)
  • GET_TARGET_DATA: Method to get target information details for the navigation (resolved link)
  • GET_KEY_NAMES: Method to get key names for navigation provider (value help)
  • GET_KEY_VALUES: Method to get key values for navigation provider (value help)

You also have to specify a filter for your BAdI implementation. Take the value of the navigation provider for the filter.