Authors: Loganath Karthikeyan (I014309) Dhaval Desai (I046385

)

FBI Cookbook
26. August 2009

Distribution List: DL CSM All

1 Overview
This cookbook intended for UI Designers, UI Developers and UI Administrators. Rapid FPM based UX compliant UI Application development for Business Objects implemented n BOPF using FBI/PBI libraries is detailed in this document.

1.1 Architectural Overview
1.1.1 Business Object Processing Framework (BOPF)
BOPF framework supports Rapid Development Business Objects in Model Driven Environment. Overview of BOPF can be found in the picture below. More details can be found in BOPF wiki.
Service Consumer
Post Processing Human Framework

Human
User Interface

Generic Service Consumer

R
R

R

Business Object Processing Framework Model

Transaction Management

BOPF Service and Transaction Manager
R

R

Business Application
Determination
R

R

Validation
R

R

Runtime Model

BOPF Model

Action

Business Object Processing Framework Runtime

Association
R

R
R

Query

Legend
Service Consumer Implementation

Value-Set
R

R Node Defaults R R Status & Action Management

BOPF Framework

R
R Buffer Dispatcher
R

R

Buffer

Delegation

BOPF-Default Implementation

R Business Object Data

Data Access

Application-specific Implementation

Figure 1: Overview of BOPF

Modeling an Application Business Object in BOPF involves Definition of Document structure with the help of BO nodes, including definition of interface data structure for BO nodes; Mapping of application data between BO nodes and underlying DB tables Defining Queries to facilitate search on DB tables including definition of search criterion Defining Actions to facilitate consolidated changes to application data driven by service consumer Definition & Development of Business Checks as Validations Definition & Development of Event Driven data Modifications as Determinations Definition of special associations – intra BO and inter BO ... Composition view of a typical Business Object Modeled in BOPF is shown below.

Figure 2: Example BO (Demo) Sales Order
BOPF exposes Services of Business Object in Standardized Interface Patterns. This means At every Node of the Business Object, we have Create, Update, Delete Services Retrieve, Retrieve By Association, Retrieve Property (field control) Services Action, Query, Check Services External ID to Internal ID Key conversion services … Also, we have Save & Cleanup services to manage the transaction.

. Action. .The following are the interfaces corresponding to interface pattern exposed by BOPF. it is possible to develop generic adapters/libraries to assist in consumption of BO services in UI layer and other channels.1 Example Business Objects FBI/PBI examples illustrated in this cookbook are based on the Business Objects depicted in the picture below. services As depicted in the BOPF overview picture. As BOPF BO models are machine readable and as the services of BO are exposed using Standardized Interface Patterns.1. Retrieve. Figure 3: Example Business Objects The above figure depicts the example business objects with intra BO associations (associations among the nodes of the same BO) and inter BO associations. Interface /BOBF/IF_TRA_TRANSACTION_MGR /BOBF/IF_TRA_SERVICE_MANAGER Purpose Transaction Manager for save & cleanup services Service Manager for BO specific Modify. a service consumer calls BOPF transaction manager and service manager to consume state-full services of the Business Object. 1. Query.. Business Objects are /BOBF/DEMO_SALES_ORDER /BOBF/DEMO_CUSTOMER /BOBF/DEMO_PRODUCT . FBI/PBI provides generic adapters to consume services of BOs in Webdynpro environment.1.

2 Floor Plan Manager (FPM) Floor Plan Manager promotes modification free composition of discrete UI Building Blocks (UIBB) complying with UX guidelines. Currently FPM offers 3 GUIBBs (Form/List/Search). changeability in UI UI Administrator/Designer is able to o o Create UI layout as Web dynpro configuration for standard GUIBB Form/List/Search And assemble such discrete GUIBB configuration in an Application configuration FBI aims at providing generic GUIBB feeder classes to consume services of BOs in FPM applications. . Developing UI building Blocks using GUIBBs means Application provides a suitable feeder class implementation by which Application o o o o o Provides a field catalog to GUIBB design time & GUIBB runtime Provides Data at runtime Accepts UI changes at runtime by calling Application middleware Handles UI events at runtime by calling Application middleware Provides field control data to control visibility. Overview of FPM can be found in the picture below.1. where the application only provides the data and a layout configuration. More details can be found in FPM wiki.1. Figure 4: Overview of FPM GUIBBs are centrally provided UIBBs. This promotes customers to freely extend UI applications. The rendering is done by the GUIBB.

Editing data of BO node instances in GUIBB List / Form Accepting Action Parameter Values & Invoking Action on BO node instances OVS based on BO node queries Input of external IDs in initial screen and subsequent conversion of external IDs to Internal IDs. and delivers a fully assembled application. Generic FPM Application Feeder classes & relevant application configuration are provided in order to consume services of Business Objects modeled in BOPF. To get customer installation specific UI variants. following UI specific services are supported Navigation to Multiple targets Calling Dialogs and editing of application data in Dialogs Support for UI specific non-BOPF actions . such applications have to be modified at customer site. where UI developer develops multiple web dynpro components with fixed view layouts.This approach is different from traditional development of Web dynpro Applications.3 Floor Plan Manager BOPF Integration (FBI) FBI provides configurable integration of FPM and BOPF based BOs. Thus BOPF BO services can be consumed seamlessly in a modification free UI environment. Functionally FBI supports all kinds of service calls to BOPFed BOs. 1. (Alternate Key conversions) In addition.1.

