Hello experts,
I have a requirement in which I need to pass data from POWL application to custom webdynpro application and again back to POWL application in SAP APO.
Till now I have been able to trigger custom webdynpro application from HANDLE_ACTION method of feeder class.
Please find below my code which I have used -
METHOD if_powl_feeder~handle_action.
TYPES: BEGIN OF ty_matnr_locno,
matnr TYPE /scmb/mdl_matnr,
locno TYPE /scmb/mdl_locno,
vrsioex TYPE /scmb/mdl_vrsioex,
END OF ty_matnr_locno.
DATA: lt_nav_param TYPE /scf/nav_param_tab,
ls_nav_param TYPE /scf/nav_param_str.
IF i_actionid = 'CUST_ACT'.
READ TABLE c_selected ASSIGNING FIELD-SYMBOL(<fs_sel_index>) INDEX 1.
READ TABLE c_result_tab ASSIGNING FIELD-SYMBOL(<fs_results>) INDEX <fs_sel_index>-tabix.
MOVE-CORRESPONDING <fs_results> TO ls_matnr_locno.
ls_nav_param-uname = sy-uname.
ls_nav_param-prmid = 'MATNR'.
ls_nav_param-counter = '1'.
ls_nav_param-rangesign = 'I'.
ls_nav_param-rangeoption = 'EQ'.
ls_nav_param-rangelow = ls_matnr_locno-matnr.
append ls_nav_param to lt_nav_param.
ls_nav_param-uname = sy-uname.
ls_nav_param-prmid = 'LOCNO'.
ls_nav_param-counter = '1'.
ls_nav_param-rangesign = 'I'.
ls_nav_param-rangeoption = 'EQ'.
ls_nav_param-rangelow = ls_matnr_locno-locno.
append ls_nav_param to lt_nav_param.
* Set Navigation Parameter
CALL METHOD lo_common_puia_powl->set_navigation_parameter
EXPORTING
it_nav_param = lt_nav_param
IMPORTING
et_messages = e_messages.
ls_params-key = /sapapo/cl_common_puia_powl=>mc_wdapplication.
ls_params-value = 'ZPGTPG_POWL'. "Custom WD application name
INSERT ls_params INTO TABLE e_portal_actions-parameters.
e_portal_actions-fire_wdevent = abap_true.
ENDIF.
ENDMETHOD.
Using above code, my custom webdynpro application gets called. But I am unable to pass parameters from feeder class HANDLE_ACTION method to custom webdynpro application and vice-versa. I have done following things up till now -
1. In my custom webdynpro application, I have used POWL_UI_COMP in used component controllers.
2. I created method ONEVENT_POWL has event handler method for event POWL_FOLLOW_UP of interface controller
3. In MAIN view of WD, I created a view container and in window, I mapped view container to POWL_MASTER of POWL_UI_COMP
4. I created a navigation link between outbound plug of MAIN view to default plug of POWL_MASTER (target view).
Now when I press button on POWL application, my custom webdynpro component is getting called but if I maintain a break point in methodONEVENT_POWL (POWL_FOLLOW_UP event handler method) of view, this is not triggered.
Instead, HANDLEDEFAULT method of window gets called. Also the parameters which I am sending from HANDLE_ACTION method of feeder class are not there in WDEVENT.
After this, there is a requirement to pass values from custom webdynpro back to feeder class.
How can I achieve this? Could anyone please guide me in a bit detail as I haven't worked on POWL much.
I have referred lots of articles and posts on SDN & other websites (list mentioned below) but haven't got further.
1. Calling a Web Dynpro Application from POWL feed... | SCN
2.POWL(Personal Object Worklist) for Web Dynpro
4. POWL Pop-up Editor - Web Dynpro ABAP - SCN Wiki
Regards,
Yayati Ekbote