on 02-03-2010 9:16 AM
Hello everybody,
I worked trough the cookbook for the floorplan manager. At the moment I have an application presenting two tabs. (I am working with the FPM OIF.) Now I am trying to realize the possibilities described under the headline "Changing the Tabbed Component Dynamically at Runtime" (page 74). I tried it again and again but it did not work.
Actual status:
I have two views implemented in the FPM OIF. This works fine.
In the first view I have added a button. In it's action method I have the following coding:
DATA: lo_fpm TYPE REF TO if_fpm,
lo_event TYPE REF TO cl_fpm_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' ).
CREATE OBJECT lo_event
EXPORTING
iv_event_id = 'CHANGE_TAB_NAME'.
*lo_event->mo_event_data->set_value( iv_key = 'ID' ).
lo_event->mo_event_data->set_value( iv_key = 'NAME' iv_value = lv_tab_name ).
lo_fpm->raise_event( io_event = lo_event ).
In the component controllers method OVERRIDE_CONFIG_TABBED I implemented the following coding:
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 ).
io_tabbed->rename_tab( iv_tab_id = lv_id iv_new_name = lv_name ).
ENDCASE.
I uncommented some lines because I hoped it will work then, but it does not. With the debugger I come to the onAction-method after pressing the button. As far as I see the event will be registered in the FPM event loop as well. The problem is, the override_config_tabbed method is never called. Setting a breakpoint to this method does never turn the application to the debugger.
Can anybody tell me what I did wrong, and how to correct it? I am looking forward for your answers because the whole SDN including the search did not help me.
Sinceresly,
Barbara
To all who read this post, I performed the following step in addition to the steps outlined in the Developer's Guide to change the Tabbed Component dynamically at runtime and was successful in changing the tab name:
Add your Web Dynpro component to the Tabbed UIBB Component Configuration:
1. Select Change->Global Settings in the Control Region of the FPM Configuration Editor within the Tabbed UIBB Component Configuration. (Make sure you are at the Tabbed UIBB Component Configuration level when you do this. If you are at another level in the Configuration Editor, like another UIBB, it won't work!).
2. Enter the name of your Web Dynpro component in the Global Setting dialog box and Save.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Mitchi,
I am sorry that you have to wait such a long time. And I am afraid you have to go on waiting because the answer method of this forum is of the opinion that my description does not fit the forum rules. But I do not find any error.
If you can tell me where I can find an administrator to ask what is wrong with my explication I am very willing to ask him or her. I have searched for someone responsible to ask for 1 hour now and did find nothing. I am really sorry.
Yours Sinceresly
Barbara
Edited by: Barbara on Jun 14, 2010 11:15 AM
Hi Barbara...
Im facing same problem as you were...Im not able to trigger method OVERRIDE_CONFIG_TABBED in componnent controller...
has it to be triggered by a call...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Barbara,
maybe you're confused by the fact that there is OIF which has views (similar to tabs) and subviews and a Tabbed component which can be placed within a subview adding a 3rd level of "tabs". The tabbed component is modified via IF_FPM_TABBED but the views (and subviews) are modified via the interface IF_FPM_OIF (see chapter "Using an Application-Specific Configuration Controller").
Best regards,
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Christian,
thank you for your hint with the AppCC. In a way the example does work now.
The point I am confused on is the point you tried to explain to me. To me the FPM OIF consists of mainviews. In a mainview there are 1..n subviews defined. Each subview needs a UIBB.
Compared to the Web Dynpro point of view a UIBB is a window which embedds 1..n views.
I will be very happy if you try to explain me again what you meant with a third type or level of tabs.
Sinceresly,
Barbara
Hello Barbara,
OIF consists of mainviews, in a maniview there are 1..n subviews and in each subview there are 1..n UIBBs, which are interface views (=windows) of WD components embedding 1..n WD views. So far your understanding is correct. But this is not the end of the hierarchy:
FPM offers a special UIBB (the tabbed UIBB) which can be inserted just like any other UIBB. And this UIBB can be configured and embeds further UIBBs. So the hierarchy might go on:
A UIBB might be a tabbed UIBB which consists of a master area in which there are 0..n UIBBs, and a detail area containing a tabstrip with 0..n tabs. Each tab contains again 1..n UIBBs. These tabs are the 3rd level.
And each UIBB embedded in the tabbed UIBB might be a tabbed UIBB itself. Therefore in theory you can get as much nesting levels as you want.
This tabbed UIBB again has a API IF_FPM_TABBED which is responsible for modifying this 3rd level. And in your original code example it seemed as if you used this API. But this API is not responsible for modifying the mainviews and the subviews.
Best regards,
Christian
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.