Skip to Content

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.

To report this post you need to login first.

32 Comments

You must be Logged on to comment or reply to a post.

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

      (0) 
    2. sh sk

      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.

      (0) 
  1. Fabien BEURET

    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

    (0) 
    1. Shankar Agarwal 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.

      (0) 
  2. 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.

    (0) 
  3. Srikanth Naidu Akula

    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.

    (0) 
  4. 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

    (0) 
    1. 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

      (0) 
  5. 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

    (0) 
    1. 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

      (0) 
      1. 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

        (0) 
        1. 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

          (0) 
  6. 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

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

    (0) 
  8. 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

    (0) 
  9. 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?

    (0) 
    1. 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

      (0) 
      1. 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

        (0) 
        1. 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.

          (0) 
            1. 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

              (0) 
              1. 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

                (0) 
  10. Khushboo Agarwal

    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

    (0) 

Leave a Reply