Overview of FBI can be found in the picture below. The picture below depicts building blocks of FBI. suitable generic Feeder class is provided to enable editing of Application data in Forms/Lists. Additionally this feeder class can also be called from freestyle UIBBs to ease consumption of BOPF services. . Figure 5: Overview of FBI As you can find in the picture.

1 Design Time Objects/Configuration Object FBI View FBI View Usage Purpose Helps joining application data across multiple related BO nodes.3 Terminology Term BOPF FPM Abbreviation Business Object Processing Framework Floorplan Manager Meaning / Use Supports Rapid Development of Business Objects in Model Driven Environment Floor plan Manager promotes modification free composition of discrete UI Building Blocks complying with UX guidelines.2 Runtime Objects 1. where the application only provides the data and a layout configuration. UIBB UI Building Block (FPM) GUIBB Generic User Interface Building Block(s) (FPM) POWL OVS FBI PBI FBI View Personal Object Work List or POWER List Object Value Selector Floorplan Manager BOPF Integration Personal Object Work List BOPF Integration FBI view This is a FBI design time configuration object helps joining application data across multiple A value help mechanism supported by Web dynpro. These building blocks can be either freestyle UI building blocks or Generic UI Building Blocks (GUIBBs) GUIBBs are centrally provided UIBBs. POWL support is extended to BOPF based BOs with the help of the POWL definition.sap. Facilitates reuse of FBI view in the context of multiple hosting BO and multiple DO representation nodes with in a single hosting BO.4 POWER List (POWL) BOPF Integration (PBI) 1.1.1. .sdn.1.com/irj/scn/go/portal/prtroot/docs/library/uuid/90f3cfd2-46d0-2b10-b3abeabf3452cc50 1.3.3. Extension to POWL Type linking it to ‘FBI View Usage’ so that queries on underlying BO nodes can be served in POWL PBI Definition 1. A typical floor plan consists of discrete UI building blocks. The rendering is done by the GUIBB.1.2 FPM floor plan configuration Link to FPM cookbook https://www.

a) Generic GUIBB feeder classes for List/Form GUIBBs in order to edit/display application data of BO nodes b) Generic GUIBB feeder classes for input of BOPF Alternate Keys facilitating identification of BO instances using External IDs . Like any application configuration data. This helps convenient presentation of application data in GUIBBs. Repeated definition of Node Views for every unique use of DO nodes is avoided. these definitions can be SAP standard deliveries / customer specific / partner specific etc. To promote reuse of FBI View definition corresponding to multiple use of DO nodes. c) PBI Definition: POWL support is extended to BOPF based BOs with the help of the POWL definition. OIF GAF Object Instance Floorplan Guided Activity Floorplan The configuration objects are meant for convenient abstraction of BO node data structures into equivalent UI structures helping UI modeler to even define joins between node data structures allowing filter conditions to be maintained for the joins. FBI View usage is a cross client design time configuration object. This is particularly useful in modeling GUIBBs for dependent object nodes. FBI can be divided into two parts: FBI Design Time: Design Time configuration Objects refer to BOPF model elements. Also. Optionally additional data can be merged from related BO nodes (DB like join) for convenient presentation of data FBI View is a cross client design time configuration object. FBI provides four configuration objects: a) FBI Node View: A FBI View helps represent a join of application data between related BO nodes. FBI Node View primarily represents application data of a given BO node.Term FBI View Usage Abbreviation FBI View Usage Meaning / Use related BO nodes. In design time. Being normal configuration tables these fit well within enhancement strategies. b) FBI Node View Usage: FBI Node View usage represents use of a FBI Node View in context of a particular hosting BO. Suitable feeder classes & runtime classes are provided in the design configuration. Extension to POWL Type linking it to ‘FBI View Usage’ so that queries on underlying BO nodes can be served in POWL FBI Run Time: Feeder classes & runtime classes use configuration objects and connect to BOPF runtime using BOPF lean transaction manager and service manager in FBI runtime. An FBI view definition for Dependent Object Node can be reused in the context of multiple Hosting BO & multiple DO representation nodes with in a single hosting BO. FBI View usage is used. FBI View represents design time objects. suitable OVS based value helps are promoted by these objects (associated binding/filter conditions can be maintained).

c) Generic GUIBB feeder classes for input of application data in BOPF Action Parameter Structures so that BOPF actions with parameters can be invoked in FPM applications d) Generic POWL Feeder classes to Invoke Query on BO nodes Invoke Action on BO node instances Delete BO Instances Launch FPM Application Configuration to display/change application data .

