You are on page 1of 181

Team ABAP

Achieiving excellence together

Introduction to floor plan manager


Before starting Floor plan manager let us have a little recall on what exactly an webdynpro application as it got something to do with the
floor plan manager.
Webdynpro Application:
A webdynpro application is an application that can be called by the user from the browser using the URL generated for a webdynpro
application. It is an independent program that connects the URL which can be accessed by the user to the Window of the webdynpro
component.

Technically the webdynpro application is connected to the interface view of the window by an inbound plug and it does not contain any
corresponding information about any elements of the corresponding component. It just act as the carrier of the webdynpro component
and triggers the execution of the component when the URL is being called.
Note: Inbound plug of the window has to be of type start up plug.
Coming to the topic what a floor plan manager is and how it is related to an webdynpro application as mentioned earlier, the explanation
is as below.

Floor Plan Manager:


Floor plan manager is an framework using which we can create and configure the webdynpro applications of the webdynpro abap.
Using the configuration editor of the floor plan manager we can combine different application specific view of the different component
into a single new floor plan manager application. This floor plan manager application can be integrated into the portal for accessing this
component.
This is something similar to view where in view we have our application data distributed across different tables and we combine it in a
view where as here different components which are required to do a particular functionality are assembled using a FPM application.

Advantages of Floor plan manager:


This design follows the SAP UI guidelines.
User of this application benefits by quicky and easily familarize themselves with the new applications.
The integration of Floor plan and GUIBB in the FPM accelerates the creation of UI and ensure that all the UI element behave in a
same way.
Time consuming user interface programming is greatly reduced by application programming.
Simple applications are adjusted by configuring the FPM instead of modifying the webdynpro component. (Reduced development
effort). [E.g hiding a view of container in the view.]
Any such adjustment made to the application using the configuration editor of the FPM are called modification free changes.
FPM Uses the webdynpro adjustment concept.

converted by W eb2PDFConvert.com

Integration of different webdynpro components in one FPM application.

SAP UI guidelines includes the use of FPM is preferred instead of Webdynpro application as it increases the consistency of UI
elements.

Adjustment concept is nothing but fitting the webdynpro application according to your needs which again classified into implicit and
explicit configurations.

Role of Floor plan manager:


Floor plans are nothing but a design template for the application that represent the certain task or process where as floor plan manager
implements this floor plan to maintain the uniformity across the applications.

Some of the Available floor plans for creating and confguring the Applications are:
Object instance floorplan(OIF)
Guided activity floor plan(GAF)
Quick activity floor plan(QAF)
Overview page floor plan(OVP)
The floor plan manager automatically implement the following areas of the floor plan.
Identification area
Navigation region
Message area
Content area
Content area:
Content area are the areas of FPM where the system displays the application specific view.
We can call and change these areas directly using the configuration editor whereas floor plan manager checks whether these changes
are leading to any technical errors.
Floor plan manager also supports in creating and configuring the application specific view using UIBB.(User interface building blocks).
Some UIBBs are:
Form component
List component
Tabbed component
Search component
Hierarchical list component
We have a special configuration editor for configuring these UIBBs. An this configuration editor can be started from the FPM
configuration editor.
Pre-requisites:
Some pre-requisites that the webdynpro application and component should posses in order to be configured by the floor plan manager
are as below.
The webdynpro application must be assigned to the component of the floor plan or you can directly go and create an application to
any one of these components.
Some standard floor plan components:
FPM_OIF_COMPONENT Object instance floor plan

converted by W eb2PDFConvert.com

FPM_GAF_COMPONENT Guided activity floor plan


FPM_OVP_COMPONENT Overview page floor plan
Note: When assigning the webdynpro application to one of the first two components the webdynpro application is also
automatically assigned to the FPM_IDR_COMPONENT using which we can configure the identification area of the floor plan.
The webdynpro component must have implemented the interface IF_FPM_UI_BUILDING_BLOCK.
Configuration editor of floor plan manager:
We can use FPM configuration editor to enhance application to fit the user needs.

Navigation region:
The navigation region is divided into two regions.
Control region
Hierarchy

Control region:
In this area we select which screen of the webdynpro application you would like to configure.

Hierarchy:
This area gives the hierarchical display of elements we can configure.
Preview:
The preview function shows you the user interface of the application. You can use the preview function to navigate within the user
interface. However, not every element can be accessed. A selected element is highlighted in color in the hierarchy view and its attributes
displayed in the attribute view.
Action area
The action area contains links to all the actions you can execute for the selected application user interface. The actions that can be
selected depend on the concrete configuration of the application. This means that selection of actions can differ within a configuration.
Attribute view
When you select a configurable user interface element either in the preview or in the hierarchy, the attributes of these user interface
elements are displayed in the attribute view. You can change these attributes here. The attributes you can change depend on the user
interface element you selected. You can immediately see any changes made in the preview.
Message area
In this area, potential conflicts in the configuration, such as tabs with the same name, are immediately displayed.
Floor plan manager application:
A floor plan manager application is an application that calls one of the floor plan. We can use explicit configuration to assign additional
webdynpro components as user specific views using UIBBs.
Some generic webdynpro components are:
FPM_LIST_UIBB List component
FPM_FORM_UIBB Form component
FPM_TABBED_UIBB Tabbed component

So far we have studied what is the floor plan manager,what are its role and what is floor plan manager application.

Share story
converted by W eb2PDFConvert.com

0 Thoughts on this post :

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail: arunkrishnamoorthy@live.com

Like this Page

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

converted by W eb2PDFConvert.com

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of ABAP, OO ABAP and
Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Email address

Submit

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

converted by W eb2PDFConvert.com

Team
ABAP
Achieiving excellence together

FPM Interface
UIBB:
From the FPM perspective UIBB are nothing but the interface view (ABAP Webdynpro window) of the component.

Interface for FPM:


In order for the FPM Framework to recognize the UIBB ( i.e Webdynpro window) the webdynpro component must implement the
webdynpro component interface IF_FPM_UI_BUILDING_BLOCK. This interface ensures that the webdynpro application can take part in
the FPM event loop.
Interface methods:

1.
2.
3.
4.
5.

FLUSH
NEEDS_CONFIRMATION
PROCESS_EVENTS
AFTER_FAILED_EVENT
PROCESS_BEFORE_OUTPUT

The usage of the methods of this interface is as below.


Note: This is a webdynpro component interface and can be viewed in SE80 and not SE24.
FLUSH:
This is the first method which is called as the FPM event loop is started. In this method the UIBB, transports all the modified data to the
component that the UIBB wanted to communicate. This data transfer is done automatically using the context mapping and hence we need
specific implementation of this method only when we are not using the automatic mechanism.
Parameters of method FLUSH:

NEEDS_CONFIRMATION:
With this method the UIBB request that the subsequent event processing is stopped and ask for the confirmation of action by means of a
dialog box. Based upon the user input in the dialog box the subsequent events is processed or terminated.
Parameters of method NEEDS_CONFIRMATION:

converted by Web2PDFConvert.com

PROCESS_EVENT:

With this method the UIBB Completes the following tasks like:
1. Check for local consistency of data like validation, missing data etc
2. Perform actual event processing.
The local checks are needed to inform the user of input as soon as possible. According to UX(User Experience) guidelines checks are to be
performed continually as long as they are not performance intensive. For example if we are moving from one view(UIBB) to another using an
OIF application the view which is moved away has to be checked for consistency.
Besides consistency check the current event can be processed in this method. The attributes MV_EVENT_ID and MO_EVENT_DATA of
importing parameter IO_EVENT can be used to determine the event processing. Depending upon whether the event processing is successful or
not the exporting parameter EV_RETURN is set.
Parameters of method PROCESS_EVENT:

