cancel
Showing results for 
Search instead for 
Did you mean: 

Best practices : begin application development FPM

Former Member
0 Kudos

Hi Folks,

We are planning to introduce FPM in our company as a standard approach to develop custom applications.

There is also an initiative to transition existing custom WDA applications to be FPM compliant.

Are there best practices documented for FPM for WDA applications?

Are there any bottlenecks we could anticipate further ahead in this path?

Is there any easy way to convert existing WDA to be FPM compliant? (eg: implementing the IF_FPM_UI_BUILDING_BLOCK at a later stage and incorporating the views as UIBBs within the app configuration? )

I intend to have this guidelines in place prior to beginning the development.

Currently the management decision has been to begin creating applications on WDA and incorporating them into FPM at a later stage. Would this work out or would there be a lot of rework involved?

Any pointers in this direction would be most helpful. If there have been such initiatives in any organization, I would be most receptive to knowing the approach taken.

Thanks,

Puja.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Puja,

Are there best practices documented for FPM for WDA applications?

See this wiki and UI guidelines.

http://wiki.sdn.sap.com/wiki/display/BBA/GuidelinesforUserInterfaceandUserExperience

Are there any bottlenecks we could anticipate further ahead in this path?

The idea is to get better,flexible and extensible. Bottlenecks would be that your development team including designers to get used to think in the boundary of the FPM. That is the price you pay when you work with frameworks, you are bound to the rules of the framework.

Is there any easy way to convert existing WDA to be FPM compliant? (eg: implementing the IF_FPM_UI_BUILDING_BLOCK at a later stage and incorporating the views as UIBBs within the app configuration? )

I am not sure if there is any tool is available. You have options to copy configurations and that makes repetitive work easy. In 7.02 you can create templates which would even make the developers life easy ( i am not sure if i said it correctly here ,so i expect some comments from FPM experts here.).

Currently the management decision has been to begin creating applications on WDA and incorporating them into FPM at a later stage. Would this work out or would there be a lot of rework involved?

I might have some concern here. This approach could bring you more work to re factor at later stage if you have not followed the strict MVC pattern and UI guidelines. If you have used more plugs /events inside components then you may have some trouble using it as FPM .

I would advice you to design your application architecture such a way that more reusable components and units are developed. It is also better to have some kind of Proof of concept project done and present a road map for your project.

Former Member
0 Kudos

Hi Baskaran,

I completely agree with doing a POC in order to set the road map ahead.

I need to understand more about the core FPM framework in order to lay guidelines for the application architecture since this is an organization wide change that is going to be introduced. The implications would definitely be far reaching.

I am particularly keen on the feature in 7.02, that you have mentioned ,where we can create templates. I shall try to look for more information regarding this.

Thanks a lot for the inputs. They have indeed been very helpful.

Regards,

Puja.

Former Member
0 Kudos

After referring to the Ux guidelines laid down in the SAP Design Guild , here were a couple of guidelines we came up with.

For those who are interested:

1. Guidelines for deciding on the right floorplan

u2022 Some simple activities can be performed in one step on one screen.

Supported by: Quick Activity Floorplan (QAF)

u2022 Guided Activity

If the user has insufficient knowledge or practice in either the work process or the tool we provide to perform it, the system is to provide guidance. The activity is sequentialized so the user can perform it step by step.

Supported by: Guided Activity Floorplan (GAF)

u2022 Editing a Business Object Instance

Most office data are collected and managed in the form of business records or "objects." The basic work activity related to these objects is to edit the relevant properties of the object, and to put it back on the database.

Supported by: Object Instance Floorplan (OIF)

2. General Approach for designing FPM applications

u2022 While creating Web Dynpro applications, there is no concept of mandatory or optional parameters. For security reasons, you must never trust parameters passed by a different application. Always complete a proper validation before you use application parameters.

u2022 Use FPM_CFG_APPL_CREATION_TOOL if NW 7.0 EhP2 / ECC EhP5 is used

3. General Approach for designing UIBBs

u2022 Use GUIBBs as a standard. UIBBs need to be an exception

u2022 Implement the IF_FPM_UI_BUILDING_BLOCK Interface

u2022 In accordance with UX guidelines, checks are to be performed continually (as long as they are not too performance-intensive). For example, when switching from one view to another view in an OIF application, the view (UIBB) which is moved away from must check for local consistency.

u2022 Always set iv_revert in AFTER_FAILED_EVENT to true. In the PROCESS_EVENT method of the current UIBB has been processed successfully, but the event processing failed due to a problem in another UIBB, the actual event processing needs to be reverted as well.

u2022 When creating WD Components, its recommended to add one View to one Window

u2022 There are occasions when it is best not to use a Shared Data component, as detailed below:

o There is already an application-specific API available which serves as a u2018data containeru2019 and can be accessed by several components.

o The data needs to be shared not only between Web Dynpro components but also between other entities, such as ABAP OO classes, function groups, etc.

o The amount of data to be shared is so large that putting it into a Web Dynpro context would result in performance and memory consumption issues.

u2022 In these cases, the application can consider using techniques such as the following:

o An ABAP OO class which is accessible as a singleton, so that all consumers share the same instance.

o A function group with appropriate function modules.