Support The Site

Wednesday, April 30

Enterprise Compensation Management: Budget Management

The root of a sucessful ECM usage starts with budget management. Since the early version of compensation in SAP until now, the budget management had grown and become a fairly useful tool inside ECM.

What is budget management in ECM? Budget Management allows you to determine funds for an organizational structure for a particular compensation plan. The funds are then distributed across sub units and track in the ECM module through award process.

Some organization choose not to use the budget functionality of ECM, but it is highly recommended to do so. There are reports in both SAP and BI to support this functionality.

The first step is to generate the budget structure. You can either do that through the web BSP via "PECM_START_BDG_BSP - Start Budget Administration" or "PECM_GENERATE_BUDGET - Generate Budget from Organizational Hierarchy". What this does is create the budget object (OTYPE 'BU' - Is Finance By) and have a relationship to the organizational unit via HRP1001. No monetary amount has been allocated yet.

Once the budget structure has been created, you can then allocate funds. You can either import it from PCP (Personal Cost Planning) functionality or manually allocate the funds accordingly. Some company will not even allocate any amount and let the amount show up as negative during planning to track spending. Either options will work.

After you are done with the allocation or lack there of, you can then release the budget structure to be use in the ECM module.

As you use this functionality more, you will either like it or hate it. While it is not extremely robust, it does serve the purpose. One enhancement you could do to this, is assist in the creation of the budget amount. This will take away the painful process of manually allocating a large structure for those who are not integrated with PCP.

One method to accomplish this is to use a standard delivered BADI allowing you to upload your own source of number from spreadsheet.

Another method is to use an ABAP program to generate the amount into infotype 1520. At a company I was at previously, we used this route in the old compensation management module (not ECM). The program will check for all eligible population, determine their annual salary amount and apply a standard percentage amount from program selection screen to determine starting budget.

Whatever method you use, having this budget management functionality available is an import part of ECM. Through the MSS tool, the manager can see how much money he/she has spent and are available. This will allow a more efficient and smarter compensation decision on the manager side.

Let me know your thoughts...

Thursday, April 24

HCM Commonly Used Transaction Codes

I was browsing the other day and came across a nice list of commonly used transaction codes for HR.

Master Data
PA10 - Personnel file
PA20 - Display HR Master Data
PA30 - Maintain HR Master Data
PA40 - Personnel Action
PA41 - Change Hiring Data
PA42 - Fast Data Entry for Events
PRMD - Maintain HR Master Data
PRMF - Travel Expenses : Feature TRVFD
PRML - Set Country Grouping via Popup
PRMM - Personnel Events
PRMO - Travel Expenses : Feature TRVCO
PRMP - Travel Expenses : Feature TRVPA
PRMS - Display HR Master Data
PRMT - Update Match code
PS03 - Info type Overview
PS04 - Individual Maintenance of Info types

Time Management
PA51 - Display Time Data
PA53 - Display Time Data
PA61 - Maintain Time Data
PA62 - List Entry of Additional Data
PA63 - Maintain Time Data
PA64 - Calendar Entry
PA70 - Fast Data Entry
PA71 - Fast Entry of Time Data
PBAB - Maintain Vacancy assignments
PT01 - Create Work Schedule
PT02 - Change Work Schedule
PT03 - Display Work Schedule

PC00 - Run Payroll
PC10 - Payroll menu USA
PE00 - Starts Transactions PE01 PE02 PE03
PE01 - Schemas
PE02 - Calculation Rules
PE03 - Features
PE04 - Create functions and Operations
PE51 - HR form editor
PRCA - Payroll Calendar
PRCT - Current Settings
PRCU - Printing checks USA
PRD1 - Create DME
SM31 - Maintain Table
SM12 - Locked Secessions
TSTC - Table Look up
SE16 - Data Browser (Table Reports)
PP03 - PD Tables
PPOME - Change Org Unit
PO13 - Maintain Positions
PO03 - Maintain Jobs

PA85 - Benefits - Call RPLBEN11
PA86 - Benefits - Call RPLBEN07
PA87 - Benefits - Call RPLBEN09
PA89 - COBRA Administration
PA90 - Benefits Enrollment
PA91 - Benefits - Forms
PA92 - Benefits Tables - Maintain
PA93 - Benefits Tables - Display
PA94 - Benefits - Access Reporting Tree
PA95 - Benefits IMG - Jump to Views
PA96 - Benefits reporting
PA97 - Salary Administration - Matrix
PA98 - Salary Administration
PA99 - Compensation Admin - rel. Changes
PACP - HR-CH : Pension fund, interface

General Reporting
PM00 - Menu for HR Reports
PM01 - Dialogs in HR - Create Custom info types
PRFO - Standard Form
PSVT - Dynamic Tools Menu
PAR1 - Flexible Employee Data
PAR2 - Employee List