AFTER_FAILED_EVENT:
This method is called if the FPM event is not processed successfully. Under such conditions the UIBB must ensure that the UI reverts back to
the state that was there before the user interaction occurred.
Say for example you are processing two UIBB and if the PROCESS_EVENT method of one UIBB is executed successfully and the
PROCESS_EVENT of another UIBB is ended with error then the first event processing is to be reverted as well. The importing parameter
IV_REVERT indicates this situation.
Parameters of method AFTER_FAILED_EVENT:

PROCESS_BEFORE_OUTPUT:
This is the last method to be called on UIBB. The data to be displayed is read from Model.
Parameters of the method PROCESS_BEFORE_OUTPUT:

Order of Execution:

Before the screen is displayed the method PROCESS_BEFORE_OUTPUT is called.


After the screen is displayed and user does some action the following method are called.
1. FLUSH
2. NEEDS_CONFIRMATION
3. PROCESS_EVENT
Then again PBO method before the screen is displayed. AFTER_FAILED_EVENT method is called after PROCESS_EVENT in case of any event
fails in the PROCESS_EVENT method.

converted by Web2PDFConvert.com

Share story

0 Thoughts on this post :

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail: arunkrishnamoorthy@live.com

Like this Page

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

converted by Web2PDFConvert.com

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of ABAP, OO ABAP and
Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Email address

Submit

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

converted by Web2PDFConvert.com

Team
ABAP
Achieiving excellence together

Object instance floor plan


The following post explains the creation of simple floor plan manager application using OIF (Object instance floor plan).
Scenario: Executing a component using the Floor plan manager application. We will create a webdynpro component with two view and
two windows with each view assigned to one window and we will display it using the OIF floor plan.
Standard component for OIF: FPM_OIF_COMPONENT.
Any floor plan manager application usually consists of two different components.
1. Floor plan specific component (FPM_OIF_COMPONENT or FPM_GAF_COMPONENT).
2. Component for header area. (FPM_IDR_COMPONENT) [Not available for OVP]

Step 1: Go to the Tcode SE80 and create the webdynpro component as shown below.

Assign the component to the package or save it in the local object.


Step 2: In the implemented interfaces tab of the webdynpro component implement the interface (IF_FPM_UI_BUILDING_BLOCK) for
the fpm which is essential for the component to participate in the FPM event.
Enter the interface name and press enter.

Click on the Re-implement button to implement the interface.

Once the interface has been implemented you can see the indicator turning into green. The methods of the interface can now be found in
the methods tab of the component controller.

converted by Web2PDFConvert.com

In this example we are just going to display the view using FPM configuration and hence there is no need to code in the methods. We will
see how to use those methods in the later posts.
Step 3: Go to the layout tab of the view controller and Insert a text view UI element as shown below.

Provide the ID and type for the UI element and press enter.

Enter the Text First View in the text property of the Text View UI element.

Step 4: By default the view created at the time of creation of component will be embedded in the window created at the time of
component. Now let us create one more view and embed it in a new window.
Right click on the view controller and choose create.

converted by Web2PDFConvert.com

Provide the name and description for the view and press Enter.

In the layout tab of the view created add a text view UI element as done before in the first view.

Add the Text property of the text view as Second View.

Step 5: Create a window and embed the second view into that embed. Right click on the window and choose create.

Provide the name and description for the window and press enter.

converted by Web2PDFConvert.com

Right click on the window and select embed view to add the view to the window.

Choose the view to be embedded as the second view and press enter.

Save and activate the whole component.


Step 6: Create an application and assign it to the component for the floor plan or directly create an application for the floor plan
component FPM_OIF_COMPONENT.

Provide the component, interface view and plug name as shown below.

converted by Web2PDFConvert.com

Step 7: Go to the Component FPM_OIF_COMPONENT and expand the application and select the application you have created.

Browser will open for the configuration editor of the floor plan.
Enter the configuration name for the FPM and click on create.

Assign the configuration to the package or save it in the local object.

converted by Web2PDFConvert.com

Configuration for OIF will be created successfully. And as mentioned in the top we can see any FPM application will consist of two
application specific components. Not applicable for OVP.
Enter the name for the configuration of component FPM_OIF_COMPONENT and press enter you will see the go to component
configuration button becomes enabled.

You will get an error configuration does not exists. Click on the create button.

Assign this configuration to the package or save it in the local object.


Component configuration will be created. Expand the node main view on the left hand side in the navigation bar and choose the UIBB.

Select add main view in the right hand side tool bar.

In a same way as above expand the node main view2 and add the component and second view.

converted by Web2PDFConvert.com

If you want to change the name of the main view you can change it using the attributes.

Save the configuration and test the configuration. You may get some default button of the FPM which we can disable it or delete it later.
Now lets test the configuration.

Output:
Main view 1

Main view 2

converted by Web2PDFConvert.com

Share story

0 Thoughts on this post :

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail: arunkrishnamoorthy@live.com

Like this Page

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

converted by Web2PDFConvert.com

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of ABAP, OO ABAP and
Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Email address

Submit

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

converted by Web2PDFConvert.com

Team ABAP
Achieiving excellence together

Guided activity floor plan


In the previous post we saw how to create an application using OIF for the component ZCSK_FPM_OIF. In this post we will study how to
create the application using GAF for the same component.
Step 1: Go to the Tcode SE80 and open the standard component FPM_GAF_COMPONENT.

Right click on the component and create the webdynpro application for the component. In the previous post we created the application in
the component we created and mapped it to the floor plan manager component. Anyway both are one and the same.

Enter the name and description for the application and press enter.

Save the application.

Step 2: Right click on the application and select create/change configuration. It will open the application configuration editor for the FPM.
converted by W eb2PDFConvert.com

Provide the configuration ID and click on create to create the configuration.

Assign the configuration to the package or save it in the local object. Enter the configuration name and click enter. Go to component
configuration button will be enabled. Click on go to configuration button to Open the FLUID(Configuration editor for FPM).

The system will throw an error message as configuration does not exists. Click on create to create the configuration.

Assign the configuration to the package or save it in the local object. Configuration will be created sucessfully.

Step 3: Expand the node main step and choose the UIBB.
Enter the component name and choose the view. Here I have choosen the component which we have created in the previous post for
OIF Application.

In the right hand side you will be able to see a tool bar. Click on add main step to add the second window.

Main step will be added as below.

converted by W eb2PDFConvert.com

Now expand the node for the main step 2 and choose the UIBB to add the component and view.
I have added the second window of the component ZCSK_FPM_OIF.

We can change the name of the mainstep using the attributes of the main step. Explore the configuration editor for more options.

Save the configuration. Go back to the application configuration using the breadcrumb available in the top and test the application.

Test the application configuration.

Output:

Click on next to move on to the next view.

Some standard buttons come along with the application with actions for it. We can hide or disable them as well as we can add toolbar
elements and handle them using the events of the interface if_fpm_ui_building_block. We will see the usage of these events in the
upcoming posts.

Share story

converted by W eb2PDFConvert.com

0 Thoughts on this post :

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail: arunkrishnamoorthy@live.com

Like this Page

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

converted by W eb2PDFConvert.com

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of ABAP, OO ABAP and
Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Email address

Submit

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

