cancel
Showing results for 
Search instead for 
Did you mean: 

Navigating between freestyle UIBB components in FPM OIF

former_member182500
Contributor
0 Kudos

Hi,

I have an FPM Object Instance Floorplan application, which is SAP standard. I have enhanced through configuration to add a custom tab.

Sap std tab 1 has a freestyle UIBB.

Custom tab 2 has a freestyle UIBB.

How do I navigate from tab 1 to tab 2. I thought I would have to affect the FPM event cycle through a post-exit implementation of component controller method process_event of sap std component, and calling IF_FPM_NAVIGATION-NAVIGATE, but when I get an instance ref to IF_FPM and call het_navigation, I was kind of expecting to get a list of valid components I could then navigate to.

Am I on the right track, anyone had successful experience of doing this. I was looking at page 136 of the FPM developers guide but it's not much help.

Grateful for any examples from anyone getting this to work,

JP.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Jp,

what you mean by

How do I navigate from tab 1 to tab 2.

Normally when the user press the tab, the corresponding UIBB is rendered. Do you want to trigger the navigation programmatic ?.

former_member182500
Contributor
0 Kudos

Hi,

yes, depending on some context value for example, I want to navigate from UIBB 1 (on tab 1) to UIBB 2 (on tab 2), and of course you would normally do that by firing plugs or events, but these are two seperate WDA components where cross component usage is not defined, so I imagine we have to influence the FPM event cycle somehow.

Cheers,

JP.

Former Member
0 Kudos

I think you have used the FPM_TABBED_COMP to embed the tabs right ?

IF_FPM_TABBED has a method set_selected_tab to set the tab which you want to set programmatic.

Problem is that getting the instance of IF_FPM_TABBED. You get this by implementing IF_FPM_TABBED_CONF_EXIT and the method OVERRIDE_CONFIG_TABBED.

See example in FPM_TABBED_BOOKING_SD.

former_member182500
Contributor
0 Kudos

Hi,

Thanks for your reply Baskaran.

I might be mistaken, but I believe IF_FPM_TABBED may just work for navigation between subviews, not main view to main view.

However I have just got this working, by raising an event of type cl_fpm_event=>gc_event_view_switch. Code as follows for solution - note specifically supply of main view AND subview name (I had forgotten to specifiy subview initially, which cost me a little time, grrr!).

DATA: lo_fpm TYPE REF TO if_fpm,

lo_fpm_event TYPE REF TO cl_fpm_event.

lo_fpm = cl_fpm=>get_instance( ).

lo_fpm_event = cl_fpm_event=>create_by_id( cl_fpm_event=>gc_event_view_switch ).

lo_fpm_event->mo_event_data->set_value(

EXPORTING

iv_key = cl_fpm_event=>gc_event_param_view_id

iv_value = 'MV_LIVECYCLE' ).

lo_fpm_event->mo_event_data->set_value(

EXPORTING

iv_key = cl_fpm_event=>gc_event_param_subview_id

iv_value = 'SV_REQUEST_FORM' ).

lo_fpm->raise_event( io_event = lo_fpm_event ).

Edited by: Jon-Paul Boyd on Apr 11, 2011 4:38 PM

Former Member
0 Kudos

Hi Jp,

IF_FPM_TABBED works between different tabs and there by different UIBB's (consisting interface views ) and you might be right about the master-details(tabbed views ) relation.

Good news that it works for you.