Organizational Management
PPOM - Change org Unit
PO03 - Maintain Jobs
P013 - Maintain Position
PO10 - Maintain Organizational Unit
PP01 - Maintain Plan Data (menu-guided)
PP02 - Maintain Plan Data (Open)
PP03 - Maintain Plan Data (Event-guided)
PP05 - Number Ranges
PP06 - Number Ranges Maintenance HR Data
PP07 - Tasks/Descriptions
PP69 - Choose Text for Organizational Unit
PP90 - Setup Organization
PP01 - Change Cost Center Assignment
PP02 - Display Cost Center Assignment
PP03 - Change Reporting Structure
PP04 - Display Reporting Structure
PP05 - Change Object indicators (O/S)
PP06 - Change Object indicators OS
PPOA - Display Menu Interface (with dyn.)
PPOC - Create Organizational Unit
PPOM - Maintain Organizational Plan
PPOS - Display Organizational Plan
PQ01 - Events for Work Center
PQ02 - Events for Training Program
PQ03 - Events for Job
PQ04 - Events for Business Event Type
PQ06 - Local Events
PQ07 - Resource Events
PQ08 - Events for External Person
PQ09 - Events for Business Event Group
PQ10 - Events for Organizational Unit
PQ11 - Events for Qualification
PQ12 - Resource Type Events
PQ13 - Events for Position
PQ14 - Events for Task
PQ15 - Events for Company
PSO5 - PD : Administration Tool
PSOA - Work Center Reporting
PSOC - Job Reporting
PSOG - Org Mgmt General Reporting
PSO1 - Tools Integration PA-PD
PSOO - Organizational Unit Reporting
PSOS - Position Reporting
PSOT - Task Reporting

PB10 - Initial Entry of applicant master data
PB20 - Display applicant master data
PB30 - Maintain applicant master data
PB40 - Applicant events
PB50 - Display applicant actions
PB60 - Maintain Applicant Actions
PB80 - Evaluate Vacancies
PBA0 - Evaluate Advertisements
PBA1 - Applicant Index
PBA2 - List of applications
PBA3 - Applicant vacancy assignment list
PBA4 - Receipt of application

All efforts goes to:

While this is a pretty large list, it by no means cover all transaction codes available for HCM.

Wednesday, April 16

PU12 Interface Toolbox FAQ

A few months ago, I had came across a pretty informative Payroll PU12 FAQ. Here are some of the questions and answers:

  • Why is an OR segment generated when only the name field was changed on the Personal Data infotype 0002?
    The OR segment containing organizational information is generated if a change is made to the name on Infotype 0002. The ENAME and SNAME fields on the OR segment are derived from the name field on IT0002. A change to the Form of Address field on Infotype 0002 will also cause an OR segment to be generated as this is considered a “change” to the name field as well.
  • Why do some IDoc segments contain chevron (<) signs in certain fields?
    The chevron sign (<) signifies data within the segments is delimited or stopped. For specific segments it is necessary to generate one segment showing the original (old) infotype values and another with the changed (new) infotype values in order for the payroll service providers to know what needs to end on their side and what needs to be set up as new.

  • Why was an IDoc segment generated when no data was changed on an infotype?
    A segment might appear in which fields contains pound signs when a field or fields were added to the segment definition as part of an LCP or an OSS note. The next time the export is processed after the LCP or note has been applied to the system, the segment will be generated containing pound signs. A way around this would be to run a “baseline” after the update which should not be sent to the payroll service provider. This is done by running the export with the “All data, not diff’s only” option without “Update”.

  • Are future dated master data changes exported?
    Master data changes with a future BEGDA date are not exported until the effective date falls within the pay period being exported. An infotype with a future ENDDA date (other than 12/31/9999) is exported twice. Once when the change is first made to the infotype and again when the ENDDA date falls within the pay period being exported..

  • How can a wage type be allocated to a cost center that is different than either the home cost center or normal fixed cost center distribution?
    A wage type may be designated to a specific cost center as an override to either the home cost center or to normal fixed cost center distribution allocations through the use of the cost center allocation override feature available on infotypes 0015, 2001, 2005 and 2010. The override cost center associated with the wage type is contained in the KOSTL field on the wage type segment (MW).

  • Why does the IDoc contain two of the same segments for some changes and for others only one?
    For infotypes that are associated with a time constraint, information from the "delimited" infotype is generated in one segment while the new information is generated in another. For infotypes that are not time constrained, only one segment is generated.

  • A reference ID number was entered in the REFID field on Infotype 491 but this value did not appear in the KY segment of the IDoc. Why?
    In order for the REFID value to appear in the KY segment, feature OTVSN must be changed (and regenerated) to allow for this field to be included in the IDoc. The default is blank which means this field is not included on the KY segment.

  • A master data change was made with an effective date of a prior pay period. Will this change produce a retro-calculation to occur to a wage type?
    With the Master Data Export version no retro-calculations are generated but the new wage type value is processed. If a prior-pay-period master data change is made that could result in a retro-calculation, the amount of the retro-calculation may be entered as a one-time payment on Infotype 0015 or entered directly into the service provider's system.

More could be found on SAP Help Site.

