Skip to Content
Author's profile photo Sharath M G

Eureka – FPM ( Floor Plan Manager ) is so simple

To begin,

I am neither Archimedes nor do I speak ancient Greek.

My first encounter with WDA was two years ago. I had been working on Web Dynpro Java and then entered to WDA. Back then, FPM was a new concept. Since then, I have not been able to work on WDA. But, FPM has been a thorn in my brain.

Divine Intervention: Today, I was on phone near the training room and a friend of mine called me in the training. No prizes to guess the training topic. It was FPM.

HuHooo. I was thrilled. I quickly grabbed my books and went into the training. By the end of the training I feel relieved, relieved of FPM.

Cut the BS: Now, to what I understood of FPM.


Scenario or



Configuration Process of controlling the behavior of the component using predefined configurations Personalization, default parameters, view display modifications etc.
Types of Configurations

Application Configuration – Configure application properties(macro level)

Component Configuration – Configure the component context ( Code level )

View personalization, app parameters, scrolling etc.(App. Config)

Modify the context values, define default values of context variables etc. ( Component Config)

User Scenarios

( Use case based scenarios)

SAP has identified four scenarios which are commonly used across customers, to fulfill their requirements.

1. Workflow Scenario 2. Cockpit Scenario 3. Tabular Scenario 4. Simple Data Scenario

Floor Plan

Floor plan is a design pattern( or template) which is a generic web dynpro component,with predefined yet configurable set of principles/properties. The Floor plan restricts/recommends the developer to follow the SAP defined implementation discipline. View – where the error are displayed at top, user interfaces are segregated into blocks and a page which is components of these blocks
Generic Component This is the main component which defined the composition of content in the view. It composes of IDR(Identification Region), Tool bar, Title, and UIBB(User Interface Building Blocks). UIBB are basically containers which will hold the view developed in custom Web Dynpro components or FPM related classes. A single generic component page can contain multiple number of UIBBs Similar to a layout template. It ensures that the view composition is performed using configurations ensuring re-usability and view consistency
Scenario 1 – Guided Activity Floor Plan

A floor plan which is used for scenarios like workflows, approvals, step by step process.

Component name: FPM_GAF_COMPONENT

Scenario 2 – Overview Floor Plan A floor plan which is used for cockpit based scenarios. Component name: FPM_OVP_COMPONENT
Scenario 3 – Object Instance Floor Plan A floor plan which is used for tabular data display scenarios. Component name: FPM_OIF_COMPONENT
Scenario 4 – Quick Activity Floor Plan A floor plan which is used for single page display scenarios. Component name: FPM_QAF_COMPONENT

Flexible User Interface Designer

Editor for FPM application configurations and their individual components. When we implement FPM, SAP provides a special designer for component configuration called as FLUID Create an application configuration in a floor plan and try to edit its component configuration. This designeris similar to a perspective in Eclipse. Based on the type of floor plan, it provides relevant options for user. Ex: Initial screen, main steps etc for GAF.
UIBB – User Interface Building Block UIBBs are the basic building blocks of the FPM. UIBBs hold the custom implementation of the customer requirements. UIBBs are categorized into many types – Form type, Tab type, List Type etc. An individual component developed for a specific user requirement can be included a single UIBB. The behavior fo the component can be controlled using its configuration. We can choose the relevant config ID in the UIBB configuration
Integrate custom Web Dynpro Component as UIBB To integrate the custom Web Dynpro Component as UIBB, the component needs to implement the web dynpro component interface IF_FPM_UI_BUILDING_BLOCK In the WD Component, under the implementation tab, add this interface to be implemented.
GUIBB – Generic UI Building Blocks Are SAP predefined template classes which are to implemented by custom classes. The customer classes which uses these GUIBBs are known as feeder classes. A programmatic approach to implementing the user requirement. Interface: IF_FPM_GUIBB_FORM for forms, IF_FPM_GUIBB_LIST for lists etc.

Enough of the definitions. Now to the initial steps to start a FPM based implementation.

1. Open a the specific floor plan

2. Create your own application configuration.

3. In the Component configuration of your application configuration, view the FLUID designer.

4. Based on the type of floor plan, you will be able to create specific screens or steps.

5. Create a new web dynpro component – implement the interface IF_FPM_UI_BUILDING_BLOCK




Where are the next steps? 😕

In the next part of the blog.

But Why? 😯

Because the next steps are covered in tomorrow’s class. 😎

[ Edit: The link to the Blog – Part 2 : Eureka – FPM ( Floor Plan Manager ) is so simple – Part 2 ( Not Anymore ) ]

Credit: To the trainer at my organization. He did a damn good job of simplifying it. ( Unless all my above understanding are incorrect 😡 )

Thank you one and all.



P.S. How I wish there was a common space for both web dynpro java and abap developers.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Wouter Peeters
      Wouter Peeters

      Good read, looking forward to part 2.

      I myself am a ABAP/WDA developer for 2 years and theoretically know what FPM is ( a little ), SAP their new applications are also build in FPM.

      But I'm wondering, when we do custom development at customers in Webdynpro ABAP, do we need to do this in FPM? Where do we draw the line that FPM is too much overhead, and where it is not.



      Author's profile photo Sharath M G
      Sharath M G
      Blog Post Author

      FPM as a pattern should used to benefit the development process.

      Consider a large project implementation. If you can initially map the user requirements to FPM scenarios and prepare the appln. configurations and define UIBBs required then you can delegate the task of the developing individual WD comps( to be used in UIBB ) to other team memeber(or yourself).

      You need to address all requirements in the individual code.

      Say, any change in requirement after development, if its configurable then it can handled in FPM itself.

      There is potential in FPM. If used well, it can reduce the time and effort impact and reduce TCD and TCO.

      Thank you for the feedback.



      Author's profile photo Vinoth Kumar
      Vinoth Kumar

      Sharath, Thanks for sharing. Could you give some more examples for application configuration.

      Author's profile photo Sharath M G
      Sharath M G
      Blog Post Author

      Hello Vinoth,

      Check the link : Web Dynpro for ABAP - Customization and Personalization. This has all the information related to app config with examples.

      Hope it helps.



      Author's profile photo Hemant Bisht
      Hemant Bisht

      Nice and simple enough to understand easily. really helpful. Thanks for sharing. Looking forward for part two. 🙂

      Author's profile photo Sharath M G
      Sharath M G
      Blog Post Author

      Thank you Hemant.

      The link to blog 2 is mentioned in this blog itslef. Check the last couple of lines of the blog.



      Author's profile photo Former Member
      Former Member

      Thanks for that introduction. FPM is getting more popular and it is good to know what it is about.

      Author's profile photo Sharath M G
      Sharath M G
      Blog Post Author

      You are welcome Paul.

      The whole intention is to simplify the concept of FPM.