Floorplan Manager (FPM) makes full use of the Web Dynpro ABAP Configuration Framework, providing you with several methods for adapting your applications.
Before you make changes to any application, it is important to understand which objects in the application need to be adapted. Do the changes involve only adaptations to the individual floorplan and/or UIBB component configurations, or should the code contained in feeder classes or application controllers also be adapted?
Once you have decided which objects should be adapted, there are a number of ways in which you can make changes to the application. Each has its advantages and disadvantages.
You can use the FPM Hierarchy Browser to copy an entire application, and make your changes to the copied version. Any changes made to the original SAP-delivered application will not affect your copied application; however, any further improvements or corrections delivered by SAP will also not reach your copied application.
The general SAP NetWeaver Enhancement Framework works with FPM-based applications too. All necessary entities can be enhanced. This is the only option that allows you to combine both code changes and configuration adaptations. From SAP NetWeaver 7.3 EHP1 onwards, the enhancement only contains the changed parts of the application. Therefore, later changes or corrections will be applied even to an adapted configuration.
It is possible to have more than one enhancement per component configuration, and, additionally, the single enhancements may originate in different systems. However, with these possibilities there is always the danger of losing the overall picture.
With customizing, only the changed parts of the application are stored. At runtime, the original configuration is merged with the changes in the customizing layer. Therefore, later changes or corrections to the original base configuration will be applied even to an adapted configuration. No additional effort is required compared to modifying the original object. Customizing is the best approach to fine-tuning an FPM application.
However, customizing is restricted to component configurations; there is no way to customize code. Also, in contrast to component configurations, it is not possible to create versions or copies as a backup. Additionally, a customizing can be created even if there is no underlying component configuration. This might lead to semantic data inconsistencies during the FPM runtime if a corresponding component configuration is created at a later point. If a configuration is deleted, the customizing delta remains in the database. This could lead to semantic data inconsistencies during the FPM runtime, as the delta might contain only fragments of the information needed to render the FPM application.
This refers to changing the configuration on the configuration level. This is easy to understand and to do.
After upgrade of the application or a support package, there is always the risk that the modification is overwritten, and has to be re-implemented.
This is an adaptation concept that allows you to have adaptations based on the runtime environment. With CBA you have the option to create multiple adaptations of a single application and, at runtime, the adaptation chosen is based on the current launch or runtime conditions. Only the changed parts of the configuration are stored. Therefore, later changes or corrections to the original base configuration will be applied even to an adapted configuration. No additional effort is required compared to modifying the original object. You can have multiple adaptations in parallel, and there is a mechanism to define which adaptation should be chosen at runtime. CBA is most suitable for large, global, role-based projects.
Dynamic CBA (in which the adaptation is only determined at runtime based on the displayed data) normally requires some code adaptation. Therefore, it is often necessary to combine CBA with an enhancement. Some concept work is certainly required before implementation.
For a more detailed description of these adaptation options, see the document Creating, Enhancing, and Adapting FPM Applications on the Floorplan Manager - Learning Material page on the SAP Community Network (SCN).