converted by W eb2PDFConvert.com

Team
ABAP
Achieiving excellence together

Overview page floor plan


This tutorial explains how to configure a webdynpro application using Overview page floor plan. In this tutorial we are going to configure
the webdynpro component already created for demonstrating Object instance floor plan.
Refer to link: Object instance floor plan
Step 1: Create an application for the Webdynpro component.

Enter the name of the component and Interface view as mentioned below. Technically application is being created for the webdynpro
component FPM_OVP_COMPONENT. You can also directly create the application for the component FPM_OVP_COMPONENT.

Step 2: You will be able to see the application created in the component FPM_OVP_COMPONENT. Right click on the application and
select create/change configuration.

converted by Web2PDFConvert.com

System will prompt the configuration does not exist. Click on create to create the application.

Enter the description for the application and assign it to the package.

Step 3: Enter the component configuration name and click on go to component configuration.

System will throw an error that configuration does not exist. Click on create to create the component configuration.

converted by Web2PDFConvert.com

Enter the description and assign a package to the configuration.

Step 3: In the component configuration we are going to set the layout of the UIBB to be displayed. In the section different layout types
are available from which we can choose one according to our needs.

Select the layout type as one column layout and Add UIBB.

converted by Web2PDFConvert.com

Enter the name for the component and choose the interface view as first window created.

Similarly create one more UIBB and select second window of the component as interface view.

Step 4: Now go back to the application configuration and test the application.
Output:

converted by Web2PDFConvert.com

In the right hand side of the application you will be able to see the personalize tool bar using which you can hide or enable the UIBB.

The personalize tool bar will open a pop up in which you can see two sections, currently displayed blocks and currently not displayed
blocks. You can remove the displayed blocks using minus button, then the UIBB Will be move to not displayed column which you can
reassign using plus button.

Share story

converted by Web2PDFConvert.com

0 Thoughts on this post :

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail: arunkrishnamoorthy@live.com

Like this Page

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

converted by Web2PDFConvert.com

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of ABAP, OO ABAP and
Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Email address

Submit

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

converted by Web2PDFConvert.com

Team ABAP

Achieiving excellence together

Feeder Class
A feeder class isnt any special type of class. It is a class that implements any one of the following
interface.

IF_FPM_GUIBB_FORM(for form components)

IF_FPM_GUIBB_FORM_REPEATER(for form repeater components)

IF_FPM_GUIBB_LIST(for list components)

IF_FPM_GUIBB_SEARCH(for search components)

IF_FPM_GUIBB_TREE(for hierarchical list components)

IF_FPM_GUIBB_LAUNCHPAD(for Launchpad components)

SAP Help:
http://help.sap.com/saphelp_nw70ehp3/helpdata/en/6c/5632d4e79b4003b97c93946ad3aa29/content.htm
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

A feeder class is required to provide the necessary configuration to build the layout and fill the
data in it at runtime.
Feeder classes are usually used in addition with the generic UIBBs. There are several generic
components created by the SAP for a particular mode of display of data according to UI guidelines.
For example to generate a form SAP has created a generic component FPM_FORM_UIBB and to
display data in the form of table we have FPM_LIST_UIBB.
Now these are generic components are created with the purpose of reusability and can be used in n
no of applications. Taking a Form GUIBB component as an example, this component is designed
with the purpose of creating a form according to UI Guidelines. When used in an Employee details
applications this form component can be used to generate the form to display employee details
where are when used with travel application it can be used to generate the form for travel details.
Now from where does the detail to create the form for the FPM_FORM_UIBB component comes
from. The generic component FPM_FORM_GUIBB is designed in a way that it gets the
configuration (layout and data) from one place (Feeder class) and using that information the
components generate the layout and actions. Thus feeder class is a class which is used to provide
the generic components with the information what is the layout to be generated and processing
logic for displaying the data.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Irrespective of any type of interface the feeder class implements, say form or list or tree, the
implemented interface will contain two important methods.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

1. Get definition: This is the method which is called by the generic components (at design
time) to get the information of what is the layout to be generated and what are the actions
to be embedded. This method has an Exporting parameter called eo_fieldcatalog which
refers to a structure (form) or table type (Table) depending on interface implemented.
We need to provide the object reference of the layout to be created using RTTI services.
2. Get data: This is another important method of the feeder class which is called at the runtime
to get the data to be displayed in the UIBB.

Lets build and application that makes use of the some of the GUIBBS.

Share story

0 Thoughts on this post :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter your comment...

Comment as:

Select profile...

Publish

Preview

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Search GUIBB
This tutorial explains how to make use of generic component (FPM_SEARCH_UIBB) for the
purpose of creating search criteria and result.
This tutorial is split into two parts
1. Modeling the Feeder class
2. Configuring the Search component with feeder class

Part 1: Modeling the feeder class


Scenario: You are supposed to model a feeder class that provides the search functionality to
retrieve flight information from the table SFLIGHT.
Step 1: Go the transaction class builder (SE24) and create a class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: In the interface tab of the class, implement the interface IF_FPM_GUIBB_SEARCH. This
interface also implements an interface IF_FPM_GUIBB along with it.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: All the methods of the interfaces are supposed to be implemented manually. When I include
an interface it only creates the definition part by listing the methods in the methods tab. When I
say implement the method of interface, it means double click on the method and activate the
method individually even if the method is going to be empty or not going to be used by you all the
time. The reason is that all the methods are called in a sequence in the runtime framework as
below. If the sequence of method being called is not implemented then system throws a dump.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: Get data method is like PBO and is called every time before displaying the screen.
If the data to be displayed has been modified and if the EV_DATA_CHANGED parameter of the
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

If the data to be displayed has been modified and if the EV_DATA_CHANGED parameter of the
GET_DATA has not been set to true then the changes will not reflect on the screen. Which means
the system will not render the particular portion of the screen again. So use the parameter wisely
so that it is set to true only screen needs to be changed. It can optimize your performance.
Step 3: In the attributes tab of the class create the attributes as shown below.
Two attributes structure and internal table for the table has been created in the class. The purpose
of structure is to build the layout for the search criteria and the internal table is to store the result
from the search criteria as well as to define the layout of the output table.

The internal table has been declared programmatically.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 4: Write the following code in the GET_DEFINITION method.

data : wa_fields

type dfies,

" Work area:

Dicitonary field attributes


it_fields

type ddfields,

" Internal

table: Dicitonary field attributes


ls_field_desc like line of et_field_description_result.

" Work area:

Result column description


* Creating the field catalog

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

eo_field_catalog_attr ?= cl_abap_structdescr=>describe_by_data( ms_sflight ).


* Assigning the result catalog
eo_field_catalog_result ?= cl_abap_tabledescr=>describe_by_data( mt_sflight ).
* Assigning field description
it_fields = eo_field_catalog_attr->get_ddic_field_list( ).
loop at it_fields into wa_fields.
ls_field_desc-name = wa_fields-fieldname.
ls_field_desc-text = wa_fields-fieldtext.
append ls_field_desc to et_field_description_result.
clear ls_field_desc.
endloop.

Code Explanation:
GET_DEFINITION method of the feeder class is called by the FPM framework at the time of
configuration to get the necessary layout to be built on the screen. This method has three
important parameters which are to be filled.
1. EO_FIELD_CATALOG_ATTR
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

2. EO_FIELD_CATALOG_RESULT
3. ET_FIELD_DESCRIPTION_RESULT

