on 03-21-2014 9:54 AM
Hello Experts,
I'm very new to FPM developments and I'm blocked in my development where I need to pass some data to the interface nodes of a web-dynpro component.
Scenario:
I've created a FPM configuration ZCONF_A and everything is designed in FPM only using standard UIBB components, no web-dynpro component used.
There is a button on click of which I've to open a Dialog box.
For dialog box design in UIBB, I've assigned a web-dynpro component and its main window as I want to show my web-dynpro screen in a dialog box and I'm reusing an existing dynpro component.
I've already managed to call the dialog box on get_data event of my feeder class, but how can I pass the data to the interface nodes of web-dynpro component.
Please suggest.
--
Best Regards
Jitin Kharbanda
Hello Jitin,
Sample code for Option 2 mentioned by Chopra
When user clicks on button to open dialog box:
data: lo_event_params type ref to if_fpm_parameter.
create object lo_event_params type cl_fpm_parameter.
lo_event_params->set_value( exporting iv_key = 'PARAM1' iv_value = 'VALUE1' ).
lo_event_params->set_value( exporting iv_key = 'PARAM2' iv_value = 'VALUE2' ).go_fpm->open_dialog_box( exporting iv_dialog_box_id = 'YOUR_DIALOG_ID'
io_event_data = lo_event_params ).
At WDDOINIT of your WD component used in the dialog box:
data: lt_event_queue type if_fpm=>ty_t_event_queue.
field-symbols: <ls_event_queue> type if_fpm=>ty_s_event_queue_entry,
<ls_params> type apb_lpd_s_params.
wd_this->go_fpm = cl_fpm_factory=>get_instance( ).
wd_this->go_fpm->read_event_queue( importing et_event_queue = lt_event_queue ).
read table lt_event_queue with key id = cl_fpm_event=>gc_event_open_dialog_box assigning <ls_event_queue>.
if <ls_event_queue> is assigned.
loop at <ls_event_queue>-parameter assigning <ls_params>.
if <ls_params>-key = 'PARAM1'.
"store data
elseif <ls_params>-key = 'PARAM2'.
"store data
endif.
endloop.
endif.
The FPM Developer Guide covers most of FPM functionality, I highly recommend check out this document.
Hope it helps. Cheers!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Tudor, I tried wiring and it worked.
Thanks Anurag, I had already tried using static attribute but I was not willing to use it, I was trying wiring only.
But the solution 2 that you suggested is more convenient and is working.
Thanks Nguyen for providing the exact code solution 2 suggested by Anurag.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Jitin,
there are multiple ways by which you could share data between a GUIBB and a freestyle webdynpro component used in any of the floorplans, and with a GUIBB involved you could do the following
1) Define a global class and use a static attribute or all together create a static class(One instance of a class)
2) you could also use FPM event parameter. you could create your own FPM event ID and add a parameter so when the event is fired from your GUIBB, it takes that data along(Preferablly a single data element or at the most structure)
3) Ofcouse wiring, i would suggest this approach only when you are repopulation your receiving end UIBB based on that data,
Based on your scenario pick your approach.
Regards
Anurag Chopra
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Jitin,
Have you tried using wiring? It's not only between GUIBBs, you can use for a freestyle UIBB as well, you'll just have to write some additional coding.
FPM Wire Model - Floorplan Manager for Web Dynpro ABAP - SAP Library
Tudor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.