on 11-10-2011 2:01 PM
We are trying to implement Workprotect in ESS - Talent Profile application (HRTMC_EMPLOYEE_PROFILE). The requirement is that when user had entered data in either Internal work experience, External Work experience or other tabs; before he has saved the data, if the user clicks on some other link in portal or try to close the window, Portal work protect that is enabled should prompt the user to save the data or risk losing data.
What has been done so far:
1. Enabled Workprotect on Portal:
Step 1: In the portal, go to System Administration -> System
Configuration -> Service Configuration.
Step 2: In the portal catalog, Select
application "com.sap.portal.epcf.loader" and open the properties for
service "epcfloader" for editing
Step 3: Set property workprotect.mode.default = 3
Step 4: Save -> Restart service
Now, Portal Work protect is enabled.
2. On the Talent application end, I have seen many posts in forum & FPM related workprotect documentation. But, it is not clear as to how this actually works when it comes to FPM application.
The documents says FPM allows application to make use of work protect
mode offered by Portal. To achieve this, the application must u2018tellu2019 the
FPM whether it contains unsaved
(u201Cdirtyu201D) data. For this, the FPM provides the Web Dynpro Interface
IF_FPM_WORK_PROTECTION. In the is dirty method, you have to put
METHOD is_dirty.
if * component contains unsaved data
ev_dirty = abap_true.
else.
ev_dirty = abap_false.
endif.
ENDMETHOD.
Questions:
1. If you see the shared application component HRTMC_TP_SHARED_DATA, it implements interface IF_FPM_WORK_PROTECTION. But, the isdirty method in the component controller has already existing code
METHOD is_dirty.
ev_dirty = wd_this->mv_is_dirty.
ENDMETHOD.
Where should we put the code given below as described in FPM documentation. In shared component or in individual components like HRTMC_TP_WORKEXP_INTERNAL, HRTMC_WORKEXP_INTERNAL, HRTMC_TP_EDUCATION
etc.
METHOD is_dirty.
if * component contains unsaved data
ev_dirty = abap_true.
else.
ev_dirty = abap_false.
endif.
ENDMETHOD.
And, the line "* component contains unsaved data" as described in document- how do we code this for talent profile considering that there are multiple components, shared component etc? My requirement is that if user has entered some data in any of the tabs like internal work experience, external work experience, then work protect should work if
user tries to navigate away or close browser.
2. If you see general documentation for Work protect and webdynpro (not for FPM), it says that the application must define a special status (dirty flag), which tells the portal when there is unsaved data. You can set and cancel this status (TRUE, FALSE) using method
SET_APPLICATION_DIRTY_FLAG in interface IF_WD_PORTAL_INTEGRATION.
And it goes on to say that one must set application flag dirty
SET_APPLICATION_DIRTY_FLAG
exporting
DIRTY_FLAG = TRUE | FALSE
and also set work protect mode
call method L_PORTAL_MANAGER->SET_WORK_PROTECT_MODE
exporting
MODE = NONE | APPLICATION_ONLY | BOTH
3. Which is the correct way to enable Work protect in case of Talent profile applications? Which method of which component should should we add code to? Which of the above ways should we follow ( Interface IF_FPM_WORK_PROTECTION or IF_WD_PORTAL_INTEGRATION) ? Which component and which method should we Set Work protect and Set isdirty
Please advise.
Hi Experts,
Can you please provide some useful info in implementing work protect in Standard FPM WebDynpro ABAP applications? In this case, as mentioned above, the application is ESS Talent Profile application (HRTMC_EMPLOYEE_PROFILE).
Thanks,
Sandeep
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.