EO_FIELD_CATALOG_ATTR: This exporting variable is of type CL_ABAP_STRUCTDESCR and it


used to export the object reference of the structure for which we are going to create search criteria.
In our example, we are going to retrieve the value from the SFLIGHT Table based on the selection
criteria of the same table. Hence with the RTTI services we have created the object reference for
the structure MS_FLIGHT and passed it to the Field catalog attribute. Since the method returns the
object reference of type CL_ABAP_TYPE_DESCRIPTION which is more generic to the type of
target variable widening cast is being done.
EO_FIELD_CATALOG_RESULT: This exporting variable is of type CL_ABAP_TABLEDESCR and is
used to export the object reference of table which is going to be displayed as the result. This
structure determines the columns of the table to be displayed. Hence with RTTI services we have
created the object reference for the table MT_SFLIGHT and passed it to the
EO_FIELD_CATALOG_RESULT parameter.

ET_FIELD_DESCRIPTION_RESULT: This exporting parameter is an internal which is needs to be


filled for the purpose of providing the column description for the table. We need to fill the field
name and field text in the table. I have retrieved the field name and field text with RTTI class and
passed the value to it. This internal can also be filled through hard coding.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 5: Implement the method PROCESS_EVENT as below.


data : lt_where_string type rsds_where_tab.
data : lo_exe type ref to cx_fpmgb.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

check io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search.


* Convert the search query into sql string
try.
cl_fpm_guibb_search_conversion=>to_abap_select_where_tab(
exporting
it_fpm_search_criteria = it_fpm_search_criteria

" search criteria for

GUIBB Search
iv_table_name
*

io_field_catalog

= 'SFLIGHT'
=

" Table Name


" Runtime Type Services

importing
et_abap_select_table

= lt_where_string

).
catch cx_fpmgb into lo_exe.
*

" GUIBB Exceptions

Exception part handled here


endtry.

* Fetching the result


select *
from sflight
into table mt_sflight
up to iv_max_num_results rows
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

up to iv_max_num_results rows
where (lt_where_string).

Code Explanation:
When user enter the selection criteria and click on search button we are supposed to retrieve value
for the search criteria. The importing parameter IO_EVENT contains the event id for the action
triggered on the screen using which the code blocks for the event handling can be segregated. This
method also has an importing parameter named IT_FPM_SEARCH_CRITERIA which contain the
selection criteria entered by the user on the screen. SAP has also provided with a standard class to
convert the user entered search criteria into condition string or select option etc. Hence making
use of the standard functionality available I am converting the selection criteria into selection
condition string and pass it on to table to retrieve the result. The result is stored in the attribute of
the class.

Step 6: Implement the following code in the GET_DATA method.


check io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search.
et_result_list = mt_sflight.

Code Explanation:
I am passing the result set from the class attribute to the screen by checking the FPM event
triggered.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This completes the modeling the feeder class. Lets go and take a look at configuring the
component for search (FPM_SEARCH_UIBB) with the information from feeder class.

Part 2: Configuration of Search component with feeder class modeled.


Note: All the demo applications will be created using the OVP floor plan in this tutorial.
Whenever system throws an error that configuration does not exist in this tutorial click on new to
create the configuration.
Step 1: Create an application for the OVP component FPM_OVP_COMPONENT.

Step 2: Right click on the application and create the application configuration.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name for the application and click on new.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the description and assign it to a package.

Step 3: Create a component configuration for the component OVP. Click on the button assign
component configuration and enter the name for the component configuration.

By assigning the name for the component configuration a link will appear in the column
configuration name. Click on the link, the system will display a message as component
configuration does not exist. Click new to create the component configurations.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter a description and assign the package to it.

Step 4: In the FLUID designer, add the Search UIBB as shown below. Choose the UIBB from the list
of UIBB available.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Select the UIBB enter the name for the feeder class configuration and click enter. You will get a
message stating the configuration does not exist. Select the lead for the UIBB and click on
configure UIBB. Create a new configuration.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

A popup will prompt for the feeder class, enter the name of the feeder class created and click on
edit parameters. Since we have not added any parameters in the GET_PARAMETERS method
system will display a message. Click on ok to continue.

Note: GET_DEFAULT parameters, CHECK_CONFIGURATION,


GET_DEFAULT_CONFIGURATION and GET_DEFINITON method of the feeder class will be called
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

GET_DEFAULT_CONFIGURATION and GET_DEFINITON method of the feeder class will be called


by the time you click on configure.

Step 5: Add the search criteria by clicking the search criteria button.

A pop up will appear with the list of fields in the structure SFLIGHT. Choose the selection criteria
you want. In this example I am going to select all the fields as the search criteria and restrict the
search criteria display to 3 so that only three fields are initially shown as search criteria and user
can add any fields later in the screen as search criteria.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

You can now see the search criteria in the preview panel. The no of search criteria by default is set
to 4 so you will see four fields. The top four columns on the list will be displayed over there. Here I
am moving the flight date to 3rd position and setting the no of search fields as 3 in the general
settings panel.
Step 6: Now to add the columns for the result table click on the button columns of result list. You
can also select a list UIBB and transfer the result data to the list UIBB.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

A popup will appear asking you to select the fields for the column choose the required field and
click on ok.
In the preview panel you will be able to see the search criteria and its result table being created.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I have modified the general settings with below value.

Check and save the configuration.

Test the application:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Output

Note: If we wanted to fill the values for the drop down for Airline, then we are supposed to fill the
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: If we wanted to fill the values for the drop down for Airline, then we are supposed to fill the
value in the parameter ET_FIELD_DESCRIPTION_ATTR. Attribute ENUMERATION has to be filled
with the value set.

Conclusion:
This Example illustrates how to set a search criteria using Generic Search UIBB and display the
result in the result table of the search UIBB, in the later tutorials we will further expand this
application so as to display the result in the List UIBB and not in that of Search UIBB this will help
us learn the possibilities of data transfer from one UIBB to another UIBB using static attributes of
the feeder class and Singleton concept.

Share story

1 com m ent :

Chengalarayulu CR September 29, 2014 at 10:37 AM


Excellent Work
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Reply

Enter your comment...

Comment as:

Publish

Select profile...

Preview

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Like this Page


Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

List UIBB
This tutorial explains the usage of Generic component list (FPM_LIST_UIBB) for data display in the
form of table.
The following tutorial is split into two parts.
1. Modeling the feeder class
2. Creating the configuration list component
Scenario: Display the data from the SFLIGHT table in the form of list at the time of start of
application.

Part 1: Modeling the feeder class.


Step 1: Go to the transaction class builder (SE24) and create a class.
Assign the class to a package or save it in the local object.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: In the interface tab of the class implement the interface IF_FPM_GUIBB_LIST, this will
automatically implement the interface IF_FPM_GUIBB.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: In the attributes tab of the class create the attribute as shown below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 4: Implement the GET_DEFINITION method of the interface.


*

field catalog - Table columns


eo_field_catalog ?= cl_abap_tabledescr=>describe_by_data( mt_sflight ).

Code Explanation:
EO_FIELD_CATALOG is an exporting parameter which is used to provide the list of columns to be
added to the table. This exporting parameter is of type CL_ABAP_TABLEDESCR and the object
reference for the internal table is created and passed on to this exporting variable.
Step 5: Implement the initialize method to fill values to be displayed.
select *
from sflight
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

from sflight
into table mt_sflight
UP TO 10 rows.

Code Explanation:
Since we dont have any selection criteria in this application, I am initializing the data in the
initialize method with values to be displayed in the output table.