only one Include + Equal+ Low entry are permitted for assoc filter conditions. Data maintenance of FBI Node View is facilitated through view cluster. 2. Also access to ABAP Constant in program runtime is permitted.1 Configure FBI Views on a BOPF BO (FBI Node View) A FBI Node view is • • Is related to a BO node Optionally accepts UI structure which is an extended version of BO Node data structure o o UI structure can be the same as combined data structure of the BO node UI structure can have additional UI specific fields like Date/Time/Time zone fields complementing time stamp Descriptions of code values Printable/Descriptive values for Identities (Printable address text complementing of Business Partner ID) … • Optionally accepts a data mapper class to map data of BO node to UI structure o Standard Data mapper is delivered with FBI (/BOFU/CL_FBI_VIEW_MAPPER) which simply does MOVE-CORRESPONDING statement to move data between BO node and UI data structures Data mapper class to be used only when UI structure is mentioned and is different from BO node data structure o • • • Group Name for data of BO Node in output structure (GUIBB) is accepted as a parameter for convenient handling of application data Can mark the view to be read-only Can accept field descriptions for UI structure fields o o o Domain Value list usage Check Table value list usage OVS usage based on Query on any BO node with associated input/output binding Input Binding values are accepted as range tables. Filter condition values are accepted to SELECT-OPTIONS.e. intra BO associations and inter BO associations (DB like join) for convenient presentation of data . Since association parameter structure does not permit ranges tables.1.1 Related Views Related are configured so that the data can be merged from related BO nodes i.2 FBI design time Entities Maintenance 2.

. you need to create a component configuration for the application controller. Also access to ABAP Constant in program runtime is permitted.1. Figure 6: Component Config.2 Non-BOPF Action Configuration Non BOPF actions can be classified into two categories based upon their position on the UI: o o Toolbar actions Actions at the GUIBB level In the FBI View cluster /BOFU/VC_FBI_V.1. define parameters and generate the program Generate the object type Go to transaction LPD_CUST and create a launch pad Create a launch pad role for your application . 2.1 cardinality Filter conditions are accepted as range tables. For Application Controller 2.2. you can associate non BOPF actions to your FBI view.• Related views refer to other FBI Node Views following associations on the given BO node o o o Suitable filter/selection condition can be specified for the association parameter structure (optional) Suitable filter/selection condition can be specified to filter the data of related nodes to 1:0. Following steps needs to be executed: o o o o o Go to transaction SWO1 and create an object/interface type Create an appropriate method.1 Navigation configuration against Actions You can navigate to other application by triggering non BOPF actions using the application controller configuration. To enable non BOPF actions in your application.

