Date post: | 24-Oct-2015 |
Category: |
Documents |
Upload: | brian-cleveland |
View: | 24 times |
Download: | 6 times |
]
Orange County Convention Center
Orlando, Florida | May 15-18, 2011
Lessons Learned at P&G: SAP Employee Self-Service –
What You Need to Know about Custom Portal/Homepage
Framework Implementations
Pete Rauchenstein
Real Experience. Real Advantage.
[
2
Agenda
Examine the various technical SAP ESS components and
how they are inter-connected:
R/3 Homepage Framework Configuration
ABAP Function Modules & Proxy Classes
Portal Content Directory Objects (eg. Business Packages)
Java Web Dynpro development components
This is a technical deep-dive – Not a complete
implementation guide
Will not cover web dynpro coding customizations in detail
Discuss How customizations will impact future SAP_ESS
support pack upgrades
Real Experience. Real Advantage.
[ P&G Demographics
World’s Largest Consumer Product Company
• Founded 1837
• Headquarters in Cincinnati
• $78.9 Billion annual sales
• 127,000 employees
• More than 300 brands sold in 180 countries
• Operations in more than 80 countries
3
Real Experience. Real Advantage.
[ HR / Employee Services at P&G
One of the largest, single global HR instances
June 2009 - SAP ECC 6.0 + NW 7.0 Portal + SAP ESS
April 2011 – completed global launch of “Life & Career”
Portal for all employees (NW 7.01)
4
Real Experience. Real Advantage.
[ Employee Self-Service Applications @ P&G
Currently offering ESS solutions:
For employees in 24 countries - 77% of employees
130 total country-specific ESS scenarios
Use 86 distinct SAP_ESS development components
Most customizations were “cosmetic” in nature:
“removing” applications from the portal role - many
applications not used by P&G
Changed the name of some services or names of field
labels
Attempt to minimize “major customizations”
Adding fields to screens
Hiding/Showing fields based on subtype
5
Real Experience. Real Advantage.
[ Before & After
Goal - to achieve a
“custom homepage
framework”, using the
SAP delivered
configuration as a
starting point.
Customizations in some
places will require other
customizations that
might not be
immediately obvious…
6
Real Experience. Real Advantage.
[ Getting Started - Authorizations / Roles Needed
SAP R/3
SAP ESS Authorizations – start with roles SAP_ESSUSER*
Transaction HRUSER / SU01
ABAP authorizations (SE80)
Ability to execute / debug function modules
Proxy Class development
Portal Roles
Content Administrator
User Administration / Delegated User Administration
Self-Services Administrator
7
Real Experience. Real Advantage.
[ Getting Started - Authorizations / Roles Needed
NWDS / NWDI
NWDI Track configured with SCA installed
Developers need access to NWDI.Developers Group (ability
to check out projects)
Web Application Server Java
Local SLD configured with system information about R/3
At least one node with debugging enabled
8
Real Experience. Real Advantage.
[ Getting Started - Software Installation
3 main technical components installation:
SAP ECC 6.0 (SAP_ABA, SAP_BASIS, SAP_HR, EA_HR)
Configuration Tables, ABAP Function Modules/Proxy
Classes/BADIs, Data Dictionary Structures, etc
Java Software Components (SAP_ESS, SAPPCUI_GP,
SAP_MSS)
Java Source code, some portal config (srvconfig)
Portal Content - Business Packages
Roles / Worksets / Pages / iViews
Employee Self-Service (BP ERP 05 ESS)
Manager Self-Service (BP ERP 05 MSS)
Common Parts (BP ERP 05 Common Parts)
Self-Service Administrator (BP ERP 05 ASS)
9
Real Experience. Real Advantage.
[ Getting Started - SAP ESS Basic Overview
10
Real Experience. Real Advantage.
[ Portal Content Directory – COPYING SAP-
Delivered ESS Portal Content
When SAP delivers portal
content, they really intend for
you to build your own roles by
creating delta-linked copies
If you are planning ANY
changes to PCD content,
you will need to create your
own custom copy of the
delivered content.
Whenever you apply an SP,
content in this area of the
PCD is overwritten. By
making a custom copy, your
customizations will be
protected.
11
Real Experience. Real Advantage.
[ ESS Touch Point #1 – Resource configuration and
PCD Page URL
You can build a URL to an iViews using “NavigationTarget”http://<host>:<port>/irj/portal?NavigationTarget=<Resource Configuration – URL of PCD Page>
The xssMenu application reads this configuration in order to render
the correct links at runtime
If you want to use your custom PCD copies, PCD location of the
content has now changed, so the link also has changed!
12
Real Experience. Real Advantage.
[ More on PCD Page URLs
13
Resources configuration in the
Homepage Framework does not
point to an iView.
Instead, it points to the specific
instance of a page within the
Employee Self-Service Portal role
ESS WD applications are
contained in iViews
Those iViews are added to Page
objects via delta links
Those Pages were added to
Worksets, which are part of the
ESS Role.
In order to make sure correct Top-
Level and 2nd Level navigation are
highlighed, URL of PCD must be
the reference to the page within the
ESS Role
Real Experience. Real Advantage.
[ Key Learning #1
When you make a custom copy of the PCD, you must either:
Modify the SAP delivered resources (not recommended because they
would get overwritten during HRSP upgrades)
Create an entire Z-Copy of the Homepage Framework
Steps:
Copy & modify the SAP-delivered “Link” Resources for individual ESS
Services
Define a “main” Area Group Page
Define several Area Pages and assign them to the Area Group Page
Define Sub-Areas if necessary and assign them to Area Pages
Define country-specific services to be displayed on that area page
Define services, assigning services to country groupings and link
resources
14
Real Experience. Real Advantage.
[ Homepage Framework Configuration Hierarchy
Area Group
Main key/starting point for all ESS configuration
Corresponds to Entry Point portal role
Areas
Corresponds to Second Level navigation
15
Real Experience. Real Advantage.
[ Homepage Framework Configuration Hierarchy
Sub Areas
Within an Area, grouping of related applications
Service
“Generic definition” of a service (name, quick link)
Global vs. Country-specific
Resource
Services must resolve to a resource
Contains information on how to launch application
16
Real Experience. Real Advantage.
[ ESS Touch Point #2 - Overview/Area PCD iViews
“Application Parameters”
Each “menu page” in ESS contains a single iView
This iView contains the xssmenu webdynpro application
(part of SAPPCUI_GP), which reads the homepage
framework configuration and renders the appropriate
“menu”
You must point your custom role’s “overview” to your
custom Area Group configuration
You must also point your any 2nd level area pages to
the Areas configured within your Area Group
Application Parameters:
sap.xss.menuargrp = your custom area group
sap.xss.menuarea = your custom area (for area pages)
17
Real Experience. Real Advantage.
[ “Menu” iView Application Parameters
To make the “Overview” page
show our custom code, change
the application parameters in
the iView to point to your new
custom area group
18
Real Experience. Real Advantage.
[ “Menu” iView Application Parameters
For “Area Pages”, you must include
both the area group key and the area
page key application parameters.
These are the same values that you
would use if you were debugging the
HRXSS_SER_MENUCONFIG
functions
19
Real Experience. Real Advantage.
[ Watch out – Removing Unused Worksets
You may need to manually remove worksets from the ESS Role
20
Real Experience. Real Advantage.
[ Debugging the Homepage Framework
Function Group HRXSS_SER_MENUCONFIG
HRXSS_SER_GETAREAGROUPMENUDATA (overview)
HRXSS_SER_GETAREAMENUDATA (area pages)
21
Real Experience. Real Advantage.
[ ESS Touch Point #3 - Proxy Classes
Homepage Framework configuration allows the application menu to
be built for a user using one basic variable: MOLGA (country)
Proxy classes are used if you want to implement other conditional
logic to determine whether an application is available for a particular
user
Open Enrollment – only show application link if it is currently time
for this user’s benefits enrollment or do they have a special
enrollment reason
Timesheet – only show this link if the user has a CVR parameter
on their user master record
Watch out – many of the delivered Proxy Classes have hard-
coded references to service names. To solve:
Create z-copies of any needed proxy classes
Change hard-coded services references to your z-versions
22
Real Experience. Real Advantage.
[ ESS Touch Point # 4 – PCD Application iView
Parameters
So how is the portal content linked to the Web Dynpro
Applications themselves?
Find the iView that contains that application in the PCD
“ExternalLink” parameter shows
Which Development Component? “sap.com/ess~us~addr”
Which “application / entry point”?
com.sap.xss.hr.per.us.Per_Address_US
23
Real Experience. Real Advantage.
[ Getting your hands on the WD source code
If you have created an NWDI Track / Development
Configuration which contains the SAP_ESS source code,
you now can now check out component project from
NWDI
If you plan on making modificiations, be sure to check out
from the “Inactive DC’s” workspace
24
Real Experience. Real Advantage.
[ ESS Touch Point #5 – The WD Application config
We can see two main things from the “web dynpro
application”
Where the “Confirmation Page Links” are defined
Information on where the application Roadmap is defined
25
Real Experience. Real Advantage.
[ Confirmation Links
Application Parameter: sap.xss.linkListKey
Points back to R/3 Homepage Framework config
Note: P&G did not customize this for any apps
26
Real Experience. Real Advantage.
[ ESS Touch Point #6 - Self Service Administrator
Configuration
27
Parameter:
sap.xss.BaseConfigurationID
shows:
Steps in the FPM (Floor Plan
Manager) RoadMap
Which VC’s (Visual
Components) are used to
build the web dynpro user
interface
You must have the Self-
Service Administrator role to
view FPM configuration
Most common customization:
Can be used to remove the
“Review Step” from the
roadmap
Real Experience. Real Advantage.
[ More on the Floor Plan Manager
Example FPM application configuration
28
Real Experience. Real Advantage.
[ More on the Floor Plan Manager
29
Real Experience. Real Advantage.
[ SAP ESS 600 vs 603 (Enhancement Packs)
Code and configuration are delivered
“together” for both Original applications and
Enhancement Pack versions.
Which version of the app you get is
determined by the resources selected (*05
vs. *13) in homepage framework
The “*13” resources point to new iViews
delivered in Business Packages in additional
folders
New iViews launch new WD applications
New WD applications make use of new FPM
Configuration
New FPM Configuration steps use code
from the “_13” web dynpro projects for
Edit/Review screens
30
Real Experience. Real Advantage.
[ Watch out for Stack Dependencies!!!
Which versions to install?
Not all component combinations will work together
ABAP Dictionary structure changes may require changes to
Web Dynpro code
As new applications are introduced, Portal content
iViews/pages/worksets/roles are updated
You should consult:
Solution Manager Maintenance Optimizer (preferred)
ESS Stack Mismatch Wiki on SDN
http://wiki.sdn.sap.com/wiki/display/ERPHCM/HOW+TO+GE
T+RID+OF+SP+STACK+MISMATCH+ISSUES
31
Real Experience. Real Advantage.
[ Software Maintenance
Define Patching & Landscape Maintenance Strategy Early
CRITICAL–ESS is delivered, patched, and imported as
one software component!
When you customize SAP_ESS, you are customizing SAP-
delivered code. Whenever you need to upgrade to a new
version, you will need to re-implement any customizations.
Depending on the extent of customizations, this could be
rather expensive to support ongoing.
This can be “problematic” when you are told to upgrade
your entire ESS software component to fix one bug in one
development component
32
Real Experience. Real Advantage.
[ General Lessons Learned from ESS Customizing
Protect yourself from upgrades where possible:
Copy PCD Content
Copy Homepage Framework Configuration
Document your Web Dynpro customizations!
Develop NWDI expertise
Each time you upgrade to a new version, make sure you create a
Master Track and a Modification Track.
When you next upgrade, you can compare your new Master track
to your old master track to see if the “starting point” was the same.
If so, simply re-implement your customizations per your
documentation
If not…. well… SAP have made some significant changes and you’ll
need to adjust your customizations accordingly
Resource: XSS Cookbook
33
Real Experience. Real Advantage.
[ Experience with SAP Customer Messages
If you have customized the SAP ESS, getting support for ESS can be
an iterative process.
Some tips to help you out:
Try to stay in stack alignment when possible
Always provide Stack/Component level information in customer
messages
More likely to get a quick answer if you can prove that the issue is
on one of their supported stacks as per SDN stack mismatch wiki.
Have one test system without any customizations applied (can be
on a developer’s PC). Use it to prove that bugs are in SAP-
delivered code and not caused by something you’ve customized
34
Real Experience. Real Advantage.
[
35
Key Learnings
Broad set of skills / tools needed for an ESS
implementation project
The debugger is your friend!
Customizing can be expensive, but understanding “how
ESS works” will help you gauge the impact of your
customizations
Real Experience. Real Advantage.
[
] Thank you for participating.
SESSION CODE:
1701
Please remember to complete and return your
evaluation form following this session.
For ongoing education in this area of focus, visit
www.asug.com.