Show TOC

5.12.1 OBN OverviewLocate this document in the navigation structure

Use

The figure below provides an OBN overview and is followed by an explanation:

OBN overview

For the indirect navigation, the symbolic object SalesOrder is introduced with the symbolic method Display. This sequence SalesOrder.Display is, in the first instance, a pure agreement that states that the application always calls the symbolic name SalesOrder.Display that can then be mapped in transaction Role Maintenance ( PFCG) onto any target application within a role that is then assigned to the user. At runtime, the roles assigned to the user are all loaded and scanned for a transaction that is associated with the symbolic name SalesOrder.Display.

The parameter handling is more complex. When the calling application is developed, there is no information available about the target application that is to be selected to handle the call at runtime. The calling application only knows that there is a symbolic name SalesOrder.Display available. In addition to this symbolic method call, a symbolic parameter nr of the sales order, which must be displayed, is introduced. The calling application can set the symbolic parameter.

This introduces the concept of a symbolic interface that is a description of the abstract method that is called with the defined parameters as they should be set for the call. For this example, the symbolic interface is SalesOrder.Display( nr:integer ). The calling application calls SalesOrder.Display( nr = 59 ). Note that in the first instance, the symbolic interface is purely a documented agreement that is not enforced.

In the last step, a new target application must be defined to handle this symbolic interface. The target application has any number of parameters with different names. For example, we wish to call the target application TransactionX( id:integer , mode:string ). While configuring, a parameter mapping must be done. In this case, we want to express that the id parameter must be filled from the symbolic parameter nr. This is achieved with the notation id = {nr}. In addition, we need to hard-code the mode parameter. The complete mapping is then: SalesOrder.Display( nr:integer ) -> TransactionX( id = {nr}, mode = Display ).

Once the interface is defined, the first half is only the sequence to actually call the symbolic interface. The second half is the step to map the symbolic interface onto a concrete application.