Step 6: Implement the method GET_DATA to move the data to the list.
if iv_eventid->mv_event_id = 'FPM_START'.
ev_data_changed = abap_true.
ct_data = mt_sflight.
endif.

Code Explanation:
I wanted the application to display the data at the start of the application itself. FPM_START will
be the event triggered whenever the application is being executed for the first time. You can make
use of this event id in case you wanted to assign default values to fields.
Save and activate the methods of feeder class. This completes the modelling of our feeder class.
Lets get into configuration part now.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Lets get into configuration part now.


Note: All the methods of the feeder class has to activated individually going inside the method
Part 2: Configuration of Feeder class in FPM application.
Step 1: Create an application for the OVP floor plan component.

Step 2: Create an application configuration for the application.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: Enter the name for application configuration and click on new to create.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the description and assign it to the package.

Step 4: Click on assign configuration name and enter the configuration name. Click the link
generated for the application configuration name. System will prompt that configuration does not
exist click on new to create the component configuration.

Enter the description and assign the package for component configuration.
Step 5: In the FLUID editor, add a list UIBB as shown below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name for configuring the UIBB and click on enter. System throws an error message as
configuration does not exist. Select the lead for the UIBB and click on configure UIBB.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

System will throw a message that configuration does not exist. Click on new to create the
configuration. A pop up will appear on the screen asking for name of the feeder class and click on
edit parameters. Since we have not added any parameter in the method GET_PARAMETER of
feeder class system says a message no feeder parameter. Click on ok.

Since we have not added any parameter in the method GET_PARAMETER of feeder class system
says a message no feeder parameter. Click on ok.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 6: Click on the column button to add the columns to the list.

A pop up will appear showing the list of fields. Choose the layout you want and press ok.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I have modified the general settings panel as below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Check and save the application.


Step 7: Test the application.

Output:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This tutorial only explains how to display the data in the form of list. There is a purpose I havent
created a selection screen in this application and retrieve data based on the selection criteria. We
have already developed an application for search that retrieve the data from SFLIGT table and
displayed the result in its own list. Instead I wanted the search component to be separate UIBB
and wanted the result to be displayed in the separate LIST.
Hence I am going to merge the created two applications into one. We can make use of the same
feeder class to configure these two UIBBs in one application. This will give us the opportunity to
learn data transfer possibilities between UIBB through static variable and singleton concepts.

Share story

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

1 com m ent :

Anonymous October 20, 2014 at 11:17 PM


Is it possible to add columns dynamically in LIST UIBB?
I mean at the time of configuration there are say 5 columns but later on some condition the few additional
columns should be added.
possible in FPM?
Reply

Enter your comment...

Comment as:

Publish

open in browser PRO version

Select profile...

Preview

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Data transfer between two UIBBs


This tutorial explains the data transferring between the Two UIBBs.
In the earlier created two tutorials we have created feeder class for SEARCH and LIST. If you go
through the search application displays the results in its own result table created for the search
and the Second application list displays the data which is being initialized in the class.
I have merged the output of the two previous applications into one. Here I am just going to remove
the Result list from the search component and going to display the result in the list we created.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This tutorial explains the two ways of data exchange possibilities. There are even more
methodologies which I have saved for later tutorials. For now lets look at data exchange
possibilities between two UIBBs through.
1. Static variables of class
2. Singleton concept
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Since we already have the two feeder class modeled lets directly jump into the configuration part
by creating a new application and configuring these two types of generic components there.
Step 1: Create an application for OVP Floor plan component.

Step 2: Create application configuration for the application.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name for the application and click on new to create the application configuration.

Enter the

description and assign a package for the application configuration.


Step 3: Click on assign configuration name and enter the name for configuration. Click on the link
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: Click on assign configuration name and enter the name for configuration. Click on the link
provided for the configuration and create the component configuration.

Step 4: Add a search GUIBB component and enter the name for configuration and configure as
below.

Enter the name for configuration and click on configure GUIBB.


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Create the configuration and enter the name of the feeder class which was created in the search
application.
Click on search criteria to add the search criteria. A pop up will appear with the available fields.
Choose the fields required and click on ok.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: I have selected all the fields and moved the FLDATE to third position and in general
attributes panel I have modified the no of search rows to 3. Also I am not adding columns to result
list here.
Step 4: Save and Go back to the component configuration through the breadcrumb navigation
available on the top. Add a list UIBB and configure the list UIBB in the same manner with the
feeder class created for the list in the List Application.

Enter the name for the configuration and click on configure UIBB. Create a new configuration.
Enter the name of the feeder class as that of feeder class created for list application.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name of the feeder class as below. (Feeder class created for list application)

Select the column button. A pop up will appear with available fields, choose the required layout
and click on ok layout will be generated as below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 5: Save the configuration and Clear the code written in the initialize method of list feeder class
as I want my list to display data only based on selection criteria.
Test the application. Output of the application appears to be as below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Now there are two UIBBs displayed on the screen each on a panel. When the user enters the
search criteria and clicks on the search button the data is fetched according to the search criteria
and stored in the MT_SFLIGHT attribute of the class ZCL_SEARCH_FEEDER. Since we havent
created any output list in the search configuration the result will not be displayed in the search
component.
Similarly the second UIBB doesnt display any record as the attribute MT_SFLIGHT of the table
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Similarly the second UIBB doesnt display any record as the attribute MT_SFLIGHT of the table
does not contains any value.
Now we have to move the data from Search UIBB to List UIBB. The feeder class methods of the
UIBBs are called in the sequence they are sequenced in the FPM application.
If you put an external breakpoint on all the methods of feeder class then you can see the sequence
in which the methods of feeder classes are being called. Once the screen is displayed and user
triggers the action then the sequence of execution is as below.
1.
2.
3.
4.

PROCESS_EVENT method of first feeder class is called (Search)


PROCESS_EVENT method of second feeder class is called (List)
GET_DATA method of search feeder is called
GET_DATA method of list feeder is called

Note: I havent considered the FLUSH method here.


In the PROCESS_EVENT method of the search feeder class is the actual place where we are
converting the search criteria into select condition and retrieving the data and store it in the
internal table MT_SFLIGHT. MT_SFLIGHT is of type instance attribute, what we can do is change
the type of attribute to static so that it can be accessed without the object reference. We can read
the data in MT_SFLIGHT in the process event method or GET_DATA method of the List Feeder and
store it in the MT_SFLIGHT attribute of the list feeder and hence data in the MT_SFLIGHT will be
displayed in the list.
Do the following changes.
Change the attribute type of MT_SFLIGHT in the class ZCL_SEARCH_FEEDER from instance to
static attribute.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Change the code in GET_DATA method of the ZCL_LIST_FEEDER as below.


if iv_eventid->mv_event_id = 'FPM_EXECUTE_SEARCH'.
mt_sflight = zcl_search_feeder=>mt_Sflight.
ct_data = mt_sflight.
ev_data_changed = abap_true.
endif.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Test the application.

Output:

Debug the application for better understanding.


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

What we saw is accessing the static attributes of one class in another class. This is one way of data
transportation between two UIBBs.
We can also achieve the same by creating a singleton class or by wiring between two UIBBs. Lets
put aside the wiring concept it will discussed in the later chapters. In the same lets modify the code
to access the data by creating singleton class.
Creation of Singleton class:
Step 1: Go to the transaction class builder (SE24) and create a singleton class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: In the attributes tab of the singleton class create the attributes as below.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: Create a method public static method GET_INSTANCE with a returning parameter type
referring to the same class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Write the code inside the method as follows.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Save and activate the class.