• • • • Maintain appropriate business object Maintain activity Maintain system alias In the ‘Advanced Parameters’.1.2) and add ‘custom actions’ in the configuration context . maintain Application alias Figure 7: Launch Pad Role o Go to your application controller (the one created in step 2.

Figure 8: Custom Actions in Application Controller o Provide the appropriate values in the “Attributes of the Element customActions”. Attribute of the Element Custom Actions FPM Event ID Role Instance applAlias Value Name of the custom action Launch Pad Role (T code = lpd_cust) Launch Pad Instance (T code = lpd_cust) Application alias defined in the launch pad application (T code = lpd_cust) .

Figure 9: Attributes for Custom actions o This application controller needs to be maintained in the global settings of your application (OIF component) .

Figure 10: Global Settings of OIF component o o o Go to transaction PFCG and create a role Assign your user to the role In the ‘Menu’. add your web dynpro applications i.e. source and target application .

Figure 11: User Role
o In this case, the source application is Sales Order Application and the target application is the customer application i.e. we have modeled a non BOPF action called ‘DISP_CUST’ on the top level GUIBB of sales order application which uses customer number as input and triggers navigation to the customer application. In Sales Order application maintain the details as shown in the fig. below.

o

Figure 12: Application details in User Role
o o Similarly maintain the details in the customer application Also in the customer application, maintain additional details as shown in the fig. below. Here you need to maintain the method and the parameter which you had created in your business object (T code = SWO1)

Figure 13: Additional Details for the target application
o Add the custom action in your GUIBB.

add a top level GUIBB. Such a configuration is supported in FBI.Figure 14: Custom action in GUIBB o o o o Log on in the system via NWBC Since your user was assigned to the role created. input to actions. Similar to navigation based actions. . it will open the customer application) 2. etc) to execute.2.2). you need to create an application controller (as mentioned in step 2.1. Execute the source application (Sales Order application in this case) Now click on the non BOPF action (In this case.1. Following steps need to be executed: o In the application controller. Maintain appropriate value for the elements. your applications will appear there. This will be invisible.2 Dialog Configuration against Actions Certain actions requires a dialog box (confirmation.

Figure 15: Top level GUIBB in application controller Attributes of the Element topGuibb Component View Configuration Name Configuration Type FPM_FORM_UIBB FORM_WINDOW Appropriate configuration name General Value o Now you need to maintain the action parameters in the application controller .

Create a Form UIBB and the corresponding component configuration.Figure 16: Action Parameters for Dialog actions Attributes of the Element actParamConfig Action Business Object Node Dialog window id Value Name of the BO action (Dialog action) Name of the Business Object on which the action is defined Node of the BO on which the action is defined Name of the dialog window (you need to create a dialog box with the same name in your OIF component) o o Now you need to add Dialog box to your OIF component. Add the action in the toolbar .

2 FBI Node View Usage FBI Node View usage represents use of a FBI Node View in context of a particular hosting BO. Repeated definition of Node Views for every unique use of DO nodes is avoided.3 Generation of Nested Structures for Custom UIBB 2. This is particularly useful in modeling GUIBBs for dependent object nodes. Figure 18: Logical Model of Node View Usage . The picture below illustrates logical model of the Node View in relation to Node View.Figure 17: Action on the Toolbar o Dialog action has been configured successfully 2.1.

A Node view is created for TXT_COLL_ROOT. Node View usage ORD_HDR_TXT and ORD_ITM_TXT provide two usages of the Node View TXT_COLL_ROOT in the context of Header Long Text and item Long Text. Thus definition of main Node View is not repeated twice promoting better maintainability of Node Views. .Typical example of Node View Usage is illustrated below. Dependent Object Model: Text Collection «Node» ROOT «NodeView» TXT_COLL_ROOT «Node» CONTENT Hosting BO: ORDER DO Prefix: HDR_LONG_TXT Hosting BO: ORDER DO Prefix: ITM_LONG_TXT Business Object Model: ORDER «Node» ROOT DO Prefix: HDR_LONG_TXT DO Prefix: ITM_LONG_TXT «DO Representation Node» ROOT_LONG_TEXT «NodeViewUsage» ORD_HDR_TXT Corresponds to «Node» ITEM «NodeViewUsage» ORD_ITM_TXT «DO Representation Node» ITEM_LONG_TEXT Corresponds to Figure 19: Example of Node View Usage BO ORDER uses dependent object text collection as ROOT_LONG_TEXT and ITEM_LONG_TEXT.

right click on the application and select ‘Create/Change Configuration’. A screen would appear as shown in fig. 1) Create a Web Dynpro Application • Go to Explorer (T. . Once the application is created. • Give an appropriate name for e.g.3 Creating a FBI UI FBI uses FPM to create UI. DEMO_SALES_ORDER_XX. • BOFU is the namespace used over here. 21. Refer fig.Code SE80) • Select the package in which you want to create your application (or local objects) • Right Click on ‘Web Dynpro’ and create a Web Dynpro Application.20 Figure 20: Web Dynpro Application The application should have following parameters: Component Interface View Plug Name : FPM_OIF_COMPONENT (for OIF) : FPM_WINDOW : DEFAULT Enter the following parameters and save it.

the main task in configuring an FPM application is the configuration of these two components.Figure 21: Create Web Dynpro Application Configuration 2) Create Web Dynpro ABAP Application Configuration Name: DEMO_SALES_ORDER_XX The FPM Configuration editor itself is a Web Dynrpo application itself and will start in a browser. An application configuration is simply a composition of different component configurations. enter a configuration name and press the Create button (Configuration names are global! You can not use the same configuration name for different applications). the screen looks more or less like as shown in fig. To create an application configuration. So. After you have created the application configuration. There are only 2 components which are always present: a floor plan specific component (FPM_OIF_COMPONENT for OIF) and a component for the Header Area (FPM_IDR_COMPONENT). however most of them are created dynamically at runtime. An FPM application is composed of a number of different Web Dynpro components. 22: .

Now select one of them and then click on ‘Go to Component Configuration’. the screen looks more or less as shown in fig. Repeat the same process for the other component. For OIF component.e. Note: It is always advisable to maintain appropriate name (common logical prefix) for all the configurations of the same web dynpro application.Figure 22: Maintain Web Dynpro Application Configuration Now enter an appropriate Component Configuration name (in the configuration column as shown in the fig. SL_ORD_XX_OIF For IDR component. FPM_OIF_COMPONENT & FPM_IDR_COMPONENT . 23: . SL_ORD_XX_IDR Once you have created the Component Configuration for your component (lets first create configuration for OIF component). above) for both the implementations i. This will lead to the creation of the component configuration.

24) below where in you can maintain the attributes. there is only one subview. A window will appear (as shown in fig. Figure 24: Maintain View attributes Similarly maintain the attributes for the Subview. So we will maintain the same attributes for the subview also. For that. UIBB are FPM component.Figure 23: Configure OIF component of Web Dynpro application Now you have to maintain the Attributes of the main view. we have to create the required UIBB(s) for these views. In this example. for the Header main view. Basically there are two types of UIBBs: . A subview would have by default one UIBB in it. You can add multiple UIBBs over here. click on ‘Main View: (1)’. Once the attributes are maintained for the views.

This will create the configuration for the UIBB. Figure 25: Maintain UIBB attributes Now you need to configure your UIBB. Click on ‘Create’. a dialog box will appear as shown in fig 26. it will throw a message ‘The specified configuration does not yet exist’. . A window will appear where in you maintain the attributes.1) Form UIBB – Displays the data in a form 2) List UIBB . click on ‘UIBB: UIBB_1_1_1’. To do so. For that click on ‘Configure UIBB’. Since the Configuration for this UIBB doesn’t exist. Once you have created the configuration.Displays the data in a list a) So let’s create one FORM UIBB for the Header. • • • Component View Configuration Name : FPM_FORM_UIBB (for form UIBB) : FORM_WINDOW : SL_ORD_XX_ROOT_FORM Enter the following details and press ‘SAVE’.

