Manager Self Services – Adding Custom application to Team view Application Hierarchy
Welcome again to another blog in ESS MSS, if you had a chance to read my earlier blog I have explained how to knock out applications you might not require by creating a custom LPD role. In this blog let me try to touch upon how we can add our custom web dynpro application to the same hierarchy and launch the same.
This blog is helpful incase you are not well versed with Web Dynpro based on FPM and have done development based on classical web dynpros – just like me 🙂 .
As a first step we need to ensure that our custom web dynpro picks up the PERNR on which the user has clicked, now I found there is no straight forward way of doing this. if you have programmed the classical way then to a make it happen we have to incorportate our application in the FPM event loop.
So create an component configuration based on FPM_OVP_COMPONENT.
if you have no idea as to what I am talking about in the above step then follow the below steps.
1. In Se80, select the FPM_OVP_COMPONENT and then click on create component configuration.
2. Give the required name for your component configuration.
3. Now create a UIBB in the FLUID designer and embed your application window in the UIBB configuration like you see in the screen shot below.
4. Create an application configuration similar ways.
mention the component configuration you created earlier for your application configuration in the configuration. Once you are done with the configuration it is time for a bit of coding.
You need to implement the interface, basically this should be the first step even before you start the component and application configuration.
Once you have done this, all the interface methods gets added to your component controller.
Now go to process_before_output method in the component controller, this method gets introduced once you implement the interface. Insert the code you in the below screen shot.
In the code we get the singleton instance of the FPM application and fetch the pernr from the memory id created, this memory id key is dynamically generated and hence we need to query the Key and then get the value using it. Now you can use the PERNR to call required functions in your custom application.
As a last step, go to transaction lpd_cust and create an new application in your custom role. Be sure to include the parameter PERNR_MEM_ID in lpd_cust application parameters and in the application parameters of your web dynpro.
Well once you have done this, you should able to see your new application in the application hiearchy and also pick up the clicked PERNR from the standard FPM application and use it in your custom web dynpro application.
Hope this was useful. Any comments/Suggestions are welcome.
Thank you - very informative blog.
I have a simpler requirement - please shed some light if you can...
I need to call the standard CATS Webdynpro from a custom ABAP program, very similar to how a Manager would enter time on behalf of his/her employee. So far, I haven't been able to pass the PERNR as a parameter to the webdynpro; I have tried constructing the URL but that doesn't appear to work either.
Any ideas are appreciated...
Thanks in advance,
I too had a similar problem and I did not find the ideal solution to this, what I did was I did an override of the method of GET_INSTANCE of class CL_HRESS_EMPLOYEE_SERVICES, the application parameters u pass are avaialbe over there, I set the pernr there then it automatically becomes available. As a disclaimer, this is not the ideal way and sometimes you have to go against the conventions.
In your case check how the standard component is picking the PERNR, is it using this class, if yes try enhancing.
The standard solution is to implement HRMSS_B_MODIF_BUSINESS_PARAMS BAdI.