Now our singleton class is ready and this class always has only one instance in runtime. We can
store the data in this class and retrieve it where ever we want it. I have also created an attribute
MT_SFLIGHT in the singleton class for the purpose of storing the result.
Now from the search feeder class we will store the result in the singleton class and from list feeder
class we will retrieve the same data from singleton class.
Modify the PROCESS_EVENT method of the search feeder class as below.
data : lt_where_string type rsds_where_tab.
data : lo_exe type ref to cx_fpmgb.
check io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

check io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search.


* Convert the search query into sql string
try.
cl_fpm_guibb_search_conversion=>to_abap_select_where_tab(
exporting
it_fpm_search_criteria = it_fpm_search_criteria " search criteria for GUIBB Search
iv_table_name
= 'SFLIGHT'
" Table Name
* io_field_catalog =
" Runtime Type Services
importing
et_abap_select_table = lt_where_string
).
catch cx_fpmgb into lo_exe. " GUIBB Exceptions
* Exception part handled here
endtry.
* Fetching the result
select *
from sflight
into table mt_sflight
up to iv_max_num_results rows
where (lt_where_string).
* Storing the data from the singleton class
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

data : lo_singleton type ref to zcl_singleton.


lo_singleton = zcl_singleton=>get_instance( ).
lo_singleton->mt_sflight = mt_sflight.

Modify the GET_DATA method of the list feeder class as below.


data : lo_singleton type ref to zcl_singleton.
if iv_eventid->mv_event_id = 'FPM_EXECUTE_SEARCH'.
lo_singleton = zcl_singleton=>Get_instance( ).
mt_sflight = lo_singleton->mt_Sflight.
ct_data = mt_sflight.
ev_data_changed = abap_true.
endif.
Now test the application, result is going to be the same, except the approach we transmitted the
data from one UIBB to another. This is just a demo application. The advantages and drawbacks of
these methods of data transport can be found in the blog link below
http://scn.sap.com/community/web-dynpro-abap/floorplan-manager/blog/2012/12/01/dataexchange-possibilities-in-floorplan-manager
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Share story

0 Thoughts on this post :

Enter your comment...

Comment as:

Publish

open in browser PRO version

Select profile...

Preview

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page


Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Form UIBB
This tutorial explains to create a form with the help of generic component FPM_FORM_UIBB.
This tutorial is split into two parts
1. Modeling the feeder class
2. Configuring the Form component with feeder class
NOTE: If you are working in EHP6 then the name of the form component appears with addition
GL2. It was the latest component created according to guidelines.

Part 1: Modeling the feeder class


Step 1: Go to the transaction class builder (SE24) and create a class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: In the interface tab of the class implement an interface if_fpm_guibb_form, this interface
also implements if_fpm_guibb along with it.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: In the attributes tab of the class create the following attributes.

Step 4: Implement the get definition method of the class as follows.


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

* Field catalog
mo_sflight ?= cl_abap_structdescr=>describe_by_data( ms_sflight ).
eo_field_catalog = mo_sflight.

Step 5: Write the following code in the get data method of the class.
cs_data = ms_sflight.

Thus the modeling of our feeder class is complete. Save and activate the whole class.
Note: Activate all the methods by going inside the method. Activating the whole class will not
implement all the methods.
Also in the modeled feeder class no where the data has been retrieved.

Part 2: Configuration of the FPM application.


Instead of creating a new application, I have configured the form UIBB in the fpm application
created in the previous tutorial for Data Transfer Between Two Uibbs.
Step 1: Go to the component configuration page(ZAPP_DATA_TRANSFER) created in previous
tutorial. Add a form component as shown below.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name for the configuration and click on the configure UIBB.

System will prompt that the configuration does not exist. Click on new to create the configuration
and provide a suitable description and assign it to the package.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter the name of the feeder class that we have modeled for the form and click on edit parameters
and then ok.

Step 2: Click on the element->add_group to add group to the form.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: Add title to the form in the attributes for the group and then choose element->add element
at current level to add elements to the form.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

A pop up will be available with the available fields, choose the required fields and generate the
form you want.
I have splitted the form layout into two by choosing 16/2 layout option and splitted the fields into
two groups as shown below to make it compatible fit in one window without introducing scroll
bars and UI element type of all attributes are input field.
Note: Creating application with scroll bar are performance intensive.

Save the configuration and test the application.

Output:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I have purposefully not added to fill data in the form. Now in the application created user clicks on
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I have purposefully not added to fill data in the form. Now in the application created user clicks on
search then the data is displayed on the list. When the user selects the lead on the list I am going to
fill the form with values of the row selected. This time I am not going to retrieve the data in the
form UIBB using the method of accessing the static attributes of the class or by storing the value in
the singleton class. Instead I am going to transfer the data from the list UIBB to the Form UIBB
using wiring concept. The application continues in the next blog for Wiring.

Share story

0 Thoughts on this post :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Enter your comment...

Comment as:

Select profile...

Publish

Preview

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Data transfer between UIBB's using


Wiring Concept
In FPM, a wiring concept is used to build and interface between two UIBBs for the purpose of
exchange of data. At runtime when the data from one UIBB is changed it correspondingly impact
the change in values in Target UIBB.
For more information on Wiring:

http://help.sap.com/saphelp_nw70ehp3/helpdata/en/DB/4E8F9861FB43D7BD07B768810CEC98/content.ht
Scenario: We have the data displayed in the form of the list all in display mode. Whenever the user
selects a particular row (Lead) then the selected data must be displayed in the separate form UIBB
for editing purpose. We already have the form UIBB in place created. All we have to do is to
transfer data from List UIBB to form UIBB using wiring concept.
In order to proceed with wiring we need to create two things.
1. Container class
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

2. Connector class
Container Class: Its nothing but an simple class created for the purpose of storing data from the
source UIBB and reading data from the target UIBB. This class contains the attributes declared for
storing the values. We need not implement any interface for this class. The container class is
instantiated in the source feeder class and is passed to connector class through feeder model
interface (IF_FPM_FEEDER_MODEL) later the target UIBB receives this reference with the help of
connector class and reads the data.
Connector Class: This class serves as the interface between the Source UIBB and Target UIBB. This
calls implements an interface IF_FPM_CONNECTOR which in turn implements two other
interfaces namely IF_FPM_CONNECTOR_DEF and IF_FPM_CONNECTOR_RUN. The Connector
class gets the instance of the data container class through (IF_FPM_FEEDER_MODEL) and store
the reference in its attributes. Also it returns the reference of the connector to the target UIBB
using the same interface. Hence the target UIBB is able to access the data container class.
This tutorial is split into Four parts.
1.
2.
3.
4.
5.

Modeling the Container class


Modeling the Connector class
Modifications done to list and form feeders to participate in wiring methodology
Creating wires in FPM configuration
Data Exchange between two UIBBs feeder class

Part 1: Modeling the container class


Step 1: Go to transaction class builder (SE24) and create a class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: In the attributes tab of the class declare the necessary attributes to store the values. Here
in this example we are going to store only the lead selected values and hence I have created an
attribute with same structure SFLIGHT.

The role of data container is very limited to data storage and hence I have created only attributes
to store the values.

Part 2: Modeling the connector class


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 1: Go to transaction class builder (SE24) and create a class.

