cancel
Showing results for 
Search instead for 
Did you mean: 

Adding additional tab and auth object in WD development using FPM - OIF

0 Kudos

Hi ,

I have a requirement to add an additional tab for the standard WD development. I could able to add this but it should be displayed based on authorisation object. This screen been designed and added using FPM and after addiign the additional tab with screen using FPM, Im not able to find a solution to put an authorisation. The type of FPM used is OIF, it would be helpful if any solution available for this.

Regards,

Praveen

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

got solved by myself

Former Member
0 Kudos

Hi Prveen,

I replied for a similer reqirement for FPM GAF. its almost same in OIF.

Go through the below link.

http://forums.sdn.sap.com/thread.jspa?threadID=1700712&messageID=9163261#9163261

Hope this will help you.

Thanks & Regards,

Arvind

0 Kudos

Hi All,

I have done some research on this but could not succeed.

let me explain it again....

I have standard mainviews which is already created. I am adding custom Main view to it. Now I have requirement to display this Main view based on the some condition which Im not able to do. I have used the interface IF_FPM_TABBED_CONF_EXIT and implemented the code in OVERRIDE_CONFIG_TABBED method of component controller.

the sample code which I used to change the caption is as below.

DATA: lo_exc TYPE REF TO cx_fpm_floorplan.

CASE io_tabbed->mo_event->mv_event_id.

WHEN 'CHANGE_TAB_NAME'.

DATA lv_name TYPE string.

DATA lv_id TYPE string.

io_tabbed->mo_event->mo_event_data->get_value( EXPORTING iv_key = 'ID'

IMPORTING ev_value = lv_id ).

io_tabbed->mo_event->mo_event_data->get_value( EXPORTING iv_key = 'NAME'

IMPORTING ev_value = lv_name ).

TRY.

io_tabbed->rename_tab( iv_tab_id = lv_id

iv_new_name = lv_name ).

CATCH cx_fpm_floorplan INTO lo_exc.

ENDTRY.

ENDCASE.

This is same as mentioned in doc, but this method is not getting triggered when I tried to raise an event.

data lv_tab_name TYPE string.

lv_tab_name = 'new name'.

lo_fpm = cl_fpm=>get_instance( ).

lo_event = cl_fpm_event=>create_by_id( 'CHANGE_TAB_NAME' ).

lo_event->mo_event_data->set_value( iv_key = 'ID'

iv_value = 'ID' ).

lo_event->mo_event_data->set_value( iv_key = 'NAME'

iv_value = lv_tab_name ).

lo_fpm->raise_event( io_event = lo_event ).

I am very new to FPM but no idea on how the method should be called when we trigger an event.

I also used the component FPM_TABBED_UIBB in test component and it works fine.

let me know on how to trigger/call method OVERRIDE_CONFIG_TABBED (not by calling it) and how it works,

thanks in advance

Regards,

Praveen kumar

Former Member
0 Kudos

Hi Praveen,

My requirement is to add some custom fields from PO header into the new tab.

Could you please tell me how can i include the z fields in the tab which is created though FPM?

Kindly suggest!

Regards,

Neha

Former Member
0 Kudos

Hallo Neha,

Please read the forum rules. Do not cross post on someone else thread.

Create your own post and ask help in the form.

Former Member
0 Kudos

Hallo Praveen,

Have you seen in the debug mode if the control come along this method OVERRIDE_CONFIG_TABBED regardless of your event ?

If this was your problem then the solution is that you need to go to the component configuration of the FPM_TABBED_UIBB,choose change to change mode.

From the left side pane, choose change button->global settings->fill in your webdynpro component name.

This trigger the OVERRIDE_CONFIG_TABBED method to be called.

0 Kudos

Hi everyone...

I had a great confusion that I was trying to hide Mainview using UIBB interface. Its wrong, I could have tried with OIF interface i.e. IF_FPM_OIF_CONF_EXIT. Now it works fine.

for people who are interested to know how it works on hiding/removing main view when u add it to standard FPM component please follow as below

implement interface IF_FPM_OIF_CONF_EXIT and OVERRIDE_EVENT_OIF method will appear in CC level. add your code in this method as below.

DATA: lo_exc TYPE REF TO cx_fpm_floorplan.

DATA mainview TYPE string.

mainview = 'MAINVIEW_3'.

CALL METHOD io_oif->remove_mainview

EXPORTING

iv_mainview_id = mainview

.

CATCH cx_fpm_floorplan INTO lo_exc.

ENDTRY.

its done...hope its helpfull

0 Kudos

Hi Neha...

though your query doesnt fall in this but let me explain how to do it...

when u add additional view to your existing FPM then you can do it by below steps.

add the reference to the main component which have context details to your component. then bind the data from main CC to your CC and use it wherever required. dont forget to add IF_FPM_UI_BUILDING_BLOCK in your interface

Former Member
0 Kudos

> for people who are interested to know how it works on hiding/removing main view when u add it to standard FPM component please follow as below

>

> implement interface IF_FPM_OIF_CONF_EXIT and OVERRIDE_EVENT_OIF method will appear in CC level. add your code in this method as below.

Good day!

I added IF_FPM_OIF_CONF_EXIT to FPM_OIF_COMPONENT usage list.

Then I went to CC properties and created component usage there.

Now should I create method OVERRIDE_EVENT_OIF in CC method list, or it should appear automatically? I dont see it anywhere...

Former Member
0 Kudos

In Floorplan CookBook (FPM developer's guide) at section "Changing the Tabbed Component Dynamically at Runtime" I see:

...

2. Save and activate the newly added interface.

Example: Somewhere in your code you want to rename a tab. To do this, you must raise your own FPM event

I have to hide/rename mainview before output, i.e. on initializing.

But when I try to launch event from WDDOINIT or WDDOMODIFYVIEW, there's a dump raised inside if_fpm~raise_event in method add_event_to_queque, which is caused by:

ASSERT mv_event_loop_is_closed = abap_false.

I dont get it at all... The only reason for renaming a tab is for display changes before output - so, why am I not able to do this?

Or maybe it should be done not from WDDOINIT or WDDOMODIFYVIEW ?

Where did you place your raise_event statement?

PS

I added IF_FPM_OIF_CONF_EXIT to FPM_OIF_COMPONENT usage list.

I was wrong - I had to implement it in Implemented Interfaces tab, not in Used Components tab at my WebDynpro component...

But I'm unable to add interfaces in that tab even though I'm in enhancement mode.

Former Member
0 Kudos

Hi..

I am also unable to add interfaces in the enh mode.

Anyone knows how to solve this. Pls guide.

Regards,

Vinay

Former Member
0 Kudos

Hi

I have a similar requirement where i have to add a custom tab with some extended z fields in Purchase Order screen in SRM 7.0. Could you please tell me what steps i need to follow to achieve this.

What i have understood so far is that i will have to find out the FPM-OIF and create a Z Configuration. Then in that i can add a tab using "ADD SUBVIEW" button.

Then to add the the extended custom fields i would have to use the feeder class.

Could you please throw more light on this.

Thanks!

Neha