It would appear as shown in fig. 27.g. it serves both types of UIBB. In the figure above. provide the Feeder class /BOFU/CL_FBI_GUIBB_FEEDER and then click on ‘Edit Parameters’. Those feeder implementations are based on a predefined interface definition providing all necessary methods and corresponding signatures in order to standardize the communication between the application and the GUIBB. data definition.e. positioning and layout properties are assigned. .Figure 26: Maintain Feeder class Now you need to provide the Feeder Class. This communication will embrace application definition (e. A new dialog box will appear wherein you can supply the parameters to your configuration. Necessary application specific information will be supplied by the application itself via a Feeder class. structure or table definitions and the technical aspects) the (optional) action definition based on metadata the action/event handling and data forwarding to the underlying Application Model The Feeder class /BOFU/CL_FBI_GUIBB_FEEDER is a generic feeder class i. The composition (configuration) of the building blocks (Form UIBB & List UIBB) takes place in a designer-application where all the necessary field attributes. Form as well as List.

Follow the steps same as for FORM UIBB (step a). in this case it would be ‘Configure Columns’. Instead of group.Figure 27: Maintain Configuration parameters You can maintain the parameters as per your requirements. b) Let’s create one LIST UIBB. click on ‘Add UIBB’ and then click on ‘Add List Component’.1 & 3. . Parameters can be maintained depending upon whether you have created FBI View/ FBI View Usage or directly specify BONode associations. Navigate to your OIF component.1.1.1. For further details refer to 3.1.2 for further details.

b. 3. supply ‘FPM Event ID’ as FBI_DEFAULT (Flush Changes triggering insert/update).e. Changed by) can be displayed in different groups. While configuring the group/column.1.3 Specifying the BO-Node associations directly . Now click on ‘Configure Group’/ ‘Configure Columns’. c. Business Object: Name of the Business Object iv. Now you need to maintain the parameters. their position and other properties. This can be the node structure maintained in the UI or any other DDIC structure. Parameter FBI View (/BOFU/FBI_VIEW) FBI View Usage (/BOFU/FBI_VIEW_USAGE) Description FBI View maintained in the view cluster /BOFU/VC_FBI_V FBI View Usage maintained in the view /BOFU/VFBIVU The fields that are present in the Node UI structure of the FBI view can be a part of the UI. FBI View/ FBI view usage can be linked to UIBB via the parameters of the component configuration.g. FBI View: Appropriate view name ii. Note: Grouping of fields is applicable only for Form GUIBB.1. 3. 10.1. For e.1 Integration of Generic UIBB FBI supports both the Generic UIBBs i. Click on ‘New Entries’. In this scenario. Save your entry. If you don’t need any such grouping. The fields that you need in your UI can be grouped as per their characteristics. Go to view cluster /BOFU/VC_FBI_V. you actually select the fields you need in on UI. Each UIBB has its own component configuration.1. you need to maintain FBI View/FBI view usage. Mapper Class for the node: /BOFU/CL_FBI_VIEW_MAPPER vii. Order details and Admin data (Created by. Description: Appropriate description iii.2 Using FBI View /FBI View usage Form/List GUIBB can be configured using the FBI View/ FBI View Usage defined in the view cluster /BOFU/VC_FBI_V (FBI View) and view /BOFU/VFBIVU (FBI View Usage). UI field descriptions can be maintained for those fields for which you want to enable OVS input and output binding.1.1 Configuration of Form/List GUIBB 3. Node: Node of the Business Object v. i.1. create one group and include all the fields in that group.1 Creating a FBI View a. for which the ‘Action Assignment’ is enabled. Node UI structure: Structure which contains the fields relevant to the BO node.1. d. Form & List. The FBI view has been created. Now you can maintain UI field descriptions for selected fields (optional).3. Note: For all the attributes. 3. Typically the parameters of the component configuration look as shown in the fig. vi.

1. Source Node (/BOFU/SOURCE_NODE) Association (/BOFU/FBI_ASSOCIATION) 3. ‘Configure Button Row’ will be enabled. BO nodes and BO associations (optional). If the view is a top level. BO nodes & BO associations can be linked to UIBB via the parameters of the component configuration. Typically the parameters of the component configuration look as shown in the fig. then you need to specify the parent BO as the source BO Node of the parent BO which has a valid association Association between the Node and the Source Node. In the component configuration of the corresponding GUIBB. 10. This will show all the actions available on that BO node. Other BOPF actions can also be handled in a similar way. you need to configure them. In case of Form GUIBB.Form/List GUIBB can be configured directly using BO. BO nodes & BO associations. 28. In this scenario. Once you have added the button row. you need to maintain BO.4 BOPF based Actions Standard BOPF actions like Create & Delete are available (by default). Chose and assign the action to the button row. Refer to fig. Parameter Name Business Object (/BOFU/BO) Node (/BOFU/NODE) Source BO (/BOFU/SOURCE_BO) Description You need to specify the BO created using the transaction /BOBF/CONF_UI Node of the Business Object If you want data from a node which is associated other node (of the same or different BO). BO. no BO associations are required. while configuring the group add ‘<Button Row>’.1. .

BO actions can be modeled on the GUIBB using ‘Configure Toolbar’. Figure 29: Configure BOPF actions (List GUIBB) 3. .1.Figure 28: Configure BOPF actions (Form GUIBB) In case of List GUIBB.1.5 Non-BOPF based Actions User can define Non-BOPF actions in an FBI application. Refer to fig. FBI handles these actions through the parameters of the component configuration. 29.

then you can specify all of them by using semi colon (. If your GUIBB has more than one non BOPF actions.1.2 Action Handling 3.2. you can maintain non BOPF actions in ‘Non BOPF Actions (/BOFU/FBI_NON_BOPF_ACTIONS)’.2. Refer to fig.g.2.2 Non-BOPF based Actions . 30.1 BOPF based Actions 3.2 Using FBI View /FBI View usage CSM Parts Specifying the BO-Node associations directly 3.2 Integration of Free-Style UIBB 3.1 3. For e. NAVIGATE_ITEM Figure 30: Configure Non BOPF actions 3.1.2.2.) separator.2.1 Configuration of Form/List CUIBB 3.2.2.In the parameters of the component configuration. SHOW_PRODUCT.

3 Layout UIBB 3.3.1 Master Detail CSM Parts .3.

04.2009.2 IDR ticket Area TODO 4. SP1 4.4 IDR Navigation Targets TODO .3 IDR Fields TODO 4.1 IDR title TODO 10.4 IDR Configuration 4.

2009.04.5 CNR Configuration 10.1 BOPF actions configuration against Toolbar Buttons /Button Choices 5. SP1 5.2 Non-BOPF Action Configuration against Toolbar Buttons/Button Choices 5.3 Related Links/You Can Also .

right click on the application and select ‘Create/Change Configuration’.g. DEMO_SALES_ORDER_XX.6 Building a small Application using FPM & FBI 1) Create a Web Dynpro Application • • • • • Go to Explorer (T.Code = SE80) Select the package in which you want to create your application (or local objects) Right Click on ‘Web Dynpro’ and create a Web Dynpro Application. . BOFU is the namespace used over here. A screen would appear as shown in fig. Give an appropriate name for e. Refer to the fig below. Once the application is created. 31 Figure 31: Create a web dynpro application The application should have following parameters: Component Interface View Plug Name : FPM_OIF_COMPONENT (for OIF) : FPM_WINDOW : DEFAULT Enter the following parameters and save it.