Step 2: In the interfaces tab of the class, implement an interface IF_FPM_CONNECTOR. It will also
implement two more interfaces,
IF_FPM_CONNECTOR_DEF
IF_FPM_CONNECTOR_RUN

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 3: In the attributes tab of the class create the following attributes.

This attribute was created to store the instance of the container class provided by the feeder
model interface.
Step 4: Create a class constructor for the class and in the class constructor method initialize a name
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 4: Create a class constructor for the class and in the class constructor method initialize a name
space for wiring as coded below.

Step 5: In the SET_INPUT method of the class store the reference of the container in the attribute
created for container class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 6: In the GET_OUTPUT method of the connector class pass the reference of the container to
the returning variable.

Save and activate the class.


Note: Implement all the methods of the class one by one and activate it.

Part 3: Changing the feeder class to be fit for wiring.


We already have modeled the feeder class for FORM and LIST UIBB. In order for a feeder class to
participate in a wiring model it should implement the following interface
IF_FPM_FEEDER_MODEL.
Step 1: In the interfaces tab of both the feeder class list (ZCL_LIST_FEEDER) and Form
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 1: In the interfaces tab of both the feeder class list (ZCL_LIST_FEEDER) and Form
(ZCL_FORM_FEEDER) implement the interface IF_FPM_FEEDER_MODEL.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

First lets complete the modifications to be done to the list feeder class and then proceed to the
form feeder class.
Step 2: In the attributes of the list feeder create a reference variable for container class.

Step 3: In the Initialize method of the List feeder class, instantiate the container class so that we
can assure that our container class gets instantiated only once.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 4: In the GET_OUPORT_DATA of the list feeder class, pass the reference of the container to
the connector class.

Step 5: In the GET_OUTPORT method of the list feeder class create the outport type.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Code:
data ls_outport like line of et_outport.
data lr_key

type ref to data.

data lv_key

type string value 'LIST_FORM'.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ls_outport-type

= 'LS'.

ls_outport-identifier

= 'LIST_TO_FORM'.

get reference of lv_key into lr_key.


ls_outport-object_key

= lr_key.

ls_outport-description

= 'Data from list to form'.

append ls_outport to et_outport.


clear ls_outport.

Step 6: In the GET_NAMESPACE method of the feeder class set the name space for the wiring
model created in the connector class.

Note: Implement all the other method of IF_FPM_FEEDER_MODEL and activate the whole class.
Thus far in this feeder class we have only created the port for navigation and container reference to
store the data in the container class. We havent written any logic to access the user selected value
and store it in the container class. This part will be done after wiring is done.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Changes done in form Feeder class


Step 7: Go to the Feeder class for form and do the following.
In the attributes tab of the class create a reference variable to connector class as shown below.

Step 8: In the set connector method of the feeder class get the reference of the connector class and
store it in the attributes created for connector class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 11: In the GET_NAMESPACE method of the class pass the namespace created for our
connector class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: Implement all the methods of the Interface. Save and activate the whole class.

Part 4: Wiring in FPM application


Step 1: Go to the application ZWDA_DATA_TRANSFER and open the component configuration we
created for that application in the earlier tutorials.

We have three UIBBs which was already created by us. Now we are going to transport data from
LIST UIBB to FORM UIBB. Click on the wire schema tab and choose the button wire to create the
wiring.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Step 2: Fill the values as below. Just choose the target component name and Source component
name using F4 help configuration name will be added by default. Select the port type as Lead
selection and choose the Port identifier from F4 and provide the connector class.
Note: The port name and port identifier comes from the GET_OUTPORTS method of the source
UIBB.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Save the configuration. Thus wiring is done between two UIBBs. In the graphical wire editor you
can also see the graphical model of wiring.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Thus the wire connection is done between the two UIBB to be build an interface to exchange data
between the two.
Note: An UIBB can be used as target only once, but it can be used as a source as many no of times.
There is only one way a UIBB can be populated.

In the configuration of the list feeder class, the general setting has been modified as below so as to
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

In the configuration of the list feeder class, the general setting has been modified as below so as to
trigger the event at the time a lead is being selected.

Thus so far we have only created the wiring between two UIBBs. The actual data transport isnt
done yet.

Part 4: Exchanging data between two UIBB.


Step 1: In the process event method of the List feeder class, check the event id for lead selection
and store the value of the lead selected index in the attribute of the container class.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Code:
DATA : ls_sflight TYPE sflight.
IF io_event->mv_event_id = 'FPM_GUIBB_LIST_ON_LEAD_SELECTI'.
READ TABLE mt_sflight INTO ls_sflight INDEX iv_lead_index.
IF sy-subrc = 0.
mo_sflight->ms_sflight = ls_sflight.
ENDIF.
ENDIF.

Step 2: In the get data method of the Form feeder class with the help of reference to the connector
class get the data from the container class which was stored from list feeder.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Code:

IF io_event->mv_event_id = 'FPM_GUIBB_LIST_ON_LEAD_SELECTI'.
ms_sflight = mo_connector->mo_data->ms_sflight.
ENDIF.
cs_data = ms_sflight.
ev_data_changed = abap_true.

Output:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Share story

4 com m ents :

Santhosh July 8, 2014 at 1:55 AM


Thala neenga thamizha?
Reply
Replies
Arun krishnamoorthy July 8, 2014 at 9:20 AM

Yes santhosh... I am tamizhan

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Anonymous July 14, 2014 at 3:09 AM


Many thanks!
I have a question. I'm trying to exchange data between tree uibb list and a normal list. I implemented your
code but when I select a tree line, the event is not called and in method get_data from normal list it's also
not called when I select a line from tree. Which cause could be? Thanks.
Reply
Replies
Arun krishnamoorthy July 14, 2014 at 3:24 AM

Hi,
I am not so sure why it did not work. I haven't worked on tree UIBB before. But let me check and
post the answer. Check in the configuration of tree UIBB if selecting the tree line is configured
to trigger the FPM event.
Regards,
Arun K

Enter your comment...

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Publish

Preview

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application

SAP HANA

Reading the user input and setting the output

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Excluding operators in Search GUIBB


This tutorial explains how to restrict the operator in the search GUIBB. Below is some the search
operator that the Search feeder class provides by default for the component. Now say you want
only some of the operators should be allowed and other should be restricted.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This can be done at two levels.


1. Configuration level
2. Coding level
Note: I am working on lower version (EHP5) and the screens may appear different.
Configuration level: While configuring the Search GUIBB with the feeder class we can restrict the
operators that are to be displayed for the operators.
Choose the operators which you want to restrict and click on the button exclude operators.

Choose the operators which you do not need and add it to the excluded operators list.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: The operators that are excluded can be overwritten in the admin level unless the excluded
operators are marked as final.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Output:

Coding level:
The operators which are excluded in the customizing part are static. If you wanted to modify the
operators dynamically then it has to be done at the coding level.
The definition method of the search feeder class contains a exporting parameter called
ET_FIELD_DESCRIPTION_ATTR. This is a deep structure which contains components (internal
table) Include and Exclude parameters. By filling the value in the tables we can include or exclude
operators which we want.

Modify the code in the GET_DEFINITION method of the feeder class as below.
data : wa_fields
it_fields

type dfies,

" Work area dicitonary field attributes

type ddfields, " Internal table Dicitonary field attributes

ls_field_desc like line of et_field_description_result.

" Work area result

column description
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

