Enhancing SAP HCM - Thoughts and opinions hcm

Download Enhancing SAP HCM - Thoughts and opinions hcm

Post on 21-Nov-2014

2.944 views

Category:

Technology

9 download

Embed Size (px)

DESCRIPTION

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.

TRANSCRIPT

<ul><li> 1. How to get the best out of HCM <ul><li>Chris Paine </li></ul></li></ul> <ul><li>SAP Mentor 2011</li></ul> <ul><li>Consultant </li></ul> <ul><li>Presence of IT </li></ul> <p> 2. When Good just wont cut it </p> <ul><li>SAP standard HCM delivers a good solution </li></ul> <ul><li>For most of us its not 100% what we want </li></ul> <ul><li>2 choices: </li></ul> <ul><li><ul><li>Change the company to fit SAP </li></ul></li></ul> <ul><li><ul><li>Change SAP to fit the company </li></ul></li></ul> <p> 3. But the Unmentioned Law </p> <ul><li>Dont stuff it up and dont cost me a fortune! </li></ul> <p> 4. Changing SAP </p> <ul><li>Enhancing not modifying! </li></ul> <ul><li>Some key areas </li></ul> <ul><li><ul><li>Triggering something off an update </li></ul></li></ul> <ul><li><ul><li>WDA versus WDJ and Classic Dynpro </li></ul></li></ul> <ul><li><ul><li>Decoupled Infotype Framework </li></ul></li></ul> <ul><li><ul><li>Build your own versus adapt some standard (BYOASS) </li></ul></li></ul> <p> 5. Triggering off an update </p> <ul><li>Multiple use cases </li></ul> <ul><li><ul><li>Want to create/update additional data records when some information updated.</li></ul></li></ul> <ul><li><ul><li><ul><li>E.g. Removing a reminder when a qualification has been obtained </li></ul></li></ul></li></ul> <ul><li><ul><li>Causing an external action. </li></ul></li></ul> <ul><li><ul><li><ul><li>E.g. Creating a user when a user id is entered against a person </li></ul></li></ul></li></ul> <ul><li><ul><li>Notifying another party. </li></ul></li></ul> <ul><li><ul><li><ul><li>E.g. Starting a workflow to update key data when a new hire is entered </li></ul></li></ul></li></ul> <p> 6. Where to trigger, the good, bad and ugly </p> <ul><li>Ugly </li></ul> <ul><li><ul><li>Custom infotype screen logic in customer include area </li></ul></li></ul> <ul><li>Bad </li></ul> <ul><li><ul><li>Dynamic Actions Table T588Z </li></ul></li></ul> <ul><li><ul><li>User Exits (EXIT_SAPFP50M_00n (n=1,2), exit HRBAS001) </li></ul></li></ul> <ul><li>Good </li></ul> <ul><li><ul><li>Enhancement spots! </li></ul></li></ul> <p> 7. Triggering an update within Enhancement Spot HRPAD00INFTYBL </p> <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> <p> 8. WDA versus WDJ and Classic Dynpro </p> <ul><li>WDA gives a lot of flexibility in enhancing much more than we have been used to </li></ul> <ul><li><ul><li>Method pre and post and replace, </li></ul></li></ul> <ul><li><ul><li>View enhancement: remove, replace, adjust </li></ul></li></ul> <ul><li><ul><li>Replace entirely and re-use model </li></ul></li></ul> <ul><li><ul><li>Application and component configuration </li></ul></li></ul> <ul><li>FPM gives even more flexibility </li></ul> <ul><li><ul><li>Detailed configuration options </li></ul></li></ul> <p> 9. So many options! 10. Add, delete, copy, its all there 11. Flexible layout configuration (OVP floorplan of WDA FPM) 12. GUIBB configuration (WDA ESS EhP5) 13. WDA versus WDJ and Classic Dynpro </p> <ul><li>Dont bother enhancing WDJ code </li></ul> <ul><li><ul><li>No simple way to detect changes when support packs applied </li></ul></li></ul> <ul><li><ul><li>Creating a custom solution may mean look and feel differs from SAP solution </li></ul></li></ul> <ul><li>Enhance WDJ screens through configuration </li></ul> <ul><li>Classic Dynpro screens sometimes have areas for customer enhancements </li></ul> <p> 14. &amp;sap-config-mode=X Ctrl-Shift Right-Click 15. CI_includes 16. Adding new field to WDJ </p> <ul><li>Insert fields in CI include </li></ul> <ul><li>Go to personalisation </li></ul> <ul><li><ul><li>View main structure </li></ul></li></ul> <ul><li><ul><li>Add custom extension fields </li></ul></li></ul> <ul><li><ul><li>Remember to map fields either to custom field in infotype, or through conversion classes. </li></ul></li></ul> <p> 17. Custom Extension Fields 18. Decoupled Infotype Framework </p> <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,thendecide whether to commit result to database. </li></ul> <p> 19. Decoupled Infotype framework components </p> <ul><li>Check classes </li></ul> <ul><li><ul><li>Infotype and country version dependent E.g. CL_HRPA_INFOTYPE_0008_13 </li></ul></li></ul> <ul><li><ul><li>Manipulates data to pass to user E.g. Evaluating indirectly evaluated wagetypes. </li></ul></li></ul> <ul><li><ul><li>Independent of any screen logic </li></ul></li></ul> <ul><li><ul><li>Can be replaced with custom version (modify table T582ITVCLAS (but really not recommended!)) </li></ul></li></ul> <ul><li><ul><li>Explicit enhancement points </li></ul></li></ul> <ul><li><ul><li><ul><li>Enhancement Spot HRPAD00INFTYBL </li></ul></li></ul></li></ul> <p> 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. Decoupled Infotype framework components </p> <ul><li>Conversion Classes </li></ul> <ul><li><ul><li>Convert between infotype structure Pnnnn and screen structure </li></ul></li></ul> <ul><li><ul><li>E.g. HCMT_BSP_PA_AU_R0008 converted by class CL_HRPA_UI_CONVERT_0008_AU (see table T588UICONVCLAS) </li></ul></li></ul> <ul><li><ul><li>Explicit enhancement points </li></ul></li></ul> <ul><li><ul><li><ul><li>Enhancement Spot HRPAD00INFTYUI </li></ul></li></ul></li></ul> <p> 22. Enhancement Spot for Conversion Classes 23. Deprecated (I think) cool stuff </p> <ul><li>Generic Text Reader </li></ul> <ul><li><ul><li>Part of decoupled framework but does not appear to be implemented in latest BOL layer over DCIF use with caution! </li></ul></li></ul> <ul><li><ul><li>TableV_T588AUTO_TEXTC </li></ul></li></ul> <ul><li>Required/Read Only fields </li></ul> <ul><li><ul><li>Occasionally referenced in Check Classes not part of BOL implementation (AFAIK) </li></ul></li></ul> <ul><li><ul><li>TableT588MFPROPC </li></ul></li></ul> <p> 24. Build your own versus adapt some standard </p> <ul><li>Build your own solution </li></ul> <p>Pros Cons Complete controlNo 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 benefitSAP may release similar solution in near future which could be Relatively safe from upgrade/support pack changes Requires extensive documentation to support 25. Build your own versus adapt some standard </p> <ul><li>Adapt a standard solution </li></ul> <p>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. Too much or too little or not enough? 27. Thank you for your time </p> <ul><li>Questions? </li></ul> <p> 28. Paying It Forward Call me! [email_address][email_address] Twitter @wombling </p>