Enhancing SAP HCM - Thoughts and opinions hcm


Published on

Slide deck from presentation given at #SAUG Plenary in Melbourne Nov 2011 - all views contained are my own and do not reflect those of my employer or SAP.

Published in: Technology
1 Comment
  • http://www.dbmanagement.info/Tutorials/Peoplesoft.htm
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Enhancing SAP HCM - Thoughts and opinions hcm

  1. 1. How to get the best out of HCM <ul><li>Chris Paine </li></ul><ul><li>SAP Mentor 2011 </li></ul><ul><li>Consultant </li></ul><ul><li>Presence of IT </li></ul>
  2. 2. When “Good” just won’t cut it <ul><li>SAP “standard” HCM delivers a good solution </li></ul><ul><li>For most of us it’s not 100% what we want </li></ul><ul><li>2 choices: </li></ul><ul><ul><li>Change the company to fit SAP </li></ul></ul><ul><ul><li>Change SAP to fit the company </li></ul></ul>
  3. 3. But the Unmentioned Law <ul><li>Don’t stuff it up and don’t cost me a fortune! </li></ul>
  4. 4. Changing SAP <ul><li>Enhancing not modifying! </li></ul><ul><li>Some key areas </li></ul><ul><ul><li>Triggering something off an update </li></ul></ul><ul><ul><li>WDA versus WDJ and Classic Dynpro </li></ul></ul><ul><ul><li>Decoupled Infotype Framework </li></ul></ul><ul><ul><li>Build your own versus adapt some standard (BYO ASS) </li></ul></ul>
  5. 5. Triggering off an update <ul><li>Multiple use cases </li></ul><ul><ul><li>Want to create/update additional data records when some information updated. </li></ul></ul><ul><ul><ul><li>E.g. Removing a reminder when a qualification has been obtained </li></ul></ul></ul><ul><ul><li>Causing an external action. </li></ul></ul><ul><ul><ul><li>E.g. Creating a user when a user id is entered against a person </li></ul></ul></ul><ul><ul><li>Notifying another party. </li></ul></ul><ul><ul><ul><li>E.g. Starting a workflow to update key data when a new hire is entered </li></ul></ul></ul>
  6. 6. Where to trigger, the good, bad and ugly <ul><li>Ugly </li></ul><ul><ul><li>Custom infotype screen logic in customer include area </li></ul></ul><ul><li>Bad </li></ul><ul><ul><li>Dynamic Actions Table T588Z </li></ul></ul><ul><ul><li>User Exits (EXIT_SAPFP50M_00n (n=1,2), exit HRBAS001) </li></ul></ul><ul><li>Good </li></ul><ul><ul><li>Enhancement spots! </li></ul></ul>
  7. 7. Triggering an update within Enhancement Spot HRPAD00INFTYBL <ul><li>Only trigger on DB update – not on check! Use “in update task” extension of FM to update infotypes (otherwise locking/buffer issues). </li></ul><ul><li>Many standard implementations – use them as guidelines </li></ul>
  8. 8. WDA versus WDJ and Classic Dynpro <ul><li>WDA gives a lot of flexibility in enhancing – much more than we have been used to </li></ul><ul><ul><li>Method pre and post and replace, </li></ul></ul><ul><ul><li>View enhancement: remove, replace, adjust </li></ul></ul><ul><ul><li>Replace entirely and re-use model </li></ul></ul><ul><ul><li>Application and component configuration </li></ul></ul><ul><li>FPM gives even more flexibility </li></ul><ul><ul><li>Detailed configuration options </li></ul></ul>
  9. 9. So many options!
  10. 10. Add, delete, copy, it’s all there
  11. 11. Flexible layout configuration (OVP floorplan of WDA FPM)
  12. 12. GUIBB configuration (WDA ESS EhP5)
  13. 13. WDA versus WDJ and Classic Dynpro <ul><li>Don’t bother enhancing WDJ code </li></ul><ul><ul><li>No simple way to detect changes when support packs applied </li></ul></ul><ul><ul><li>Creating a custom solution may mean look and feel differs from SAP solution </li></ul></ul><ul><li>Enhance WDJ screens through configuration </li></ul><ul><li>Classic Dynpro screens sometimes have areas for customer enhancements </li></ul>
  14. 14. &sap-config-mode=X Ctrl-Shift Right-Click
  15. 15. CI_includes
  16. 16. Adding new field to WDJ <ul><li>Insert fields in CI include </li></ul><ul><li>Go to personalisation </li></ul><ul><ul><li>View main structure </li></ul></ul><ul><ul><li>Add custom extension fields  </li></ul></ul><ul><ul><li>Remember to map fields either to custom field in infotype, or through conversion classes. </li></ul></ul>
  17. 17. Custom Extension Fields
  18. 18. Decoupled Infotype Framework <ul><li>The “new” way to read, create and update infotype records. </li></ul><ul><li>PA and OM Infotypes – Time is only notionally supported (is very different logic) </li></ul><ul><li>Main difference – do update, get results, then decide whether to commit result to database. </li></ul>
  19. 19. Decoupled Infotype framework components <ul><li>Check classes </li></ul><ul><ul><li>Infotype and country version dependent –E.g. CL_HRPA_INFOTYPE_0008_13 </li></ul></ul><ul><ul><li>Manipulates data to pass to user – E.g. Evaluating indirectly evaluated wagetypes. </li></ul></ul><ul><ul><li>Independent of any screen logic </li></ul></ul><ul><ul><li>Can be replaced with custom version (modify table T582ITVCLAS (but really not recommended!)) </li></ul></ul><ul><ul><li>Explicit enhancement points  </li></ul></ul><ul><ul><ul><li>Enhancement Spot HRPAD00INFTYBL </li></ul></ul></ul>
  20. 20. Enhancement for Business Logic Check classes N.B. possibility to intercept DB update, not really part of BL check classes but a very valuable exit!
  21. 21. Decoupled Infotype framework components <ul><li>Conversion Classes </li></ul><ul><ul><li>Convert between infotype structure Pnnnn and screen structure </li></ul></ul><ul><ul><li>E.g. HCMT_BSP_PA_AU_R0008 converted by class CL_HRPA_UI_CONVERT_0008_AU (see table T588UICONVCLAS) </li></ul></ul><ul><ul><li>Explicit enhancement points  </li></ul></ul><ul><ul><ul><li>Enhancement Spot HRPAD00INFTYUI </li></ul></ul></ul>
  22. 22. Enhancement Spot for Conversion Classes
  23. 23. Deprecated (I think) cool stuff <ul><li>Generic Text Reader </li></ul><ul><ul><li>Part of decoupled framework – but does not appear to be implemented in latest BOL layer over DCIF – use with caution! </li></ul></ul><ul><ul><li>Table V_T588AUTO_TEXTC </li></ul></ul><ul><li>Required/Read Only fields </li></ul><ul><ul><li>Occasionally referenced in Check Classes not part of BOL implementation (AFAIK) </li></ul></ul><ul><ul><li>Table T588MFPROPC </li></ul></ul>
  24. 24. Build your own versus adapt some standard <ul><li>Build your own solution </li></ul>Pros Cons Complete control No base to work from Can be designed for reuse Takes a good knowledge of eventual use cases to make reusable Have functionality that is of business benefit SAP may release similar solution in near future which could be Relatively safe from upgrade/support pack changes Requires extensive documentation to support
  25. 25. Build your own versus adapt some standard <ul><li>Adapt a standard solution </li></ul>Pros Cons A working base to improve on Underlying SAP code not documented – can be tricky to enhance Benefit from SAP enhancements Not exactly as per user requirements Return to standard with lower support cost is easier Limited to areas where SAP already have some kind of implementation Less development to document Development needs extensive regression testing on support pack/upgrade
  26. 26. Too much or too little or not enough?
  27. 27. Thank you for your time <ul><li>Questions? </li></ul>
  28. 28. Paying It Forward – Call me! [email_address] – [email_address] – Twitter @wombling