column description
* Creating the field catalog
eo_field_catalog_attr ?= cl_abap_structdescr=>describe_by_data( ms_sflight ).
* Assigning the result catalog
eo_field_catalog_result ?= cl_abap_tabledescr=>describe_by_data( mt_sflight ).
* Assigning field description
it_fields = eo_field_catalog_attr->get_ddic_field_list( ).
loop at it_fields into wa_fields.
ls_field_desc-name = wa_fields-fieldname.
ls_field_desc-text = wa_fields-fieldtext.
append ls_field_desc to et_field_description_result.
clear ls_field_desc.
endloop.

* Excluding the operators


FIELD-SYMBOLS : <fs_desc_attr>
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

type FPMGB_S_SEARCHFIELD_DESCR,
pdfcrowd.com

FIELD-SYMBOLS : <fs_desc_attr>

type FPMGB_S_SEARCHFIELD_DESCR,

<fs_exclude_operator> type FPMGB_S_SEARCH_OPERATOR.

data : lt_exclude_operator type FPMGB_t_SEARCH_OPERATOR.


append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.
<fs_exclude_operator>-operator_id = '04'.

" start with

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.

<fs_exclude_operator>-operator_id = '05'.

" contains

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.


<fs_exclude_operator>-operator_id = '03'.

" Is empty

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.

<fs_exclude_operator>
-operator_id = '23'.

" Is not empty

append INITIAL LINE TO et_field_description_Attr ASSIGNING <fs_desc_attr>.

<fs_desc_attr>-name
= 'CARRID'.
<fs_desc_attr>-exclude_operators = lt_exclude_operator.
UNASSIGN <fs_desc_attr>
.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Code Explanation: The GET_DEFINITION method exports a parameter call


ET_FIELD_DESCRIPTION_ATTR which contains component like name of the field, text, include and
exclude parameters, OVS Search helps and so on.
For the field for which we wanted to restrict the operated, all we have to do is to fill the exclude
parameters to omit the fields that are not to be used. The Search GUIBB component will take this
information from the feeder class and restrict the operators.
In this example I have restricted the CARRID attribute to only display Is and Is not all the other
operators has been removed.
Output:

Share story

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

1 com m ent :

Chengalarayulu CR October 3, 2014 at 6:38 AM


This document is not related to : 13.8 OVS Search help in search GUIBB,
Can you post correct one please..
Reply

Enter your comment...

Comment as:

Publish

open in browser PRO version

Select profile...

Preview

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page


Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Team ABAP

Achieiving excellence together

Excluding operators in Search GUIBB


This tutorial explains how to restrict the operator in the search GUIBB. Below is some the search
operator that the Search feeder class provides by default for the component. Now say you want
only some of the operators should be allowed and other should be restricted.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This can be done at two levels.


1. Configuration level
2. Coding level
Note: I am working on lower version (EHP5) and the screens may appear different.
Configuration level: While configuring the Search GUIBB with the feeder class we can restrict the
operators that are to be displayed for the operators.
Choose the operators which you want to restrict and click on the button exclude operators.

Choose the operators which you do not need and add it to the excluded operators list.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Note: The operators that are excluded can be overwritten in the admin level unless the excluded
operators are marked as final.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Output:

Coding level:
The operators which are excluded in the customizing part are static. If you wanted to modify the
operators dynamically then it has to be done at the coding level.
The definition method of the search feeder class contains a exporting parameter called
ET_FIELD_DESCRIPTION_ATTR. This is a deep structure which contains components (internal
table) Include and Exclude parameters. By filling the value in the tables we can include or exclude
operators which we want.

Modify the code in the GET_DEFINITION method of the feeder class as below.
data : wa_fields
it_fields

type dfies,

" Work area dicitonary field attributes

type ddfields, " Internal table Dicitonary field attributes

ls_field_desc like line of et_field_description_result.

" Work area result

column description
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

column description
* Creating the field catalog
eo_field_catalog_attr ?= cl_abap_structdescr=>describe_by_data( ms_sflight ).
* Assigning the result catalog
eo_field_catalog_result ?= cl_abap_tabledescr=>describe_by_data( mt_sflight ).
* Assigning field description
it_fields = eo_field_catalog_attr->get_ddic_field_list( ).
loop at it_fields into wa_fields.
ls_field_desc-name = wa_fields-fieldname.
ls_field_desc-text = wa_fields-fieldtext.
append ls_field_desc to et_field_description_result.
clear ls_field_desc.
endloop.

* Excluding the operators


FIELD-SYMBOLS : <fs_desc_attr>
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

type FPMGB_S_SEARCHFIELD_DESCR,
pdfcrowd.com

FIELD-SYMBOLS : <fs_desc_attr>

type FPMGB_S_SEARCHFIELD_DESCR,

<fs_exclude_operator> type FPMGB_S_SEARCH_OPERATOR.

data : lt_exclude_operator type FPMGB_t_SEARCH_OPERATOR.


append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.
<fs_exclude_operator>-operator_id = '04'.

" start with

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.

<fs_exclude_operator>-operator_id = '05'.

" contains

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.


<fs_exclude_operator>-operator_id = '03'.

" Is empty

append INITIAL LINE TO lt_exclude_operator ASSIGNING <fs_exclude_operator>.

<fs_exclude_operator>
-operator_id = '23'.

" Is not empty

append INITIAL LINE TO et_field_description_Attr ASSIGNING <fs_desc_attr>.

<fs_desc_attr>-name
= 'CARRID'.
<fs_desc_attr>-exclude_operators = lt_exclude_operator.
UNASSIGN <fs_desc_attr>
.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Code Explanation: The GET_DEFINITION method exports a parameter call


ET_FIELD_DESCRIPTION_ATTR which contains component like name of the field, text, include and
exclude parameters, OVS Search helps and so on.
For the field for which we wanted to restrict the operated, all we have to do is to fill the exclude
parameters to omit the fields that are not to be used. The Search GUIBB component will take this
information from the feeder class and restrict the operators.
In this example I have restricted the CARRID attribute to only display Is and Is not all the other
operators has been removed.
Output:

Share story

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

1 com m ent :

Chengalarayulu CR October 3, 2014 at 6:38 AM


This document is not related to : 13.8 OVS Search help in search GUIBB,
Can you post correct one please..
Reply

Enter your comment...

Comment as:

Publish

open in browser PRO version

Select profile...

Preview

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Newer Post

Home

Older Post

Online Training
I Provide online training in ABAP,Webdynpro ABAP and SAP UI5. If interested contact me at: Ph: 9600099095 Mail:
arunkrishnamoorthy@live.com

Like this Page


Team ABAP
Like

303 people like Team ABAP.

Facebook social plugin

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Popular Posts
Webdynpro ABAP

Introduction to webdynpro ABAP

Different types of controller in Webdynpro ABAP

ABAP Objects

SAP UI5

Field Symbols and Data Reference Variables.

ABAP

A simple webdynpro application


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

SAP HANA

Reading the user input and setting the output

About Me
Arun krishnamoorthy
Follow

69

I am an Associate consultant currently working in Yash Technologies pvt ltd. I am expertise in the areas of
ABAP, OO ABAP and Webdynpro ABAP. I am a blogger and trainer.
View my complete profile

Labels
ABAP
ABAP Objects
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Adobe forms
FICO
General
Queries in SAP ABAP
SAP HANA
SAP Query
SAP UI5
Webdynpro ABAP

Let us send you cool stuff!


We promise, we will only send you awesome stuff which will make your day!
Submit

Email address

Copyright 2013 Team ABAP - Template by SoraTemplates - and Blogger Templates - Success tips and advice

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

You might also like