cancel
Showing results for 
Search instead for 
Did you mean: 

OVERRIDE_EVENT_OVP method not triggering for multiple components in FPM

Former Member
0 Kudos

I am using 2 different webdynpro components using the  FPM_OVP_COMPONENT configuration.

In the first tab, have used a custom webdynpro component and in the second tab another custom webdynpro component.

The override_event_ovp method is triggering for the first component.

In the second webdynpro component's View, I have created an Execute button and when I have clicked on the execute button, the override_event_ovp method is not triggering.

Please let me know the process when we are using multiple webdynpro components at the same Configuration.

Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

OVERRIDE_EVENT_OVP will get trigerred only in one component,which you have mapped as Application controller component.

Former Member
0 Kudos

Ok, but how to capture the IF_FPM_OVP instance in the other component.. where I have to change the UIBB properties based on some business logic....

Former Member
0 Kudos

Can you please explain your scenario.

Also the button execute is FPM button or normal webdynpro UI?

Former Member
0 Kudos

The button execute is not an FPM button. Its a normal webdynrpo UI.

I have designed a selection screen in the 2nd component with an execute button and the output would be a FPM tree.. So when the user clicks on the execute button, I would like to make the selection screen invisible and FPM tree visible.

I can make these changes in the OVERRIDE OVP method or in the FPM Tabbed method. but the issue is, these methods will trigger only for the FPM related buttons or the elements which are created using FPM.

My query is how to trigger these standard methods using the webdynpro UI buttons.

Former Member
0 Kudos

You can try like this

On Click of ur button.

Write the below code.

DATA: lo_fpm TYPE REF TO if_fpm,

lr_event TYPE REF TO cl_fpm_event.

* get reference to FPM API

lo_fpm = cl_fpm_factory=>get_instance ( ).

* create event

lr_event = cl_fpm_event=>create_by_id ( 'SHOW_TREE' ).

* now raise event

  wd_this->fpm->raise_event( io_event = lr_event )


After raising this  event, your OVERRIDE_OVP method will be trigerred.

There you can check if the FPM event raised is 'SHOW_TREE' and then hide your selection screen and show ur tree.


Let me know if this helps.

Former Member
0 Kudos

Hi Hitesh,

It's triggering...

But would like to know if there is any other way to trigger the standard methods without raising the event.

If you can observe in standard programs of FPM, even SAP uses multiple components in FPM conifguration... and for all the components the required standard methods triggers.

So it may use some other configurations to trigger the standard methods, If you have any idea, please throw some light on this.

This is just for additonal information, but the above problem is solved by raising an event.


Thank you!

J_R
Advisor
Advisor
0 Kudos

Hi Chittibabu,

the FPM event loop, including calling an Application Configuration Controller (AppCC), is only triggered when an FPM event is raised. In case of the standard FPM GUIBBs (such as a List or a Form) you specify in the respective GUIBB configuration which FPM event is triggered when pressing a button, a toggle button, or selecting an entry from a button choice or drop-down list box. The FPM takes care that the configured FPM event is raised.

However, since free-style UIBBs are not fully controlled by the FPM the FPM cannot ensure that an FPM event is triggered when, for example, pressing a button. The free-style component has to take care of this by itself. For this, you can use a code similar to the example provided by Hitesh above,

Best regards,

Jens

Former Member
0 Kudos

Thank you Jens! for the detailed explanation.

Answers (0)