Saturday, April 12

SAP HR 2008 Conference

For those who won't know yet, the next SAP HR 2008 Conference will be in Nov 2008 @ Amsterdam.

It is a highly recommended conference for those who could attend. Especially for companies in the middle of an implementation or planning to implement a functionality. It is where other SAP HR users get together and share their idea.

Navigate your browser to for futher details.

Thursday, April 10

Setting Up A New Payroll Area

This step usually doesn't happen too often as most company payroll area setup are fairly simple. They have one unified frequency of pay and not too much variation of it. However, there are companies who tends to be complex. Creating a payroll area to match up for each company code they have. So whenever a new company is onboard, a new payroll area occur, this is when this help become useful.

To setup a new payroll area is fairly simple. Guide yourself in the SPRO / IMG to Personnel Management -> Personnel Administration -> Organizational Data -> Create Payroll Area.

You'll might be thinking, why are there two "Create Payroll Area"? If you have been using SAP long enough you will tend to notice this is a common thing. As to why, no freaken idea.

The first one of the two is where you will be creating the actual Payroll Area, you want to start there first.

As normal with any SAP tables, you have a two character short key and a description. If you do SAP Payroll, this is where you would flag if this is used for payroll processing. Otherwise, leave it blank.

In the next Create Payroll Area node, this is where you will link the period parameter and date modifier. Assumping the date modifier and period parameter hasn't changed. If they did, you would need to configure that as well.

You can find their configuration under the IMG step Payroll -> Payroll: {country} -> Basic Settings -> Payroll Organization -> Define period modifiers

To default the payroll area in infotype 0001, you can "Check Default Payroll Area" in that node. Depending on how your company organize the defaulting, you can follow the feature tree and to setup the default.

The next step is to create the payroll control record for it, if you been maintaining it in the past you would know it is transaction PA03.

That is basically it when you want to utilize a new payroll area.

Until next time!

Wednesday, April 9

Identifying Transaction Code In SPRO / IMG

I came across a thread a few weeks ago on one of the SAP support forum asking on how to identify transaction code in certain IMG / SPRO nodes (SAP configuration area). It made me ponder a bit because I usually do the long route by typing SPRO and drilling down the IMG path. Knowing some of the key transaction codes (TX Codes / T-Codes) would be helpful to place on your favorites to save time.

The method to find this out is very easy. You would first need to activate "IMG Activity" in the Additional Information menu on the Display IMG

Using the information displayed (as shown above) from activating the additional information of IMG activity, you can use SE16 or SE16N and query off a table CUS_IMGACH

When you query the CUS_IMGACT table using the IMG Activity name, one of the return value from that table is Transaction Code found under the TCODE field.

Now you can either type in the transaction code each time you would like to visit that node or easily add it to your favorite to be used. Cool stuff huh!

Distribution of HR Master Data

A couple of years ago I was on a project where they implemented HR, CRM, SRM, FI, and other modules in one large implementation. What made it interested is each of these modules sat as their own instance / system. So HR data is not on CRM or SRM environment.

What was useful is the fact SAP offer a really nice tool to handle that. The transaction code is "PFAL" - HR ALE Distribution of HR Master Data. This program relies on the ALE Message Type structure, but is able to send HR data from one systems to another. You could use one of the standard deliver message type, such as the HRMD_A or HRMD_B or even HRMD_ABA (this one is recommended if you use Management Global Employee functionality in HR).

If you dont need all of the infotype provided in the message type, you could create a reduced message type of it and call that. One the functionality, when passing HR data, you could have it go by evaluation path, which allows it to also take relationship on the OM side as well. It will pull the object, create the object, and their related data.

Bare in mind since this require some ALE distribution, you will need to involve the SAP Basis team to help you setup the message type and the RFC connection.

Either case, it beat writting a new ABAP program to extract and load through old fashion flat file.

Tuesday, April 8

Mass Change Start Date On OM Objects

Now how do you go about changing start date / effective date on an OM objects and their related infotypes easily. With this cool transaction code, you can. You can do it to one object at a time or multiples!

Navigate yourself to the menu path or use the transaction code RE_RHBEGDA0 (New start date)

As you can see from the screenshot patterns, this can easily take care of multiple infotypes at the same time. Try it out and see what cool things you've learn!

Easily Delimit OM Objects (Positions, Jobs, Org, etc.,)

I am sure a few people have many times wonder about this topic. How can I delimit a position or an OM objects? Do I need to just delimit infotype 1000, what about infotype 1001 or 1008, etc., With this standard delivered SAP program, this answer it all!

You can use a standard delivered SAP program to delimit one or more infotypes on an OM object easily.

You can use
  • RE_RHGRENZ4 - New end date

When using this program, you have several available cool options. You can have the objects and all related infotypes be delimited on a set date. With that, you can chose to either have it delete any future date records post the delimit date or leave it. You can also run it in test mode to see the result before you cause damages!

Try to play around with this in Sandbox and you can see the cool functionality of it.