Launch Pad Customization in SAP ESS:Step by Step
As most of us are aware that SAP has come up with a new UI buiding tool using Webdynpro ABAP as platform.Launch Pads though have been available for sometime now but with EhP 5 they enter into mainstream project development.SAP has added a Webdynpro ABAP flavour to SAP ESS with development of most of the services in WDA.Homepage Framework has been replaced with Launch Pad customization.
This blog will talk about how to use the existing SAP supplied launch pad for ESS and configure it to customer requirement.You must be on EhP5 and using ESS(WDA) role.
Navigate to Launch Pad Customizing using Tx LPD_CUST and select Role ESS Instance Menu.Open the role as make a copy by using Launchpad->Save as.(Very conventional 🙂 ) .Make sure you put a Custom namespace and a Custom role Name.
Now if you have used Homepage Framework in past then this might be a bit confusing because you actually do not need to do much.For adding New Area just add A New Folder; for creating Services use New Application;use Column Break for Segregating areas.You can hide services by dragging them into Inactive Application folder.For example i have hidden services Time Statement and added a new area Employee Search below.
The transport has to be triggered from the menu.In the launchpad you made the changes in, call from the menu ‘Launchpad’ -> ‘Transport’.Use a Z Package or a Standard one (which might be deleted on upgrade) to save the request.
Note:If you have issues in Transport check note 1584026.
And you are done with launch pad. 😉
Now you just need to point your Portal role to this Custom Role.And for that you need not log into portal 😕 .Since the application is hosted on ABAP stack ,so we can customize it from ABAP side.Employee Self Service uses Application HRESS_A_MENU Application Configuration HRESS_AC_MENU.You can make a Z copy of the same and make the changes(will not discuss how to do application configuration in detail here,may be another blog).
Open the Webdynpro Application config from ABAP Workbench Tx SE80 and Execute it in administrator mode (Shift+F8) .
Now go to Configure and provide the Custom Role Name you created earlier.
It will prompt you to create a request.Save in a custom package.Now you are truly done from ABAP side.Now if you have made a Z copy of the application configuration (You should !)than you have to use the same in the portal ESS role.Just change the highlighted properties accordingly.
And you are done.
Those who have worked with Homepage Framework will appreciate the simplicity,still Homepage Framework is supported and we can use it but then why should we 😛 .
Will talk more about application configuration and application integration in another blog.
This blog has been created while exploring the features of EhP5.There can be better ways to achieve the same.Please post your suggestions
Nice one Shankar. I was looking for something like this and found it after figuring it out. But still have a question. I was able to do a custom overview page, but the sub area services are not showing when navigated from the overview page. Am I missing something
In default few services are deactivated.Try setting "Set Enable".
Thanks Shankar. I missed to provide the custom configuration in the area page. It works perfectly fine now.
I have created folder(xxx) and application(xxx) with complete properties. In portal displaying, service is displaying two times like this
I am not expecting this above disply
I am expecting like this xxx, if we click this xxx, should open next page.
Could you please guide on this.
I was searching some simple document on this new Launchpad. Nice blog to begin with. Thank you, much appreciated.
Thanks... i had been looking for something like this for a while...
However I prefer to enhance the method IF_FPM_GUIBB_LAUNCHPAD~OVERWRITE_LAUNCHPAD_KEY of the feeder class CL_HRESS_LPD_MENU instead of changing the role content on the portal side
It definitely gives me more flexibility and all the customization is on ABAP side
Once you divulge into code than it's always the stronger tool.But then making customer copy of the app config and incorporating changes is easy and can be accomplished with very little knowledge of the underlying architecture.Unless there is some unique requirement on the UI side simple personalization works great.
Good one Shankar.
Hello Shankar, you are Rocking, Good work..
Just getting to grips with deploying EHP5 ESS.
One thing I'd add that if you change the text descriptions against the launchpad folders and applications via LPD_CUST its far easier than via customising as you have a multi line editor.
Any text changes made via LPD_CUST apply to the Map, Directory and Index views whereas changes made via customising have to be done separately for each page. Also if you rename a service via customising it doesn't change the sort in the Index view, whereas making the change via LPD_CUST updates the Index properly.
I've also enabled customising (sap-config-mode=X on Application Parameters of the ABAP WebDynpro ESS portal role) and see that this appears to feed through to the called applications e.g. Leave Request
Therefore using customising for renaming, hiding etc. within application pages. Also you can use the "Add decorative element" to a Group of elements in the page layout to add supporting text, URL links to external supporting information etc. via customising. Though its also possible to add URLs via LPD_CUST if links are needed in the service map/directory/index.
Loving the Launchpad. So much faster than the old homepage framework and nice to have things in one place.
Appreciate your post,
I was searching such kind of stuff related to ESS & MSS on EP 7.3 version as I am going to work on this soon, really good work.
Additions are much appreciated.
Do you have experience how to handle a global ESS. I plan to use one Launchpad for all countries - but I don't know if this is the best way.
If you or anyone else has experience please write.
I did a project with for US and Canada. Followed the same procedure creating two launchpad entries for each country and corresponding webdynpro configruation and portal content.
Excellent blog! This is just the information I was looking for.
I am using EHP4.0 and I don't have any role with "ESS" name! Is it because of my version is EHP4 and not EHP5? Which rule I should look for in my version or what should I do?
I think ESS launchpad menu is available as of ehp5. Prior to ehp5, you may need to work with Homepage Framework to customize ESS menu
Hope this helps.
What about the other parts? Is there big difference between EHP 4 and 5? Do you recommend me to upgrade from 4 to 5?
By the way how we can customize content of pages? For example the part I have selected in below screenshot.
With ehp5, you will get WDA based ESS applications, as well as Launchpad based ESS menus.
The ESS menu (Working Time in your example) can be customized through Homepage Framework. The 'requested resource is not found' error is because that configurations in Homepage Framework is not complete. Check the configuration for the Services and Resource.
I'd advise all reading this post to look at Sagar's post:
Tips & Recommendations for customizing ESS Menu (WD ABAP)
There are some very good reasons to just update the standard ESS menu rather than creating a custom copy. There are also reasons to create a custom copy. Sagar Joshi and I debate these in the comments of his excellent post.
I'd make yourself aware of both before making a decision.
Please advise me what happened
Currently I am working on Ehp7 and ESS/MSS is set up recently. As we have implemented Learning Solutions (LSO ) module in R/3 wanted to check the functionalities from Portal side. But unfortunately Learning Launchpad not available in ESS.
Do I've to above said steps to achieve this?
Hi Shankar - When I open the application HRESS_A_MENU in Administrator mode, I get an error
500 SAP Internal Server Error
Error: Type conflict when calling a function module. (termination: RABAX_STATE).
Did I miss out anything?
This sounds like a short dump occurring. Check ST22 to find more information because it could be a number of things (SAP Issue, Customizing issue, missing configuration etc).
If you have more questions you should open a new thread posing the question and provide all the details in that question.
Imran - Thanks for your response. Below is the short dump, can please take a look and let me know what I am missing.
If the error occurred in your own ABAP program or in an SAP
program you modified, try to remove the error.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
"CL_HRASR00_SET_PERNR_MEMID_ESSCP" or "CL_HRASR00_SET_PERNR_MEMID_ESSCM001"
Termination occurred in the ABAP program "CL_HRASR00_SET_PERNR_MEMID_ESSCP" -
The main program was "SAPMHTTP ".
In the source code you have the termination point in line 15
of the (Include) program "CL_HRASR00_SET_PERNR_MEMID_ESSCM001".
The termination is caused because exception "CX_SY_DYN_CALL_ILLEGAL_TYPE"
procedure "IF_EX_HRESS_MENU~MODIFY_APPLICATION_ATTRIBUTES" "(METHOD)", but it
was neither handled locally nor declared
in the RAISING clause of its signature.
The procedure is in program "CL_HRASR00_SET_PERNR_MEMID_ESSCP "; its source
1 METHOD if_ex_hress_menu~modify_application_attributes.
2 DATA p0001 TYPE STANDARD TABLE OF p0001.
3 DATA p0001_wa TYPE p0001.
4 DATA employee_name TYPE emnam.
5 DATA p0105 TYPE p0105.
6 DATA pernr TYPE pernr_d.
7 DATA userid TYPE sysid.
9 * pernr = personnelnumber.
10 * molga = countrygrouping.
11 * datum = sy-datum.
12 * service = proxyservicekey.
13 userid = sy-uname.
>>>>> CALL FUNCTION 'RP_GET_PERNR_FROM_USERID'
17 begda = sy-datum
18 endda = sy-datum
19 usrid = userid
20 usrty = '0001'
22 usr_pernr = pernr
24 retcd = 1
25 OTHERS = 2.
27 CHECK sy-subrc EQ 0.
30 CALL FUNCTION 'HR_READ_INFOTYPE'
32 pernr = pernr
33 infty = '0001'
34 begda = sy-datum
Contents of system fields
SY-TITLE HTTP Control
No. Ty. Program Include Line
22 METHOD CL_HRASR00_SET_PERNR_MEMID_ESSCP CL_HRASR00_SET_PERNR_MEMID_ESSCM001 15
21 METHOD CL_HRESS_LPD_MENU=============CP CL_HRESS_LPD_MENU=============CM001 118
20 METHOD CL_FPM_LAUNCHPAD_UIBB_ASSIST==CP CL_FPM_LAUNCHPAD_UIBB_ASSIST==CM001 74
19 METHOD /1BCWDY/QU46274ZW0645FKEYFYF==CP /1BCWDY/B_QU462VNYHQSNLLER8HX4 532
Web Dynpro Component FPM_LAUNCHPAD_UIBB
18 METHOD /1BCWDY/QU46274ZW0645FKEYFYF==CP /1BCWDY/B_QU462VNYHQSNLLER8HX4 112
Web Dynpro Component FPM_LAUNCHPAD_UIBB
17 METHOD CL_FPM_COMPONENT_MANAGER======CP CL_FPM_COMPONENT_MANAGER======CM003 128
16 METHOD CL_FPM_COMPONENT_MANAGER======CP CL_FPM_COMPONENT_MANAGER======CM004 20
15 METHOD CL_FPM_FLOORPLAN_ASSIST=======CP CL_FPM_FLOORPLAN_ASSIST=======CM01G 61
14 METHOD /1BCWDY/QU46A35ISYYN7LADKILM==CP /1BCWDY/B_QU46AROHEOL6NR4PUKKC 864
Web Dynpro Component FPM_OVP_COMPONENT
13 METHOD /1BCWDY/QU46A35ISYYN7LADKILM==CP /1BCWDY/B_QU46AROHEOL6NR4PUKKC 370
Web Dynpro Component FPM_OVP_COMPONENT
12 METHOD CL_WDR_DELEGATING_COMPONENT===CP CL_WDR_DELEGATING_COMPONENT===CM004 9
11 METHOD CL_WDR_CONTROLLER=============CP CL_WDR_CONTROLLER=============CM00Q 3
10 METHOD CL_WDR_COMPONENT==============CP CL_WDR_COMPONENT==============CM00U 24
9 METHOD CL_WDR_CONTROLLER=============CP CL_WDR_CONTROLLER=============CM002 7
8 METHOD CL_WDR_CLIENT_COMPONENT=======CP CL_WDR_CLIENT_COMPONENT=======CM00D 24
7 METHOD CL_WDR_CLIENT_APPLICATION=====CP CL_WDR_CLIENT_APPLICATION=====CM00I 17
6 METHOD CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00Z 11
5 METHOD CL_WDR_CLIENT_ABSTRACT_HTTP===CP CL_WDR_CLIENT_ABSTRACT_HTTP===CM01A 90
4 METHOD CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00J 85
3 METHOD CL_HTTP_SERVER================CP CL_HTTP_SERVER================CM00D 627
2 FUNCTION SAPLHTTP_RUNTIME LHTTP_RUNTIMEU02 1221
1 MODULE (PBO) SAPMHTTP SAPMHTTP 13
Please open a new thread for these type of issues and questions in the correct forum (ESS in this case). If you open the question you can just send the link to the question.
Posted the message in ESS forum, please comment if you can.
I did not see the thread that you created in the ESS page. I also looked at your profile and did not see it under your "Content". Are you sure you created it?
If so can you send me the direct link?
I already posted the question but it needs to be reviewed by moderator so it has not been visible yet. Can you take a look here and give me some direction?
We want to achieve a similar scenario, where I want to activate only Travel and expense, and hide all other applications. I am just a beginner to WDA. As Per your blog, I understood that we need to do following steps:
1) Create a z role ZESS and hide all the applications by dragging them to inactive folder.
2) create a Z of area group and assign ZESS.
3) Create a Z application config of HRESS_AC_MENU and assign z area group (step 2).
4) Create z application og HRESS_A_MENU, which defines z app config of step 3.
5) In portal change the app name and config name.
Portal version: 7.4
following are my doubts
1) Is my understanding correct?
2) Do we need to prepare z of HRESS_CC_OVP_MENU too?
Will appreciate your quick response.
Please raise a new thread of your query in content space , enterprise and portal administration.