Figure 32: Create a web dynpro application configuration 2) Create Web Dynpro ABAP Application Configuration Name: DEMO_SALES_ORDER_XX The FPM Configuration editor itself is a Web Dynrpo application itself and will start in a browser. enter a configuration name and press the Create button (Configuration names are global! You can not use the same configuration name for different applications). After you have created the application configuration. To create an application configuration. the screen looks more or less like fig shown below: .

For OIF component. the screen looks more or less like fig shown below: . SL_ORD_XX_OIF For IDR component. FPM_OIF_COMPONENT & FPM_IDR_COMPONENT . Repeat the same process for the other component.e. Now select one of them and then click on ‘Go to Component Configuration’. This will lead to the creation of the component configuration.Figure 33: Web dynpro application configuration screen Now enter an appropriate Component Configuration name (in the configuration column as shown in the fig. SL_ORD_XX_IDR Once you have created the Component Configuration for your component (lets first create configuration for OIF component). above) for both the implementations i. Note: It is always advisable to maintain appropriate name (common logical prefix) for all the configurations of the same web dynpro application.

You can add multiple UIBBs over here. For that. we have to create the required UIBB(s) for these views. A subview would have by default one UIBB in it. Once the attributes are maintained for the views. Refer to the fig below. So we will maintain the same attributes for the subview also. click on ‘Main View: (1)’. Figure 35: Maintain Main View attributes Similarly maintain the attributes for the Subview. A window will appear below where in you can maintain the attributes. there is only one subview. In this example. . for the Header main view.Figure 34: OIF component configuration Now you have to maintain the Attributes of the main view.

Basically there are two types of UIBBs: • • Form UIBB – Displays the data in a form List UIBB . For that click on ‘Configure UIBB’. A window will appear where in you maintain the attributes. 36. . a dialog box will appear as shown in the fig below. Once you have created the configuration. This will create the configuration for the UIBB. Since the Configuration for this UIBB doesn’t exist. • • • Component View : FPM_FORM_UIBB (for form UIBB) : FORM_WINDOW Configuration Name : SL_ORD_XX_ROOT_FORM Enter the following details and press ‘SAVE’. Click on ‘Create’.UIBB are FPM component. Figure 36: UIBB attributes Now you need to configure your UIBB. Refer to fig. click on ‘UIBB: UIBB_1_1_1’. To do so. it will throw a message ‘The specified configuration does not yet exist’.Displays the data in a list a) So let’s create one FORM UIBB for the Header.

