Skip to Content

Custom Enhancements to Performance Management in EHP4

Meeting user expectations.

When our organization decided to implement Performance Management over 12 months ago, we decided to do it on our own.  No outside consultants, but we have the kind assistance of others in our line of business (higher education and research).

We knew early on that we would be implementing the flexible appraisal approach and much functionality and customizing would be enabled by badi implementations and that has been true. We didn’t know at that time of the enhancements that would be needed to fit our customer’s expectations.

Functionality through Badis

Following is not a complete list of badi implementations but just a sample

HRHAP00_LINK – add a button to call a web dynpro application (or transaction) to show the Job Description (works just like the delivered qualifications badi)

HRHAP00_BUT_ACCESS – hide a button if the appraisal is a certain status and it is the appraisee

HRHAP00_VAL_DET – obviously, multiple implementations of this

Functionality through enhancements

This is where it got more interesting because we had no previous experience with Floor Plan Manager. I should note that we are EHP1, and having since read How to Create, Enhance and Adapt Floorplan Manager Applications on  SAP NetWeaver 7.0 EhP2 know that FPM_CONFIG_HIERARCHY_BROWSER would have been welcomed in the early learning curve.

  • CL_HAP_WD_START_PAGE_UI (assistance class for Web Dynpro HAP_START_PAGE_POWL_UI)

New Method – DOCUMENT_COPY – copy an existing appraisal to a new individual, resetting status and scores.  This was important to us to allow a manager to create an appraisal, update it with consistent text (such as standards) for a class of employees, then copy to other employees in that class.  This is a simple method that gets the existing documents details using HRHAP_DOCUMENT_GET_DETAIL, clears out the appropriate cell values, and then calls HRHAP_DOCUMENT_SAVE.

Overwrite Method – GET_DIRECT_REPORTS – copy of existing method needed because GET_ORG_UNIT_DATA calls it but it is a private method of the class, which can’t be called by an overwrite method

Overwrite Method – GET_ORG_UNIT_DATA – overwrite method because the delivered method hard-codes the SAP_MANG evaluation path which didn’t work for us

  • CL_HRHAP00_STARTPG_POWL (powl feeder class for the MSS start page)

Almost all methods were replaced with overwrite methods because we wanted additional fields to be shown (such as position and position text).  GET_ACTIONS was overwritten because we removed the create button and only use the create multiple button.

  • HAP_START_PAGE_POWL_UI (Web Dynpro component for MSS and ESS Powl functionality)

View VW_MASS_CREATE methods ONACTIONYES and WDDOINIT were overwritten to handle the call to the DOCUMENT_COPY function .


Since this has been a learning experience for us, we expect to encounter the occasional “Why did we do that?  This other way would have been much simpler”.  Live and Learn!

You must be Logged on to comment or reply to a post.
  • Great to see your first blog and impressive that you did it inhouse which I think is very smart if you have the expertise.

    Looking forward to you sharing future blogs on SAP HCM.

  • Hi Jim,

    Regarding the changes to the POWL feeder class, we found it more flexible to define a new feeder class and update the POWL customizing.

    The standard implementation is “linked through” in this new class. We then call the standard feeder methods and manipulate the results in the new class. This gives you the advantage that whenever SAP delivers updates to the standard class, you don’t need to adjust your enhancements.