Skip to Content
Author's profile photo Shankar Agarwal

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.

1.JPG

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.

2.JPG

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) .

3.JPG

Now go to Configure and provide the Custom Role Name you created earlier.

5.JPG

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.

6.JPG

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.

Assigned Tags

      32 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Shankar Agarwal
      Shankar Agarwal
      Blog Post Author

      This blog has been created while exploring the features of EhP5.There can be better ways to achieve the same.Please post your suggestions

      Author's profile photo Raj Venkatachalam
      Raj Venkatachalam

      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

      Thanks, Raj

      Author's profile photo Shankar Agarwal
      Shankar Agarwal
      Blog Post Author

      In default few services are deactivated.Try setting "Set Enable".

      Author's profile photo Raj Venkatachalam
      Raj Venkatachalam

      Thanks Shankar. I missed to provide the custom configuration in the area page. It works perfectly fine now.

      Author's profile photo Former Member
      Former Member

      Thanks,..

      I have created folder(xxx)  and application(xxx) with complete properties. In portal displaying, service is displaying two times like this

      xxx

      xxx

      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.

      Author's profile photo Abhijit Zope
      Abhijit Zope

      I was searching some simple document on this new Launchpad. Nice blog to begin with. Thank you, much appreciated.

      Author's profile photo Former Member
      Former Member

      Thanks... i had been looking for something like this for a while...

      Author's profile photo Former Member
      Former Member

      Nice blog!
      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

      Author's profile photo Shankar Agarwal
      Shankar Agarwal
      Blog Post Author

      Thanks.

      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.

      Author's profile photo Harinath Sadhu
      Harinath Sadhu

      Good one Shankar.

      Author's profile photo Deepak Kumar Sharma
      Deepak Kumar Sharma

      Hello Shankar, you are Rocking, Good work..

      Author's profile photo George Credland
      George Credland

      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.

      Author's profile photo Former Member
      Former Member

      Hi Shankar,

      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.

      Author's profile photo Gregor Brandstätter
      Gregor Brandstätter

      Hi!

      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.

      Thank you!

      Gregor

      Author's profile photo Raj Venkatachalam
      Raj Venkatachalam

      Hi Gregor

      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.

      Thanks, Raj

      Author's profile photo Qi Ren
      Qi Ren

      Excellent blog! This is just the information I was looking for.

      Author's profile photo Omid Daghdar
      Omid Daghdar

      Hi Shankar,

      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?

      Regards,

      Omid

      Author's profile photo Qi Ren
      Qi Ren

      Hi Omid,

      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.

      Qi

      Author's profile photo Omid Daghdar
      Omid Daghdar

      Thanks Qi,

      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.

      Portal-WT-01.png

      Regards,

      Omid

      Author's profile photo Qi Ren
      Qi Ren

      Hi Omid,

      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.

      Regards

      Qi

      Author's profile photo Chris Paine
      Chris Paine

      Hi,

      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.

      Cheers,

      Chris

      Author's profile photo Peter Svec
      Peter Svec

      Hi,

      I modified the menu as instructed, but the problem. I kept only the employee benefits a folder payslip. When I click on the link payslip, nothing happens, not take me another page with application payslip. Down Lists javascript: void (0);

      Please advise me what happened

      Author's profile photo Niladri Bihari Nayak
      Niladri Bihari Nayak

      Dear Shankar,

      Nice document.

      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?

      Regards,

      Niladri

      Author's profile photo Ashwani Tomar
      Ashwani Tomar

      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?

      Author's profile photo Imran Sajid
      Imran Sajid

      Hi,

      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.

      Thanks,

      Imran

      Author's profile photo Ashwani Tomar
      Ashwani Tomar

      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

          keywords:

          "CALL_FUNCTION_CONFLICT_TYPE" "CX_SY_DYN_CALL_ILLEGAL_TYPE"

          "CL_HRASR00_SET_PERNR_MEMID_ESSCP" or "CL_HRASR00_SET_PERNR_MEMID_ESSCM001"

          "IF_EX_HRESS_MENU~MODIFY_APPLICATION_ATTRIBUTES"

          Termination occurred in the ABAP program "CL_HRASR00_SET_PERNR_MEMID_ESSCP" -

           in "IF_EX_HRESS_MENU~MODIFY_APPLICATION_ATTRIBUTES".

          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"

           occurred in

          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

      Line SourceCde

          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.

          8

          9 *  pernr   = personnelnumber.

         10 *  molga   = countrygrouping.

         11 *  datum   = sy-datum.

         12 *  service = proxyservicekey.

         13  userid = sy-uname.

         14

      >>>>>  CALL FUNCTION 'RP_GET_PERNR_FROM_USERID'

         16    EXPORTING

         17      begda     = sy-datum

         18      endda     = sy-datum

         19      usrid     = userid

         20      usrty     = '0001'

         21    IMPORTING

         22      usr_pernr = pernr

         23    EXCEPTIONS

         24      retcd     = 1

         25      OTHERS    = 2.

         26

         27  CHECK sy-subrc EQ 0.

         28

         29

         30  CALL FUNCTION 'HR_READ_INFOTYPE'

         31    EXPORTING

         32      pernr     = pernr

         33      infty     = '0001'

         34      begda     = sy-datum

      Contents of system fields

      Name Val.

      SY-SUBRC 0

      SY-INDEX 2

      SY-TABIX 1

      SY-DBCNT 1

      SY-FDPOS 1

      SY-LSIND 0

      SY-PAGNO 0

      SY-LINNO 1

      SY-COLNO 1

      SY-PFKEY

      SY-UCOMM

      SY-TITLE HTTP Control

      SY-MSGTY I

      SY-MSGID APB_LAUNCHPAD

      SY-MSGNO 068

      SY-MSGV1 WDA

      SY-MSGV2 COUNTRYGROUPING

      SY-MSGV3

      SY-MSGV4

      SY-MODNO 0

      SY-DATUM 20150307

      SY-UZEIT 131547

      SY-XPROG

      SY-XFORM

      Active Calls/Events

      No.   Ty.          Program                             Include                             Line

            Name

         22 METHOD       CL_HRASR00_SET_PERNR_MEMID_ESSCP    CL_HRASR00_SET_PERNR_MEMID_ESSCM001    15

            CL_HRASR00_SET_PERNR_MEMID_ESS=>IF_EX_HRESS_MENU~MODIFY_APPLICATION_ATTRIBUTES

         21 METHOD       CL_HRESS_LPD_MENU=============CP    CL_HRESS_LPD_MENU=============CM001   118

            CL_HRESS_LPD_MENU=>IF_FPM_GUIBB_LAUNCHPAD~MODIFY

         20 METHOD       CL_FPM_LAUNCHPAD_UIBB_ASSIST==CP    CL_FPM_LAUNCHPAD_UIBB_ASSIST==CM001    74

            CL_FPM_LAUNCHPAD_UIBB_ASSIST=>INIT_FEEDER

         19 METHOD       /1BCWDY/QU46274ZW0645FKEYFYF==CP    /1BCWDY/B_QU462VNYHQSNLLER8HX4        532

            CL_COMPONENTCONTROLLER_CTR=>FPM_INITIALIZE

            Web Dynpro Component          FPM_LAUNCHPAD_UIBB

            Controller                    COMPONENTCONTROLLER

         18 METHOD       /1BCWDY/QU46274ZW0645FKEYFYF==CP    /1BCWDY/B_QU462VNYHQSNLLER8HX4        112

            CLF_COMPONENTCONTROLLER_CTR=>IWCI_IF_FPM_MULTI_INSTANTIABLE~FPM_INITIALIZE

            Web Dynpro Component          FPM_LAUNCHPAD_UIBB

            Controller                    COMPONENTCONTROLLER

         17 METHOD       CL_FPM_COMPONENT_MANAGER======CP    CL_FPM_COMPONENT_MANAGER======CM003   128

            CL_FPM_COMPONENT_MANAGER=>ADD_COMPONENT

         16 METHOD       CL_FPM_COMPONENT_MANAGER======CP    CL_FPM_COMPONENT_MANAGER======CM004    20

            CL_FPM_COMPONENT_MANAGER=>ATTACH_COMPONENT_TO_USAGE

         15 METHOD       CL_FPM_FLOORPLAN_ASSIST=======CP    CL_FPM_FLOORPLAN_ASSIST=======CM01G    61

            CL_FPM_FLOORPLAN_ASSIST=>INITIALIZE_APP_CC

         14 METHOD       /1BCWDY/QU46A35ISYYN7LADKILM==CP    /1BCWDY/B_QU46AROHEOL6NR4PUKKC        864

            CL_COMPONENTCONTROLLER_CTR=>WDDOINIT

            Web Dynpro Component          FPM_OVP_COMPONENT

            Controller                    COMPONENTCONTROLLER

         13 METHOD       /1BCWDY/QU46A35ISYYN7LADKILM==CP    /1BCWDY/B_QU46AROHEOL6NR4PUKKC        370

            CLF_COMPONENTCONTROLLER_CTR=>IF_WDR_COMPONENT_DELEGATE~WD_DO_INIT

            Web Dynpro Component          FPM_OVP_COMPONENT

            Controller                    COMPONENTCONTROLLER

         12 METHOD       CL_WDR_DELEGATING_COMPONENT===CP    CL_WDR_DELEGATING_COMPONENT===CM004     9

            CL_WDR_DELEGATING_COMPONENT=>DO_INIT

         11 METHOD       CL_WDR_CONTROLLER=============CP    CL_WDR_CONTROLLER=============CM00Q     3

            CL_WDR_CONTROLLER=>INIT_CONTROLLER

         10 METHOD       CL_WDR_COMPONENT==============CP    CL_WDR_COMPONENT==============CM00U    24

            CL_WDR_COMPONENT=>INIT_CONTROLLER

          9 METHOD       CL_WDR_CONTROLLER=============CP    CL_WDR_CONTROLLER=============CM002     7

            CL_WDR_CONTROLLER=>INIT

          8 METHOD       CL_WDR_CLIENT_COMPONENT=======CP    CL_WDR_CLIENT_COMPONENT=======CM00D    24

            CL_WDR_CLIENT_COMPONENT=>INIT

          7 METHOD       CL_WDR_CLIENT_APPLICATION=====CP    CL_WDR_CLIENT_APPLICATION=====CM00I    17

            CL_WDR_CLIENT_APPLICATION=>INIT

          6 METHOD       CL_WDR_MAIN_TASK==============CP    CL_WDR_MAIN_TASK==============CM00Z    11

            CL_WDR_MAIN_TASK=>IF_WDR_RUNTIME~CREATE

          5 METHOD       CL_WDR_CLIENT_ABSTRACT_HTTP===CP    CL_WDR_CLIENT_ABSTRACT_HTTP===CM01A    90

            CL_WDR_CLIENT_ABSTRACT_HTTP=>HANDLE_REQUEST

          4 METHOD       CL_WDR_MAIN_TASK==============CP    CL_WDR_MAIN_TASK==============CM00J    85

            CL_WDR_MAIN_TASK=>IF_HTTP_EXTENSION~HANDLE_REQUEST

          3 METHOD       CL_HTTP_SERVER================CP    CL_HTTP_SERVER================CM00D   627

            CL_HTTP_SERVER=>EXECUTE_REQUEST

          2 FUNCTION     SAPLHTTP_RUNTIME                    LHTTP_RUNTIMEU02                     1221

            HTTP_DISPATCH_REQUEST

          1 MODULE (PBO) SAPMHTTP                            SAPMHTTP                               13

            %_HTTP_START

      Author's profile photo Imran Sajid
      Imran Sajid

      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.

      Author's profile photo Ashwani Tomar
      Ashwani Tomar

      Posted the message in ESS forum, please comment if you can.

      Author's profile photo Imran Sajid
      Imran Sajid

      Hello,

      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?

      Thanks,

      Imran

      Author's profile photo Ashwani Tomar
      Ashwani Tomar

      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?

      Thanks,

      -Ashwani

      Author's profile photo Former Member
      Former Member

      Hi Shankar,

      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.

      Regards,

      Khushboo

      Author's profile photo Shipra Priydarshini
      Shipra Priydarshini

      Please raise a new thread of your query in content space , enterprise and portal administration.