Form as well as List. . A new dialog box will appear wherein you can supply the parameters to your configuration. provide the Feeder class /BOFU/CL_FBI_GUIBB_FEEDER and then click on ‘Edit Parameters’. In the figure above.Figure 37: UIBB component configuration Now you need to provide the Feeder Class.e. The Feeder class /BOFU/CL_FBI_GUIBB_FEEDER is a generic feeder class i. it serves both types of UIBB. It would appear as shown in the fig below.

click on ‘Add Group’. Changed by) can be displayed in different groups. create one group and include all the fields in that group. we will provide the following parameters: Business Object (/BOFU/BO) Node (/BOFU/NODE) : /BOBF/DEMO_SALES_ORDER : ROOT Top Level View (/BOFU/FBI_TOP_LEVEL_VIEW): Yes The fields that you need to be in your UI can be grouped as per their characteristics.Figure 38: Parameters of UIBB component configuration You can maintain the parameters as per your requirements. In this example. Refer to the fig below. If you don’t need any such grouping.g. . To create a group. Order details and Admin data (Created by. For e.

your screen would appear as shown in the fig below. Once you have configured your group. Figure 40: Maintaining FPM Event ID for the UI elements . their position and other properties.Figure 39: Configuring UI elements Maintain the group attributes and save it. Now click on ‘Configure Group’. you actually select the fields you need in on UI. While configuring the group.

for which the ‘Action Assignment’ is enabled.Note: For all the attributes. b) So let’s create one LIST UIBB. For this example. enter the following parameters: Parameter Business Object (/BOFU/BO) Node (/BOFU/NODE) Value /BOBF/DEMO_SALES_ORDER ITEM . click on ‘Configure UIBB’. For that. Now you need to provide the parameters. Navigate to your OIF component. This will lead to the creation to of the component configuration. click on ‘Add Main View’ in your OIF component configuration screen. maintain the attributes of UIBB accordingly. Component View Configuration Name : FPM_LIST_UIBB : LIST_WINDOW : SL_ORD_XX_ITEM_LIST Press Save. supply ‘FPM Event ID’ as FBI_DEFAULT (Flush Changes triggering insert/update). In this example we will encapsulate the List GUIBB in a separate main view. Now you need to configure the UIBB. Figure 41: Add Main View to OIF component Maintain the attributes for the Main view and the Subview as mentioned previously. Refer to the fig below. Create the component configuration. To do so. Provide the feeder class /BOFU/CL_FBI_GUIBB_FEEDER. Since we need to create a List UIBB.

Click on Add->Initial Screen. Refer to the fig below. .Source BO (/BOFU/SOURCE_BO) Source Node (/BOFU/SOURCE_NODE) Association (/BOFU/FBI_ASSOCIATION) /BOBF/DEMO_SALES_ORDER ROOT ITEM Now you need to select the fields which you need in your list. Press Save. Navigate to your OIF component. For that. Refer to fig 25. Figure 42: Component configuration of List GUIBB Select the fields you need on your list. Now. click on ‘Configure Columns’. you need to define the ‘Initial screen’ for your application.

Figure 44: Maintain UIBB attributes .Figure 43: Add Initial Screen to the OIF component Maintain the UIBB attributes for the Initial screen. Refer to the fig below.

Provide the feeder class /BOFU/CL_FBI_GUIBB_ALTKEY_FDR and then provide the appropriate parameters. Now you need to maintain certain ‘Global Settings’.Now you need to configure the UIBB. Figure 45: Maintain Global Settings for the application Provide the Web Dynpro Component as ‘/BOFU/WDC_FBI_CONTROLLER’. . Save your OIF component. Press SAVE. Business Object (/BOFU/BO) Node (/BOFU/NODE) Alternate Key (/BOFU/ALTKEY) : /BOBF/DEMO_SALES_ORDER : ROOT : ORDER_ID Now Add and Configure group. Since Initial screen was defined. it will appear as shown in the fig below. navigate to your OIF component. Now execute your web dynpro application. Click on ‘Configure UIBB’. Refer to the fig below. For that.

In this example it will be the Sales Order number. Output will be something similar to as shown in the fig below.Figure 46: Output – Initial Screen Provide the appropriate input and the press ‘Start’. Figure 47: Output – Order Header .

Figure 48: Output – Order Items .

2009. CSM Parts .04.7 Search Help 10.

the following information can be specified.8 PBI POWL support is extended to BOPF based BOs through PBI definition. FBI Application Configuration for OIF and FBI Application Configuration for QAF are captured. BO Node Query. PBI Definition is an extension to definition of POWL Type (Transaction POWL_TYPE). For a given POWL Type. Additionally for each query attribute. the following attributes are accepted • • • Name of the ‘Node View Usage’ Name of the Query on BO Node (corresponding to BO Node of ‘Node View’ which is referenced by ‘Node View Usage’) Table of POWL Selection Parameters and their mapping to Query Attributes o o o Name of the selection parameter Kind of the Selection Parameter ( Select Option / Parameter ) Identifier if the parameter is a checkbox Reference to Node View Usage. • • • • SELNAME KIND Selection parameter name Kind of selection parameter (Select Option / Parameter) input box/checkbox/dropdown list/text line (data element: POWL_CRITTYPE_TY) Select option with PARAM_TYPE SEL_CRIT_TYPE o o o o Interval & multi select without multi select without interval – only display relevant without interval – using complex restrictions mandatory is it a quick selection criteria Default Value • • • • MANDATORY QUICK_SEL_CRIT DEFAULT_VAL VAL_MODE_DEF_VAL Value mode of default value (Data Element: POWL_EASY_DEF_VALUE_MODE_TY) o o o Read only Hidden Editable .

e. Change URL & Add parameter i. 8. Creation of FBI View usage f. Select the newly created entry and maintain the “Personalization Characteristics”.2 Configuration of the POWL (Feeder) Type using FBI View Usage Creation of a POWL Type Execute transaction POWL_TYPE and create a POWL type for your choice. POWL_TYPEU. POWL_TYPE. Assign User to POWL Type. Creation of a POWL application & POWL Type can be done by the following steps. View = /BOFU/VFBIVU. Enter the following attributes: 1. d. select New Entries and enter a name for “Personalization Application” to represent the application. Description: Appropriate description . a. Maintain PBI POWL Definition.8. Field name group value Interval Single Value Reference Data Element DEFAULT_QUERY LAYOUT None None Multiple Multiple Multiple Multiple POWL_QUERY_TY POWL_LAYOUT_TY Save the entry. View Cluster = /BOFU/VC_PBI_P. g. Database table = /BOFU/IPBI_POWLF. Creation of an Application Name. Execute POWL application h. And maintain relevant text. Type: Appropriate POWL type name 2. c. using created POWL Type & FBI View.1 Creation of a POWL Application + POWL (Feeder) Type T codes = FPB_MAINTAIN_HIER. b. Creation of a FBI View. Creation of a POWL Type. Define your Query Creation of an Application Name Go to Transaction FPB_MAINTAIN_HIER.

A browser is opened with a URL similar to the below one.3. Expand “Web Dynpro” and double click on “Web Dynpro Enter value ‘POWL’ in the field “Web Dynpro Application” and select Execute (F8). create entries for all those users. click on ‘Define New Query’ and enter the relevant attributes. Create PBI POWL definition with following attributes: a. Assign User to POWL Type Execute transaction POWL_TYPEU and create an entry for your POWL type. Here you need to create a view usage for the FBI view.sap. To do that.corp:50028/sap/bc/webdynpro/sap/powl?applid=HK_DEMO_SALES_HIE R&sap-language=EN Where the addition is “applid=Personalization application&” and press enter. This is similar to creating a POWL query. http://uxai1btd. using created POWL Type & FBI View In transaction SM34. POWL Query: Query of the BO node Execute POWL application Go to transaction SE84. FBI View Usage: Appropriate name (FBI view usage name should be the same as FBI view maintained in the view cluster /BOFU/VC_FBI_V) b.wdf. Feeder Class: /BOFU/CL_PBI_POWL_FEEDER Save your entry. . FBI View Usage: FBI view usage maintained in the view /BOFU/VFBIVU c. Creation of a FBI View An FBI View needs to be created for the BO & Node being used for the POWL Definition. Click on ‘New Entries’. If you want the same POWL type for multiple users. Double-Click on the displayed entry. Description: Appropriate description c.sap. Select “Test/Execute (F8)”. FBI View: FBI view maintained in the view cluster /BOFU/VC_FBI_V Maintain PBI POWL Definition.corp:50028/sap/bc/webdynpro/sap/powl?sap-language=EN Change URL & Add parameter Add parameter ‘APPLID=name of your personalization application’ in the URL as below. http://uxai1btd. Type: POWL type b. you have to create an entry in the view cluster /BOFU/VC_PBI_P. Define your Query You can now define queries.wdf. a. Creation of FBI View Usage Execute transaction SM30 and open the view /BOFU/VFBIVU in change mode.

Application Name Description Text POWL TYPEU Application POWL Type APPLID = Appl Name User POWL TYPE Description Feeder Class POWL URL Define Query PBI POWL Definition Query of BO Node FBI VIEW BO & Node UI Fld Desc Related Views Actions .

3 How to create own PBI Based Feeder Class CSM parts 8.2.2009.2. SP1 8.2.04.1 Feeder Class Creation 8.04.3. . Order etc.04.04.2009 08.1 Configuration of Selection Criteria 8.2 Configuration of Field Catalog 08.4 Configuration of Link targets per Action (Action buttons / Column Links) 10.3 Configuration of Buttons (Name.04. SP1 8.2009 10.2.3.2009.2009. ) 8.2 POWL (Feeder) type Configuration 08.8.

concept needed at latest for sprint 2 .9 Property Handling Not necessary for Sprint1.

concept needed at latest for sprint 2 .10 Message Handling Not necessary for Sprint1.