Full and Final Settlement after 1 Month or after 1 year - Termination
Grant of Annual Leave Quota and Additional Grant of AL on Promotion via Time Evaluation
Introduction
Sometimes, you come across a requirement which initially may seem not achievable in standard SAP. And there lies the challenge on how to design a solution for it using standard approach and avoiding the need to go for custom development.
I had a similar requirement from one of my clients for which I was implementing positive time management. The requirement was to grant entire annual leave quota at the start of the year and if there was a promotion in the middle of the year, then the system should automatically grant additional days of annual leave on the day of promotion.
If the annual leave was being accrued and granted daily as part of daily accrual, it would have been quite simple. Because the system would have found the prorated value to be accrued and granted per day based on the base entitlement valid on that day. However, in our scenario, the complete grant happens at the start of the year and then additional days need to be granted on the promotion date.
Client Requirement
Let me explain you the client requirements in detail. The client was implementing positive time management. The annual leave quota was to be granted on the hiring date or on 01-Jan based on the level the employee belongs to. Below are the annual leave quota entitlement based on the pay scale levels:
Pay Scale Level Quota Entitlement
01 – 06 35 days
07 – 12 38 days
13 – 18 42 days
19 – E4 48 days
If the employee is hired in the middle of the year, then the annual leave quota granted should get prorated as per duration of employment in the given year. Also, the additional days of annual leave should be granted only when the promotion happens from level 06 to level 07 or from level 12 to level 13 or from level 18 to level 19. Also, the annual leave quota should get rounded off to the nearest integer during each grant.
Challenges
There were quite a few challenges associated in trying to build a solution for this requirement in standard way. Below are the key ones mentioned:
- How does the system determine in time evaluation that promotion has happened and this promotion will result in additional grant of annual leave quota? If you see the requirement, you will find that only certain promotions will result in additional annual leave days grant.
- How does the system determine the total no. of days spent in the current quota and the total no. of days to be spent in next quota in time evaluation run?
- How does the system determine the base entitlement of current quota and next quota in time evaluation run to calculate the additional no. of days to be granted?
Solution Design
Let me take you step by step through the solution design for this requirement.
Step 1: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Setting Groupings for Time Quotas > Group Employee Subgroups for Time Quotas
Step 2: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Setting Groupings for Time Quotas > Group Personnel Subareas for Time Quotas
Step 3: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Time Quota Types > Define Absence Quota Types
Step 4: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Automatic Accrual of Absence Quotas > Permit Generation of Quotas in Time Evaluation
Step 5: SAP IMG > Personnel Management > Personnel Administration > Payroll Data > Basic Pay > Check Pay Scale Type
Step 6: SAP IMG > Personnel Management > Personnel Administration > Payroll Data > Basic Pay > Check Pay Scale Area
Step 7: SAP IMG > Personnel Management > Personnel Administration > Payroll Data > Basic Pay > Check Assignment of Pay Scale Structure to Enterprise Structure
Step 8: SAP IMG > Personnel Management > Personnel Administration > Payroll Data > Basic Pay > Check Total Salary against Salary Range > Define Pay Grades and Levels
Step 9: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Specify Rule Groups for Quota Type Selection > Modify Feature QUOMO
Step 10: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Set Base Entitlements > Base Entitlement for Absence Quota Generation
Step 11: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Determine Validity and Deduction Periods
Step 12: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Define Rules for Reducing Quota Entitlements > Define Reduction Rules
Step 13: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Define Rules for Rounding Quota Entitlements
Step 14: TCode SM30> V_T555A
Step 15: SAP IMG > Time Management > Time Data Recording and Administration > Managing Time Accounts Using Attendance/ Absence Quotas > Calculating Absence Entitlements > Rules for Generating Absence Quotas > Define Generation Rules for Quota Type Selection > Selection Rules
Step 16: TCode SM30 > V_T511K
We require the above constants because there isn’t any standard operation available to read the base entitlement for a specific pay scale level. We can read the base entitlement using operation HRS=CZQU** in a PCR by calling the specific pay scale level.
Step 17: TCode PE02
PCR ZTK1
PCR ZTK1 checks the difference between date of time evaluation and hiring date using operation HRS=YDAA01 and compares it with 0 using HRS?0. If the difference is not greater than 0, then it gets processed under *. It implies that the given date is the hiring date and hence, a value of 1 is passed using HRS=1 and finally saved in time type ZTK1 using ADDDBZTK1Z.
If the difference is greater than 0, it gets processed under >. It checks for the current period using VARSTCURMO. If it is anything other than 01, it stops at **. If it is 01, it checks for the date of the given period using VARSTREDAY. If it is anything other than 01, it stops at **. If it is 01, a value of 1 is passed using HRS=1 and finally saved in time type ZTK1 using ADDDBZTK1Z. This time type is used to grant annual leave either on 01-Jan or on the hiring date of the employee.
PCR ZTK2
PCR ZTK2 checks the current pay scale level of the employee using OUTWPTRFST. For levels 01-06, it processes under employee subgroup grouping A and assigns a value of 1 in time type ZTK2. For levels 07-12, it processes under employee subgroup grouping B and assigns a value of 2 in time type ZTK2. For levels 13-18, it processes under employee subgroup grouping C and assigns a value of 4 in time type ZTK2. For levels 19-E4, it processes under employee subgroup grouping D and assigns a value of 7 in time type ZTK2. Also, in each case, the PCR gets processed under E and assigns a value of 1 to time type ZTK3. Time type ZTK3 is a yearly time type and will store the total no. of days for which time evaluation has run in the current year. This time type will be read to find the no. of days the employee spent in previous pay scale level (on being promoted) and accordingly, arrive at the prorated entitlement in the previous level. This is explained in the last PCR ZTK4.
PCR ZTK3
PCR ZTK3 is used to find if promotion has happened or not from Level 06 to 07 or from Level 12 to 13 or from Level 18 to 19. It first checks if the difference between date of time evaluation and hiring date (using HRS=YDAA01) is greater than 0 or not. If it is 0, it implies that the given date is the hiring date and hence, the processing stops at *. If it is greater than 0, it gets processed under > and goes to employee subgroup grouping A.
Under A, it finds the difference between current day’s pay scale level and yesterday’s pay scale level using HRS=DZTK2 and HRS-LZTK2 and compares it with 0. If the difference between current day’s pay scale level and yesterday’s pay scale level is 0, it means that no promotion has happened which will require additional annual leave grant.
If the difference is 1, it implies that the employee has moved from Level 06 (value = 1) to Level 07 (value =2) and hence, passes value 1 into time type ZTK4 using ADDDBZTK4Z.
If the difference is 2, it implies that the employee has moved from Level 12 (value = 2) to Level 13 (value = 4) and hence, passes value 2 into time type ZTK4 using ADDDBZTK4Z.
If the difference is 3, it implies that the employee has moved from Level 18 (value = 4) to Level 19 (value = 7) and hence, passes value 3 into time type ZTK4 using ADDDBZTK4Z.
PCR ZTK4
PCR ZTK4 finds the value of time type ZTK4 for the current day using HRS=DZTK4 and compares it with 0 using HRS?0.
If the value is 0, it implies that no promotion, that may require additional annual leave grant, has happened and it stops processing under =.
If the value is greater than 0, it goes for processing under * and compares the value with 1 using HRS?1. If the value is 1, it implies that promotion has happened from Level 06 to 07 and hence, it gets processed under = and goes to employee subgroup grouping A of the PCR for further processing.
If the value is greater than 1, it goes for processing under * and compares the value with 2 using HRS?2. If the value is 2, it implies that promotion has happened from Level 12 to 13 and hence, it gets processed under = and goes to employee subgroup grouping B of the PCR for further processing.
If the value is greater than 2, it goes for processing under * and compares the value with 3 using HRS?3. If the value is 3, it implies that promotion has happened from Level 18 to 19 and hence, it gets processed under = and goes to employee subgroup grouping C of the PCR for further processing.
If the value is greater than 3, it stops processing under *.
The processing under employee subgroup grouping A, B and C are similar and hence, I will explain the processing under A only.
Under A, it finds the difference between date of time evaluation and hiring date using HRS=YDAA01 and subtracts the no. of days of time evaluation till system date -1 day in the given calendar year using HRS-MZTK3 (no. of days spent in pay scale level 06 in the given calendar year). If the difference is 0, it implies that the employee is getting promoted in the hiring year itself and the PCR will get processed under =. This scenario is also valid for mid-year hiring and promotion in the hiring year.
Under =, we first read the no. of days of time evaluation till system date -1 day (no. of days in pay scale level 06) using HRS=MZTK3 and divide it by 365 days using HRS/365 and then multiply it with pay scale level 06 entitlement using HRS*CZQUQ1 to arrive at the prorated annual leave grant for the duration in pay scale level 06. This is added to time type ZTK5 using ADDDBZTK5Z.
We find the no. of days to be spent in pay scale level 07 using HRS=FV01F and HRS+1. HRS=FV01F finds the difference between quota end date and system date (date of promotion) for annual leave quota 01. This will be 1 day less and hence, we add 1 day using HRS+1. For example, the difference between 31-Jan and 01-Jan will come out to 30 days and hence, we add 1 day to arrive at 31 days. After finding the no. of days in pay scale level 07, it is added to time type using ADDDBZTK8Z. Then this no. is divided by 365 days using HRS/365 and then multiply it with pay scale level 07 entitlement using HRS*CZQUQ2 to arrive at the prorated annual leave grant for the duration in pay scale level 07. This is added to time type ZTK6 using ADDDBZTK6Z.
Then, we read the prorated value of annual leave grant in pay scale level 06 using HRS=DZTK5Z and add to it the prorated value of annual leave grant in pay scale level 07 using HRS+DZTK6Z and finally subtract the entitlement granted at the time of hiring using HRS-FE01C. This helps to arrive at the additional no. of days to be granted on promotion. The PCR then gets processed under employee subgroup grouping I and is covered later.
If the difference between HRS=YDAA01 and HRS-MZTK3 is greater than 0, it implies that the employee is getting promoted in any year other than the hiring year and the PCR will get processed under >.
Under >, we first read the no. of days of time evaluation till system date -1 day (no. of days in pay scale level 06) using HRS=MZTK3 and divide it by 365 days using HRS/365 and then multiply it with pay scale level 06 entitlement using HRS*CZQUQ1 to arrive at the prorated annual leave grant for the duration in pay scale level 06. This is added to time type ZTK5 using ADDDBZTK5Z.
We find the no. of days to be spent in pay scale level 07 using HRS=365 and HRS-MZTK3 and it is added to time type using ADDDBZTK8Z. Then this no. is divided by 365 days using HRS/365 and then multiply it with pay scale level 07 entitlement using HRS*CZQUQ2 to arrive at the prorated annual leave grant for the duration in pay scale level 07. This is added to time type ZTK6 using ADDDBZTK6Z.
Then, we read the prorated value of annual leave grant in pay scale level 06 using HRS=DZTK5Z and add to it the prorated value of annual leave grant in pay scale level 07 using HRS+DZTK6Z and finally subtract the entitlement granted at the start of calendar year using HRS-CZQUQ1. This helps to arrive at the additional no. of days to be granted on promotion. The PCR then gets processed under employee subgroup grouping I.
Under I, the PCR looks for absence quota type 01 using OUTAQTYP. If the quota type is anything other than **, it stops processing there. If the quota type is 01, the additional no. of days to be granted on promotion is rounded off using ROUNDHR01 and then added to time type ZTK7 using ADDDBZTK7Z and finally updated in annual leave absence quota 01 using UPDTQA01.
We will now introduce these PCRs in positive time schema as shown below:
We also need to introduce function CHECK with parameter BP in the positive time schema so that pay scale levels are read in the Table WPBP as shown below:
With the solution configuration completed, let us proceed to test the solution.
Solution Testing
We will test the below scenarios and see if our solution works correctly or not.
Scenario 1: For an existing employee whose hiring date is in the past years
IT0000
IT0001
IT0007
IT0008
IT0041
PT60
Run time evaluation for 01-Jan-15 for the PERNR and it should give a grant of 35 days as per entitlement.
IT2006
IT0008 – Employee promoted from Pay Scale Level 06 to 07 on 01-Jun-15
PT60
Run time evaluation for 01-Jun-15 for PERNR and it should give an additional grant of 2 days of annual leave for annual leave quota 01.
IT2006 – AL Quota got increased by 2 days due to promotion
Scenario 2: For an employee who got hired mid-year and got promoted in hiring year
IT0000
IT0001
IT0007
IT0008
IT0041
PT60
Run time evaluation to grant quota on 01-Feb-2015.
IT2006 – Prorated quota of 35 days get granted on 01-Feb-15 instead of 38 days since the employee joined mid-year.
IT0008 – Employee promoted from Pay Scale Level 12 to 13 on 01-Jun-15
PT60
Run time evaluation for 01-Jun-15 for PERNR and it should give an additional grant of 2 days of annual leave for annual leave quota 01.
IT2006 – AL Quota got increased by 2 days due to promotion
Here, I come to the end of this knowledge artifact. This requirement helped me stretched my boundaries of imagination and it was a very good learning experience for me. I hope it has been the same for you.
Warm regards,
Vivek Barnwal
*****************************************************************************************************
You can also refer to other knowledge artifacts created by me at the below link:
Change / Delete the DDIC record in HR master through debugging mode
Hello All ,
Below information is basic info on how to change the record / how to delete the record via debugging mode .
Example - Change / delete one record from Info type 0001 (PA0001) Via Debugging mode.
Debugging: SAP provides a very powerful debugger, knowing all its features would make debugging fun and fast. Two ways to do the debugging in SAP .The classic Debugger runs in the same roll area of the same external mode as the application you are analyzing. The new Debugger, on the other hand, requires an additional external mode. The use of a common mode has certain handling advantages as well as advantages with regard to resource consumption.
There are certain interactions between the application and the Debugger that enable only very limited options for the layout of the user interface in the classic Debugger.
- Debugger and debuggee run in the same (internal) session
- The New Debugger is started in a separated session, after prompting “/h”
- The debuggee is inactive while the debugger is active.
Purpose of debugging: Debugging is the way to find the root cause of SAP transaction behavior (e.g., finding a reason why a certain value in a field was updated or determining why users receive an error, warning, or abnormal termination message during the processing of a transaction).
Use it to check the program logic and to find errors in the source code of an ABAP program
debug a program by entering ' /h ', before executing.
Key functions:
Single step (the F5 key):When you click this icon, the debugger control moves to the next line of code in debugging. If the next line is a call to another program, (e.g., the function module), then the control shifts to that program.
Execute (the F6 key): When you click this icon, the debugger control moves to the next line of code in the same program only, without going inside the code of the function module or program being called in the line of code in which you click this icon.
Return (the F7 key): When you click this icon, the debugger control returns to the calling program. This icon is useful when you are in a loop or inside a function module or program called from the main program and you want to return to the main program.
Run/Continue (the F8 key): When you click this icon, the debugger control moves to the next break point set, if any. Otherwise, the debugging is switched off, and the program is executed completely.
Processing Flow:
Goto transaction code SE16
Enter table name PA0001 and click on table contents (F7)
Enter employee number and click on execute
Select one record and enter “/h” in command bar.
Getting the message on the bottom of the screen.
You see the next screen ‘debugger screen’
Double Click on “SNOW” in left side , you can find pencil symbol in right side click on that icon ,Now the table entry is ready to change the data base table record or delete the record by using the functions “ EDIT
Remove value “SHOW” and enter EDIT or DEL and click on F8.
Now all fields are editable , you can change the field values and save it .
Validate the same field value in table PA0001.
If you enter “DEL “ , the table entry should be deleted from the data base table.
Any HR master data inconsistency found in your HR master - Run the reports
RPUFIXDS- Repairing Data Sharing Inconsistencies |
RPUSCNTC - Find Inconsistencies in Time Constraints
Thanks
Siva
Cross Application Time Sheet flow through Time infotypes
Hi All,
This is the basic document i have created for the beginners who have questions on how to transfer the CATS entry through HR.
I have seen many questions come over how to do this, hence i have prepared a simple one and providing.
Purpose of the document:
What is CATS?
The Time Sheet is a cross-application tool for recording employee working times. Working times are recorded centrally, together with cost accounting, and external services information, and then made available to other SAP System applications for further processing.
The Time Sheet is a self-service application which allows both internal and external employees to
enter their own working times. Alternatively, data can be recorded centrally by administrator,
This document in brief explains how to capture the time sheets for absence in Cross Application Time sheet (CATS) and transfer the data very successfully with approval of Time administrator or Manager to relevant time infotype 2001 in SAP HR,
Summary of how this is organized:
This document has been organized as in the following steps.
- Step 1: Profile Creation
- Step 2: Defaulting profiles.
- Step 3: Entering time sheets
- Step 4: Releasing for Approval
- Step 5: Approval
- Step 6: Transfer
Details :
Step 1: Data entry profile creation :
Create a data entry profile for employees to update their Attendances and Absences in CATS.
Using T-code CAC1 – We can create our own data entry profile by copying the standard one available in SAP. Here I have created Data Entry Profile called E-REC by copying the standard Data entry profile HR- ONLY
Here are the settings we can do it for our Data entry profile according to our business requirement.
As you can see Absence type has been added in the profile and standard reaction has been given when collision takes place
.I have chosen standard task and Automatic recipient system will automatically find the recipient to approve the CATS entry once it has been released, if you want use workflow you can choose Workflow Approval where Workflow will be triggered to the Approve to approve it, here I am not using Workflow.
Step 2: Defaulting profiles.
We can default our Data Entry profile while updating CATS by maintaining the Parameter ID CVR
T-code: SU3
Step 3: Entering time sheets.
Since I have maintained the parameter ( ID CVR ) for my data entry profile in SU3, it has been defaulted when I access CATS through T-code CAT2
Enter personnel number.
An absence on 10th of May is applied as below.
Save the time sheet
Step 4 : Releasing for approval.
Now it’s time to release the record for approval, how to do that, here you go,
Go to T-code: CAT2, High light the absence record where you maintained your absence and select the release view button at the bottom.
Once you have selected the release view button now screen is in release view status, Release the entry by clicking the Lock button which I have pasted below in the screenshot.
Items were successfully released.
We can check our CATS statuses in the table CATSDB by executing through the T-code SE16N where 10 means processing and 20 means released for approval 30 – Approved etc, Please find the statuses
Step 5 : Approval.
Using the T-code CATS_APPR, we can approve the time sheets by providing the valid inputs. ( This approval process can be done through workflows also. )
Once execute we will receive this screen,
Approve it
Step 6: Transfer.
we will be transferring the CATS entry to Time infotypes using the T-code CAT6 to 2001 or 2002, since we have used absences it will be transferred to IT2001
T-code : CAT6
Execute it
A record has been transferred very successfully to the time infotypes.
Since absence has been created on 10.05.2013, you can view it in IT2001 and 8,50 hours
System shows a message type that this entry has been transferred or created using time sheet
Quota deduction also took place successfully in my system as quick as absence has flown through infotype 2001
We have seen how to capture CATS record and successfully transfer it to Time info types.
Hope this document would helpful to the beginners to go through the Flow from CAT to HR.
Thanks
Sriram
Time Constraint Reaction for Time Management Infotypes
The Purpose the document is to explain the Time Constraints Reaction on Time Management infotypes as i come across many questions in the forum related to Time Constraint Z, hence i thought of providing a document explaining the functionality of it with an example.
You are on privilege leave, but there is an opportunity to attend a company provided training. But if the time administrator enters the attendance for training while you are privilege leave. There are chances system would issue a collision & error and would never allow you to enter the data.
Purpose of the document:
To explain the concept and usage of Time Constraint Z where time management infotypes is depend on.
This document is organized as below.
- What is Time Constraint
- Scenarios and reactions on SAP system
- Different reaction indicators
- Creating a new time constraint
What is time constraint?
SAP lets you create data with validity period, sometimes you may have data conflicts, for example you can’t be present and absent at the same time, to control such inconsistencies in data.
SAP has a concept of time constraint. Time constraint is an important concept, which ensures that the data makes sense.
We have many time constraints SAP has listed below
- Time constraint 1 - One and only record
- Time constraint 2 - not more than one record on any day
- Time constraint 3 - there may be 0, 1, or more records on any day
- Time constraint A -you can have only one record, history not maintained validity period Jan 1 1800 to Dec 12, 9999.
- Time constraint B -you can have only one record, validity period can be anything
- Time constraint T -each subtype of infotype can have different time constraints
- Time constraint Z -Time constraint for time management infotypes--- V_554Y_B
This article focuses on Time constraint Z which is defined for time management infotypes in the table T554Y.
Time constraint Z:
When you enter a record in a time management infotype for a time ( period ) , for which a record already exist, system throws an information called collision, and system has to decide
- Whether the old records can co-exist with the new record.
- The old records can co-exist with the new record but a warning is given
- The old records cannot co-exist with the new record
- The old record is delimited
Based on the above requirements, you can group the subtypes of an infotype, which have identical behavior as far as collisions are concerned, in a time constraint class and you can set a reaction indicator in V_554Y_B.
These scenarios are explained below.
Scenario: Two leaves have to be captured on same validity interval for legal purpose but system issues a collision, so records may not get created or may get split, but we want the system to save both the records without any issues.
For example, its legal that in some countries, when an employee is in Suspension leave for a month, he may avail Annual leave within the same period, in such cases system would not throw any collision with Warning or Error messages, rather it must save the record successfully. Let’s see how Time constraints and Reaction indicator work on this to achieve the functionality.
Let’s take those absence types
Time Constraints: Let’s look at the time constraints of the both absence types first.
Annual leave: Time constraint class which is 01
Suspension leave: Time constraint Class 01
Record creation in PA30:
Creating a suspension leave for an employee for a month, successfully created
Creating Annual leave for the same employee 2 days within the period, let’s see the reaction from system on this. System issues a collision message and error that “ Insertion cannot be made due to collision”
How to rectify it: As I mentioned already Time management infotypes follow time constraint Z which is defined in the View V_554Y_B, both absence types have time constraint 01, let’s look at the table.
View: V_554Y_B
You could see all the time management infotypes available with the time constraint class specified in it
Since my absence type time constraint class is 01, I am selecting the first row and get inside
As you see many reaction indicators have been set like E, W, A, N, each every reaction indicator has different meaning over here, please look at the explanation below
Indicator E:
So the absence types Suspension and Annual leave both have Time constraint classes 01. If you look in the matrix format in the table you could see 01 vs 01 the reaction indicator has been set to E, which means system never allows to create the new record and it must display the collisions, that’s what we have received in above scenario
Indicator A:
For example, if the Annual leave has time constraint 03, you could see reaction indicator has been set to A,
So 01 vs 03 will be A which means split or delimit the record and show the collisions, so they record will be like this below
As we can see system created a split for the suspension leave, as annual leave applied within the suspension period
Indicator W:
For example, if the reaction indicator has been set to W, .i.e. 01 vs 03 will be W, the old record remains unchanged, there won’t be any split, but system issues a collision message
Record can be saved without a split
Indicator N:
Same as W, the only difference is collisions won’t be displayed, record will be saved without any messages.
So in our scenario we just need both absence types to be saved without any collisions, hence we can go and replace the indicator from E to N, so records will be saved without any issues and collision messages. Will that solve the issue? No
Because we do have a challenge here, these two absence types have time constraint class 01, so if we go and change the reaction indicator to N, whenever these two absence types are created, there won’t be any problem. But think about other absence types who have time constraint 01, where record never to be created and collision must always occur and system should not insert both the records, hence we can’t go and simply change reaction indicator as our wish because it impacts the other absence types
Create a new Time constraint: Let’s create a customized time constraint called 50, go and create the same in the View V_T554Y
Copy the existing entry IT2001 TC 01 and create a new one IT2001 TC 50 like below
Change the time constraint of the absence type to new time constraint 50 in the view V_554S_O
And customize the indicators according the business requirement in the view V_554Y_B to the time constraints 01 Vs 50
Like above we can customize the time constraints and change indicators according to the business requirements as we have done in this document.
Thanks for your patience and reading , hope this document would be helpful for the beginners who are struggling understand the Time constraint of Time Management infotypes.
Thanks
Sriram
Infotype 0105 to pop-up 3 times with option to change subtype everytime
While Hiring Action, List of Infotype are pop-up one after another in sequence according to Info group maintained.
Client Requirement : While Hiring Action, Infotype-0105, to pop-up 3 times with option to change subtype everytime
SAP Standard : if you include info type 0105 more then once and also if subtype is not hard coded, then every time it shall pop-up the screen with first subtype recorded, and the subtype field shall be grayed out.
Solution Found : Dynamic Action to be written
Do not maintain IT-0105 in Info group for Hiring Action.
My Info group for Hiring Action is as below
Write a dynamic action as below:
Dynamic action is written dependent on IT-0007, as in Info group it was to be maintained after IT-0007.
so during hiring action is performed, after maintaining IT-0007 system will ask to maintain IT-0105 there after, and it will pop-up 3 times one after another with option to change the subtype always.
#1 - Hiring action
40 - Molga
Regards,
Dhiren
Connecting Successfactors APIs Using SOAP UI
Dear All,
Many of us are now struggling on how we can call or rather to check the data on the Successfactors API (called as SFAPI) from outside of SFSF. In order to do this we can simply achieve by using SOAP UI tool.
This is a quick reference document, primarily shows the steps on how to check the SFAPIs using SOAP UI. While implementing the integration with Successfactors, this will be very much helpful in terms of checking and testing on the SFAPIs.
Below are the few simple steps by which we can easily connect and fetch the data(verify) from Successfactors(SFSF) using SOAP UI tool.
Case: We will first fetch some records from User API and update the First Name of a specific User.
1. Install SOAP UI.
2. Open the SOAP UI. Click on File -> New SOAP Project.
3. Enter a meaningful Project Name.
4. Put the specific url corresponding to the SFSF data center on the Initial WSDL location from the below list (You can also save the WSDL file on your system and take that file using the Browse option).
Here we are using:https://salesdemo4.successfactors.com/sfapi/v1/soap?wsdl
5. Press OK.
6. In case there is a problem in direct communication, a proxy needs to be set up to connect to this webservice from SOAP UI.
7. The project will be created and it can be viewed on the left hand side. Exploring the project we can see the list of operations to execute them.
Login - To login into the Successfactor. A session ID will be returned once the login operation is successful. This SessionID will be required for all the next subsequent operation.
Logout - Logout from the session.
Query - For Querying the Data from the APIs. First 250 records will be fetched.
QueryMore - If there are more than 250 records and query returns first 250 records then QueryMore can be used to fetch the next set of records.
Upsert - Data Manipulation, Update and Insert.
Insert - Insert Data
Update - Update Data.
First of all, we have to execute the login method/operation. Once it is successful, a session ID will be returned. We have to use this sessionID every time we execute any opretaion. For this business case scenario, we will first use the login operation then Query operation to fetch the records and then we will use Update operation to update one field for a particular record.
8. Login Operation: Explore Login -> double click on the request. On the right hand side request page, put the CompanyID,Username and password that we use to login in the successfactor. Enter the proper endpoint url in the End Point url section. Here it is : Web Services
Copy the SessionID from the response.
9. Query Operation:Explore Query-> double click on the request. On the right hand side request page, put the query into the QueryString parameter. This query is similar to the same as pl/sql query language. Under the param section use name = maxRows and Value =5 to fetch only 5 recrds from the Successfactors.
Click on the Header Section->click on the plus sign to add a custom header on the HTTP Header. Write Cookie on the LHS and on the RHS put JSESSIONID=<copied session id from the login response>.
Please see the screenshot for more clarity.
10. Update Operation: Now let's consider we want to update the first name for one of the User (Example USR-67).
Now we want to change the first Name to John. In order to do this, let's use Update operation. Explore the Update operation, click on request. Use the same JsessionID into the Header section of the HTTP request. Use the type, id and first name as shown in the below screenshot.
Response shows that the update operation is now successful, In order to check the updated records we can also check this by Query operation using a where clause.
11. Querying the Updated Record: Now we can again query the data based on the id to check whether the record has been updated successfully or not. The query string will have the where clause to fetch the right record. Here for this case the query is - Select firstName, lastName From User Where id = 'USR-67'.
Remember to provide the same SessionID in the HTTP header property. Follow the below screenshot.
This shows that Successfactors APIs can be accessed from outside world using SOAP. This tool (SOAP UI) shows on how to access the SFSF via the SFAPIs in case we want to quickly check the data.
Note: We can also create a Test suite in SOAP UI to test this.
Assumption: The Login User has to have the access to the SFAPI.
Thanks
Followup Course Program via Portal Settings
Creating Follow-up Control Option for Course Program via Portal
There can be two ways either you can change system wide settings or you can create program wise. It's always recommended to make this settings course program wise so only those program can be followed up which contain only Static WBT, WBT and Online Tests
Below are settings for the Course Program Wise
Browse to Course Program and select the Follow-up control options
Below are settings you need to insert for all course program which you want to follow-up by Learner it self via portal
Combine few Static Web Based Training , Web Based Training and few Online-Tests in different Blocks
You can keep the block sequence and non sequential. Below are for non sequential Blocks
Block One Courses
Block Two Courses
At Portal when participant / learner will search the Program two Blocks will appear
If any course has been taken already by Learner no need to book again as booking button will be greyed
Learner have to complete all the remaining courses block wise. Once all courses will be completed in both blocks and confirm participation done for courses, following button will appear at the end of program
As its confirmed below is screen from backend
Thanks
Syed
Using Boomi to update fields in Job Requisition
Hypothetical Objective: Requirement is whenever a Job Requisition is created for a Replacement, the Minimum and Maximum Salary should be autopopulated with the desired amount.
Solution:Using the DellBoomi AtomSphere one can quickly and painlessly integrate data between all of your key HR functions but it can also be used as a powerful tool to query/update data within SuccessFactors .
In this case, Job requisitions for "Replacement" cases are identified using a field in the job requisition whose value will be read and compared with the desired value to populate the Minimum / Maximum salary field.
This approach can be utilized to fulfill other requirements in various other modules like EC, PM/GM, Recruitment.
This process created in DellBoomi can then scheduled to trigger depending on the desired frequency.
Integration with DellBoomi is achieved in 3 simple steps here:
- Build
- Deploy
- Manage
Building the connection
(1) Before we get going with Boomi, we need to make sure the following settings have been enabled in provisioning:
(2) Create an API user in BizX with the following permisisions and assign “SFAPI User Login” permission (General User Permission) and “Employee Data” (View and Edit permission).
(3) Grant “Manage Integration Tools” permission to Admin.
(4) In Admin Tools, search for SFAPI data dictionary to get a list of entities that are available through the SFAPI and analyze the possible operations that can be applied on each field of an entity.
(5) Log into https://platform.boomi.com/ .
(6) The first step is to get started and build an integration process. Give your process a name and click the “Create” button :
(7) As our objective is to get the details of the Job Requisition first, we will be fetching the values of our Job Requisitions for the required Job Requisition Template to identify a replacement case. Next screen will prompt you to enter the details:
- Give a label to the start step.
- Choose “SuccessFactors” in the dropdown available for connector.
- “Query” will be chosen in the Action dropdown.
- The Connection is where we specify the data center, company id and credentials for executing SFAPI transactions. Connecting to an existing company id requires both the endpoint URL to the data center and the company Id specifying a specific instance in the data center.
- From the above example click
the symbol in front of the connection and enter the details as below:
- Enable SF OData Entity Import if you wish to access the SF OData API in addition to the SFAPI.
(8) Now specify theoperation.The Operation specifies the action that will be performed and the object type on which that action will be performed.The supported actions are:
- Query (OData and SFAPI) - Read a set of objects optionally sorted and limited to those records that meet a specified search criteria(filter).
- Create (SFAPI only) - Insert a new record. This operation returns the new ID of the inserted object.
- Update (SFAPI only) - Update the specified field values of an existing record. The ID specifies the record to update.
- Delete (SFAPI only) - Remove the record. The ID specifies the record to delete.
- Upsert (SFAPI only) Write a record specified by a unique External ID. If a record with that external ID exists, the record will be updated. Else a new record will be created.
In this step we are going to perform a query operation and use the “Import” feature. Click the Import button.
Enter the details as following:
- Specify the connection we created above
- Choose the module, for which you wish to get the details of. You could also choose to enter the entity name.
- Click Next.
It will now ask you to select the object type. "Object Type" is synonymous with "entity". Boomi's preferred term is "object" while the SuccessFactors SFAPI materials refer to "entities". You will now select the Job requisition template or Entity and click the Next button.
You will get the below message . Click the finish button.
(9) Next step is to build the decision shape. Choose the decision shape from the left panel and drag and drop to the process area.
As per our requirement we will now have to separate out the requisition based on values for field – newrepl (Addition or Replacement).
Our condition is, If the “newrepl” value = “Replacement”, do this else do that and the properties will be:
In order to define the first value , follow the below steps:
- Choose the Type as Profile Element.
- Profile Type will be xml.
- Profile will let you choose the entity along with the operation.
- Element will be the field of the entity.
In order to define the second value, follow the below steps:
- Choose the Type as Static.
- Enter the desired value.
(10) Now that we have specified the decision properties, our process looks something like below:
(11) Next step is to add the mapping properties and update the requisition. Map functions allow transformation logic to be applied to individual field values as they are being mapped. For which we will drag and drop the map function to the true branch in the above process area:
(12) In order to map, source and target profiles should be created. For which we need to follow the below steps:
- Click the plus sign in the source profile section to create a source profile.
- Add “xml” in the “Profile Type” and then choose the appropriate query response profile.
Similarly like above , create your destination profile with the below properties:
(13) Our profiles are now ready to be mapped. The mapping will happen on the key fields, which in our case is the Job requisition ID. During the mapping process, we can create numerous function to transform the values of source profile to mirror the value as in the destination profile. For example in our case, Job requisition ID in source profile was in the format Template-Id which needed to be splitted at ‘-’ and only the ID needed to be mapped with the destination ID. This was accomplished using the “String Split” function:
(14) Now we simply need to drag the field from our source profile and match with the field sitting in the destination profile.Our mapping now looks something like this:
- In order to set the default value of the fields – Salary Min. and Salary Max. , choose the blue arrow mark against the field and set the default value to be the desired value.
(15) Our last step is to add the connector to perform the “Update” Operation.Just like we created a connector for “Query” we are similarly going to create an Update connector like below:
- Choose “Update” in the Action dropdown.
- Choose the previously created connection by clicking the
icon.
- Create an operation for update just like we created an operation for query by clicking the
icon.
(16) The process should now be completed by adding a stop shape in the end. And our process now looks like this :
Note that per the above query multiple requisitions are retrieved and updations to multiple requisitions happen on an asynchronous basis.
(17) The process can include several complex components and include branching for multiple conditions like below :
(18) Now it's turn to test the connection . Choose the option on the top most right corner – “Run a Test”. It will prompt you to select the desired atom. Choose the atom and run the test. Atoms are the runtime engines that are required to deploy the integration process.
Successfully run process will look like this:
(19)The bottom section will give you the results of the test run with the logs and the associated documents:
(20) We will now select the document, choose the “Connection Data” tab and click the search icon to display the results.
Deploy
The Deploy page allows you to attach Atom (s) to a specific process for strategic management and to deploy the latest revision of a process. A single process can be deployed to multiple Atoms and a single Atom can contain many deployed processes. If environments are enabled in your account, you can attach and deploy processes to a specific environment.
Manage
The Manage menu provides a consolidated view of all the integration activity within your account for deployed processes. This includes Atom and Cloud status and historical process execution results. You can view data that has been processed and troubleshoot errors. Each time a process runs, the results of that execution and detailed logs are collected by Dell Boomi AtomSphere and displayed here.
When you click the Manage menu you can select one of the following:
- Process Reporting
- Atom Management
- Cloud Management (if it is enabled for your account)
- Boomi Assure (if it is enabled for your account)
- Process Library (if it is enabled for your account)
- Integration Packs (if it is enabled for your account)
Your first Boomi Test Run has been successfully executed to retrieve /update within Successfactors !
Time Eval - calculate consecutive days for absence
I. Requirement
How to calculate consecutive 7 days for absence in Time Evaluation? If employee is on leave consecutive 7 days, system raise an information message.
First of all, you have to make clear the requirement whether it’s CALENDAR days or WORKING DAYS. Because it will impact how to design the enhancement in Time Eval.
In the document, I will demonstrate 2 solutions to handle each above requirement: CALENDAR and WORKING DAYS. And I only focus on 1 absence type 1211, you can adjust accordingly with your current configuration.
II. Master Data
My employee has the planned working time in IT7 as below, it is simple ws: working on Mon to Fri ; off on SAT to Sun.
III.(A) SOLUTION 1 for CALENDAR
The tricky part when calculating by calendar day is that the standard P2001 function will not generate any record in TIP table if the date is DAY OFF. In order to overcome the situation, we have to use AB with function ACTION while calling pcr /VN1 in time schema.
1) I create one Time Type to hold each day on leave and accumulate accordingly as well.
(2) The 1st pcr: if absence type is 1211, assign 1 into Time Type ZABS
(3) The 2nd pcr: if Time Type ZABS > 0 (it means that employee is on leave on that date), so plus with all total consecutive leave until the previous date (HRS+LZABS).
(4) Insert into Time schema: I copies standard one TM04 and add more 2 lines just immediately after block Provide time data in row 350.
The AB above (part 2) with function ACTIO will help us to check whether employee is on leave on DAY OFF or not. Without AB, SAP will only check employee is on leave on DAY WORK only.
III.(B) Testing SOLUTION 1 for CALENDAR
TC01:
INPUT Employee is on-leave from 26.08.2015 to 03.09.2015. Expected result is that system should raise message on 01.09.2015.
OUTPUT: The 2nd pcr /VN9 generated the information message on 01.09.2015 as expected.
Run standard report with period from 25.08.2015 to 30.09.2015: output is expected.
Time Type ZBAS in Time cluster result: We can easily see that system is capable to accumulate consecutive CALENDAR days from 28.08.2015 to 01.09.2015.
TC02:
INPUT: Employee is on-leave from 26.08.2015 to 29.08.2015 and 31.08.2015 to 03.09.15. (No leave is on date 30.08.2015)
Expected result is that system should NOT raise any message.
OUTPUT: system DOES NOT generate message any more.
Time Type ZABS in time cluster result.
System is smart enough to re-start counting from 31.08.2015 as there is no absence record on 30.08.2015. Therefore, system does NOT generate the message anymore.
IV.(A) SOLUTION 2 for WORKING DAY
The tricky part when calculating by working day is how to ensure that on Mon we can able to check that the previous Fri employee is on leave. The logic in /VNA will handle it.
(1) Time Type ZABS keep as the same.
(2) 1st prc not change: /VN1, but the way to call in schema will be changed.
(3) 2nd pcr /VNA: It is quite the same pcr /ZVN9 above but having additional condition on DAY OFF (VARSTFREE is Y) is to carry previous value from the previous working day (e.g. Fri) on DAY OFF such as Sat and Sun. So the next working day (Mon), we can ensure that employee was on leave on last Fri.
(4) Calling the 2 pcr in time schema:
IV.(B) Testing SOLUTION 2 for WORKING DAY
TC03:
INPUT: Employee is on-leave from 26.08.2015 to 29.08.2015 and 31.08.2015 to 03.09.2015. (Same input in TC02 above)
Expected result is that system should raise the information message on 03.09.2015
OUTPUT:
The 2nd pcr /VNA generated the information message on 03.09.2015 as expected.
Run standard report with period from 25.08.2015 to 30.09.2015: output is expected.
Time Type ZABS on Sat and Sun, it's 3 days as we automatically carry forward from Fri (value 3 days) to DAY OFF on Sat and Sun.
TC04:
INPUT: Employee is on-leave from 24.08.2015 to 27.08.2015 and 31.08.2015 to 03.09.2015.
Expected result is that system should NOT raise the information message.
OUTPUT:
System does NOT generate any message anymore because time type ZABS has not reached 7 consecutive days yet.
We can see that system accumulate from 24.08.2015 to 27.08.2015 as 4 days. But Fri 28.08 does NOT have any absence, so system reset the counting and restart again from next Mon on 31.08.2015.
V. CONCLUSION
With 2 different approaches, we are able to handle both requirement: consecutive CALENDAR DAYS / WORKING DAYS on leave. Hope you can apply the document for the various scenarios. Thanks.
Best Regards,
Woody
Time Eval - calculate consecutive working days via standard accumulate
In the another document Time Eval - calculate consecutive days for absence I have manually accumulated Total Consecutive WORKING Days.
In the document I would like to share how we achieve the same result but using the SAP standard accumulate via configuration in T555A. I believe this one would be more easier that the solution I mentioned in the above document.
I. SOLUTION for WORKING DAY
(1) Time type ZABS: all is 1, so SAP will automatically accumulate via function CUMBT in time schema.
(2) The 1st pcr: if absence type is 1211, assign 1 into Time Type ZABS
(3) The 2nd pcr:
If Time type ZABS = 0 (it means that employee is NOT on leave):
(i ) Plus with all total consecutive leave until the previous date (HRS+MZABS).
(ii) Multiple with (-1) to have negative value
(iii) Add back value to ZABS
=> with the above step we will CLEAR the standard accumulative in Time Type ZABS.
If Time type ZABS > 0 (it means employee is on leave).
(i ) Plus with all total consecutive leave until the previous date (HRS+MZABS).
(ii) Comparing with 7
(iii) If it is bigger than 7, raise information message.
(4) Calling the 2 pcr in time schema:
II.TESTING
TC01:
INPUT: Employee is on-leave from 24.08.2015 to 27.08.2015 and 31.08.2015 to 03.09.2015.
Expected result is that system should NOT raise the information message.
OUTPUT:
System does NOT generate any message anymore because time type ZABS has not reached 7 consecutive days yet.
We can see that system accumulate from 24.08.2015 to 27.08.2015 as 4 days. But Fri 28.08 does NOT have any absence, so system reset the counting and restart again from next Mon on 31.08.2015.
So when checking cumulative value, we can see 1 days for Aug and so far 4 days for Sep:
TC02:
INPUT: Employee is on-leave from 26.08.2015 to 29.08.2015 and 31.08.2015 to 03.09.2015.
Expected result is that system should raise the information message on 03.09.2015
OUTPUT:
System generate message on 03.09.2015
Time type ZABS
Accumulate Time type ZABS
Message:
III. CONCLUSION
With new approach, we are able to achieve same results without requiring manually carry forward value on Fri to the following Mon as I did another document. The key NOTE is that whenever employee is NOT on leave, we have to clear the value ZABS immediately. Therefore on Mon we don't need to worry whether on the last Fri employee is on leave or not anymore.
Hope now we have many options to handle a specific requirements as well as a chance to deeply understand Time Eval. Thanks.
Best Regards,
Woody
Edit the layout of SAP standard enhanced infotype
Hi all,
I am trying to edit the layout(hiding few fields) in an enhanced sap standard infotype for example IT0021 in which few fields were added. When i go to MP002100 screen 2500, it shows the standard screen and not the fields which were added after enhancement. Where can I find it?
Seniority calculation based on "Calculation Process" functionality for Absence Quota Generation via time evaluation
Introduction
I had personally encountered issues while doing the implementation for the client. This seems to be the most common issue where the correct absence quota number [via time evaluation] was not generated at the seniority date, if the seniority date maintained in the date specifications infotype is before the hire date.
The most common solution is to attach a day balance to the base entitlement rule in the selection rule section of the table T559L and once the seniority date is arrived, push the seniority entitlement hrs/days to this day balance. This is then passed on to the QUOTA function and the accrual is processed as per the requirement.
In this document, I have briefed the SAP standard solution to address the requirement [This answers my query posted in the forum earlier - Leap year]. Without any further delay, let us move forward.
Business Scenario
Client had 3 different types of leave quotas (Annual Leave Quota, Statutory Leave Quota and Sick Leave Quota) and they had different conditions under which they accrue. But for the scope of this document, I have restricted myself to Annual leave quota grant based on the seniority date. The requirement is as below:
Years of Service | Annual Leave (Days) |
---|---|
1st to 5th year | 15 |
6th to 9th year | 17 |
10th to 14th year | 19 |
Since 15th year | 20 |
The catch here is that the service (Seniority) date is before the hire date for most of the employees.
Issue encountered during standard configuration
As per the service date (01.09.2009), the employee completes 5 years of service on 31.08.2014. Hence, effective 01.09.2014, his base entitlement should be 17 days/year (0.4645 days/day). Let us see whether the employee accrues this entitlement:
The employee's entitlement has not changed as on 01.09.2014. Let us see below when it gets accrued & why:
QTBASE
The employee's entitlement has changed as on 01.09.2019 to 17 days/year.
Ideally, the system should have calculated the 5 year completion date as 31.08.2014. But as shown above, the 5 year completion date is calculated as 31.08.2019. The system has arrived at this date based on the first base period that is formed (01.09.2013 to 31.08.2014 i.e. 31.08.2014 + 5 = 31.08.2019). The first base period is formed based on the hire date of the employee (16.08.2014), immaterial of the seniority date type S2.
First base period formed based on hire date
In order to address the requirement, the custom solution explained in the introduction section is commonly implemented. However, we can build the solution via SAP standard configuration. Please have a glimpse of the solution section which will give you a snapshot of the SAP standard solution and the custom solution.
Solution
SAP Standard solution using Calculation Process functionality:
T559L
Similarly, the other seniority bands have been created as highlighted above:
We will have to use the calculation process functionality to build the SAP standard solution for our requirement.
Calculation process overview:
For configuration purpose, we need to adapt bottom to top approach. For easy understanding, I have taken the examples from standard definitions provided in SPRO:
1. Selection Rules
The selection rule determines which employee data is selected for the employment period calculation by the system. Each selection rule is attached to a selection class.
An Example - You want to determine how long an employee has worked at your company. The periods when the employee's employment status is flagged as active are taken from the actions (0000) infotype. Since the data in the actions infotype may not cover the complete history of the employee, a technical entry date is to be evaluated from the date specifications infotype (0041). If such a technical entry date exists for the employee, the time interval from the technical entry date to the first personnel action entered in the system should also be included in length of service.
Two selection rules are required for our case:
- A selection rule with the status to determine the periods in the actions infotype
- A selection rule with the start date category to determine the period using the date type from the date specifications infotype and the first personnel action in the system.
2. Selection class
The selection class is a combination of selection rules that are evaluated in the same way. You use the selection class to group together these selection rules.
An Example - In the system, you can store leave balances under different absence types. If all types of leave absences are to be included in an evaluation, you must define a separate selection rule for each absence type. You can group together these selection rules in a selection class with the name leave absences. If required, you can then define an upper or lower threshold (maximum value or threshold value) for all leave absences.
3. Valuation Model
Valuation model is a combination of all the necessary selection classes. The evaluation of each selection class is also defined within the valuation model. The valuation model determines how the employee data from the individual infotype records is evaluated in the calculation of the employment period.
4. Calculation Process
A calculation process is created for calculation of an employment period.
5. Rounding rules
The valuation model specifies time data such as years, months, days and, if required, decimal days. With the help of rounding rules, you can round decimal days, days and months up or down. The system always rounds to the upper limit.
The rounding rule converts 30 days to 1 month and 12 months to 1 year. Only use a rounding rule if the calculation process is evaluated in years, months and days using the conversion rule. Otherwise, the rounding rule will generate unwanted results. If the evaluation only uses days, the rounding rule would round a result of 80 days to months, 20 days.
6. Assign Valuation Model and Rounding Rule to Process Step
The valuation model and rounding rule is assigned to calculation process or to its process steps. One can use the feature SENOR to perform a differentiated assignment of the valuation model and the rounding rule based on the employee's organization assignment. For our requirement, the maintenance of this feature is not required.
Let us now look into the configuration steps and how we realize our requirement.
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Valuation Model -> Selection Rule -> Define Selection Rule
We will create a selection rule for choosing the start date (as service date S2). So, we will only use the start date tab and leave all the other tabs untouched.
We will use the standard selection rule ST23 as it is, for checking the employment status.
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Valuation Model -> Selection Class
Since we have a custom selection rule, we will have to create custom selection class to map our selection rules.
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Valuation Model -> Define Valuation Model
Again, we will have to create custom valuation model as we have a custom selection class and this is also applicable to further processes like creating custom calculation process and its mapping.
Mapping selection class to the valuation model
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Valuation Model -> Define Rounding Rule
We will have to use a rounding rule as our calculation process will be evaluated in years, months and days using conversion rule (you may see this in the next SPRO step). We will be using standard rounding rule as this matches our requirement.
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Calculation Process -> Define Calculation Process
SPRO -> Personnel Management -> Personnel Administration -> Evaluation Basis -> Calculation of Employment Period -> Calculation Process -> Assign Valuation Model and Rounding Rule to Process Step
Now we will map this calculation process to our base entitlement in the table T559L:
Please see below the time evaluation output:
On 31.08.2014, the employee completes 5 years of service as per the service date (01.09.2009).
On 01.09.2014, the employee enters into the 6th year of service, so the entitlement should be 17 days/year:
As on 31.08.2018, the employee completes 9 years of service.
As on 01.09.2018, the employee enters into 10th year of service.
This way we can build the standard solution to cater to the requirement.
Just would like to show the custom solution (away from standard solution), which is generally implemented:
T559L (All the configurations are same as earlier configuration except the ones shown below)
Attach day balance to the base entitlement
Create a custom rule as below:
In the schema, please place the custom rule above the functions CUMBT and QUOTA.
Please see below the time evaluation output:
5 years completion
9 years completion
Start of 10th year
Hence, for this type of requirement as per my knowledge we can have 3 types of solution:
- SAP standard solution using calculation process
- SAP standard solution using base entitlement [Choose the radio button for Base period under T559L -> Selection rule -> Base entitlement tab -> seniority calculation section -> Base period] for seniority calculation
- Custom solution
The 2nd solution is possible if your client agrees to load all the employee hire dates equal to the service date.
Please note that there are different ways of arriving at a solution (not restricted to above). But always give it a thought before proceeding with custom solution as the best practice of providing solution is the standard way.
Hope you had a wonderful time going through this document. Thanks for your patience and time!!!
Visa Management (Saudi Arabia) - Part-01
Introduction:
I am writing this document to give you idea that how to proceeds ahead to implement Visa Management functionality in your company this document is based in Saudi Arabia country but you can take as reference for other Middle East Countries Solution Like UAE, QATAR.
Visa Management Overview:
Organizations in Saudi Arabia need to apply for and control work visas for expatriate employees. You can use the visa management functionality to record the following visa-related details: for further more (Visa Management - Payroll Saudi Arabia (PY-SA) - SAP Library)
- Visa quota requests
- Visa block details
- Agency details (“agencies” are organizations contracted by your organization to handle the visa application paperwork, etc.)
- Agency assignment to visa blocks
- Individual visa details
Transaction Code used this functionality:
- HRPASAVIM01 - Visa Management Workbench
- HRPASAVIM02 - Visa Management Workbench Search
Step # 01:
Maintaining Agent List
Step # 02:
Step # 03:
Step # 04:
Step # 05:
For Deleting Agent from the list
Maintaining Visa Quota Information
Step # 01:
Step # 02:
Step # 03:
Step # 04:
Step # 05:
Step # 06:
Step # 07:
Step # 08:
Step # 09:
Step # 10:
Visa Management (Saudi Arabia) - Part-02
Introduction:
I am writing this document with reference of my previous documentVisa Management (Saudi Arabia) - Part-01
This document contained the search functionality of Visa Management that after maintaining all information regarding visa block, visa request, agent assignment, and also assignment this visa number with employee. this functionality gives the solution of follow-up queries with respect of different useful criteria.
Transaction Code:
- HRPASAVIM02 - Visa Management Workbench Search
Step # 01:
Step # 02:
You can make visa search based on below important selection criteria. where company code, agent ID, Visa block request ID, Ministry of Labor (MOL) request No. , Ministry of Labor (MOL) approval number, visa type, visa number, visa profession, visa nationality, Gender, personal number, passport, visa status, visa expiry date, etc.
Some time you need more option then you can also create your query with help of Adhoc, SAP HR, Infoset query as per your output format.
Step # 03:
Report output format
Snapshot-1
Snapshot-2
Snapshot-3
EC Time Off for On Time HR Management
We all know Time Management is one of the powerful module of SAP HCM, on the similar lines SAP Success Factors has come up with a very effective, easy to configure and maintain cloud solution i.e EC Time Off. My intent of writing is to present Time Off in a very simple form and not confuse you with technical jargon.
TIME OFF as the name suggests, is related to booking “time off” for an employee. The entire procedure - from booking the time, to getting it approved and reporting the time absence - is well catered through the single Time Off solution.
So guys, just pull on your socks as now we are heading to make you familiar with the terminologies used in time off and their easy interpretations.
- TIME TYPE - These are nothing but the different leave types in your organization eg. Annual Leave, Study Leave etc.
- TIME ACCOUNT TYPE - Some of the leaves need to accrue a certain amount of balance regularly. Hence we need to attach the Time Account Type which acts as a Leave Bucket for that particular Time Type. For E.g. Annual leave is entitled to accrue 20 days every year.
- TIME PROFILE - Simply put, it’s a bundle of leave types which will be assigned to an employee.
- TIME ACCOUNT - Once we assign the leave types to an employee, we have time account for each leave type, depending upon the type of account. It acts as a holder of balances for each employee.
- PERIOD END PROCESSING - When an employee needs to close the current time account and move on to the next years’ time account , the Period End Processing comes into picture. You can now decide what the process of carry forwarding for a particular leave type can be.
- MANUAL ADJUSTMENTS - In case the balance of an employee needs to be corrected, this feature can be used by an Admin to manually add or deduct the balance of that particular employee’s Time Account.
I hope the momentum has started to build by now and you are keen to know further details.... So let’s keep the ball rolling with some hands on work.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Log on to provisioning to enable the Time Off –
Select the first option. The second option allows you to configure the Time off for leave of absence only, and does not utilize the full power of Time Off.
For an employee to successfully request Time Off, the following three fields are mandatory and need to be set up in JOB INFORMATION.
- Holiday Calendar
- Work Schedule
- Time Profile
Provide the necessary permissions in Manage Role Permissions -> Permissions -> Employee Central Effective Dated Entities. Set the view, edit properties as required.
You need to configure Holiday Calendars, Work Schedules and Time Profiles for each country.
For this, you need to set up the required PERMISSIONS –
Go to Set User Permission -> Manage Permission Roles
Assign the below Permission Settings in Manage Time Off
CREATING HOLIDAY CALENDAR
1.Once permissions are set , Go to Company Settings ->Manage Time Off Structures
2. Create different Holidays and assign it to the Holiday Calendar
3. Fill in the required details like below -
CREATING WORK SCHEDULE
1. Go to Company Settings -> Manage Time Off Structures
2. Create Work Schedule
3. Fill in the Required Details like below -
CREATING TIME PROFILE
A Time Profile is a bundle of leave types. However, before creating the time profile, we need to create the required leave types.
I have categorized leaves into 3 types of absences for your easier understanding. We will configure them in very clear and crisp steps –
1. Leave Types associated with the Leave Bucket (Time Types with Time Account Types)
Time Account Types can be set in two following ways –
- PERMANENT ACCOUNT – This account will be created once per lifetime but the frequency of accruals can vary from daily, weekly, monthly, annually etc.
- RECURRING ACCOUNT – This account has a window of one year eligibility which can be extended to certain months though extendable booking feature (Exception). Each year a new account is created. The frequency of accruals can be set to daily, weekly, monthly, annually etc.
The question here is: Should we create a PERMANENT Account or a RECURRING Account?
Answer: If your leave type always demands full carry forwarding and there is no forfeited balance, my advice is to use a Permanent Account, as the task of running and monitoring Period End Processing each year will be reduced.
If your leave type demands a certain carry forwarding policy which restricts the carry forwarding each year, use a Recurring Account.
Let’s configure one leave with PERMANENT Account.
HYPOTHETICAL REQUIREMENT: The leave is ANNUAL LEAVE and it accrues 20 days a year with no limitations on carry forward. We set up like below –
- Open Company Settings-> Manage Time Off Structures
- Create Time Account Type – Annual whose accrual runs every year and accrues 20 days each year.
c. Now create Time Type from Manage Time Off Structures and assign the Time Account Type ANNUAL to it.
2. Leave Types with no Leave Bucket (Time Types without Time Account Types)
HYPOTHETICAL REQUIREMENT: Study leave – This kind of leave is entitled for an employee who needs to prepare for an exam, with no fixed bucket. The leave can be requested on an adhoc basis whose final approval may depend on the Manager.
- Go to Company Settings-> Manage Time Off Structure
- Configure Time Type like below with no time account type associated
3. Leave Types of type Long Absence Leave
SF gives us the following flexibilities once an employee goes on Long Absence Leaves:
- We can assign the employee status to PAID/UNPAID depending on the nature of the leave
- We can stop the accrual of other leave types during the duration of the long absence leave depending on the employee status.
Points for Consideration for LOA leave types (as of b1508 release) –
- The absence day calculation for LOA leave types can be based on CALENDER DAYS only and not WORKSCHEDULE.
- The absence day for LOA leave types can be allowed to be requested in full days only.
- NO LEAVE BUCKET can be associated to LOA leave types
HYPOTHETICAL REQUIREMENT: Maternity Leave Without Pay – It is entitled for an employee who goes for long absence leave.
- Go to Company Settings-> Manage Time Off Structure
- Create Time Type. Configure like below – Remember to attach event reasons for LOA types
Once your Time Types and the associated Time Account Types are set, you need to assign the required TIME TYPES to TIME PROFILE.
- Go to Company Settings-> Manage Time Off Structures
- Create Time Profile. Configure like below
ZOOOOOOOOOMMMMM…..Now your employees are set to request time off, all you need to do is to assign these 3 mandatory fields to their Job Information and you are done.
Having said that, we have a lot more to discuss- Beat Accrual Rules, Period End Processing Rules, ESS, MSS Roles in Time Off or Time Off Mobile Features or Payroll Timesheet or Integration Strategy between Time and Payroll- more learnings on the way.
Don't Rack Your Brains over EC Time Off Issues, Just Bug Me and also share your lovely thoughts down there!!!!!
Consider it as the trailer of TIME OFF, we will be back with the full movie soon…
Finding HR Patch level
Know Your SAP HCM Patch Level
Purpose to know the Patch Level :-
As per SAP Standarard Patch Level should be equal or less than one point than the recent release.
If system Legal/Statutory calculations is not accurate, primarily we have to check the Patch level to understand whether system is upgraded to latest Patch level.
Also to implement Snotes we have to primarily check whether Snotes recommended Patchlevel and R/3 patch level for Imlementation.
How to Know Which is Latest Patch Level :-
Basis team will clarify which is the latest Patch Level.
In this document I am explaining with screenshot how to check the Patch level in your R/3 system.
SAP_HR delivers a field, subtype or infotype structure for this to be recorded via PA30.
EA_HR delivers part of the interface so that the same field can be recorded by the employee via ESS.
Go to www.support.sap.com(This requires S User I.D)
Click on Download Software.
Click on support packages & Patches.
Click on A-Z Alphabetical list of products.
Click on Alphabet E
Click on SAP ERP.
Click on SAP ERP Enhance Package.
Click on relevant Enhancement Package FOR SAP ERP 6.0
Click on Entry by Component.
Click on Human Capital Management.
Click on SAP HR 6.04 -àSupport Packages.
Click on expanded list.
Click on show entire list.
SuccessFactors - Useful Resources and Documents
This is a collection of the most useful SuccessFactors resources: documents, blogs, reports, and videos. This includes links that will cover an introduction to SuccessFactors, the acquisition by SAP, SAP's strategy, the SuccessFactors HCM suite, integration, and other related documents and resources. It is also recommended to join the SAP and SuccessFactors group on LinkedIn or on Google Plus, as this is the leading community for the latest and greatest information on SuccessFactors.
Overview
SAPexperts | SAP and SuccessFactors – An Overview (SAPexperts)
SuccessFactors with SAP ERP HCM (SAP PRESS)
SuccessFactors Employee Central: The Comprehensive Guide (SAP PRESS)
Integrating SuccessFactors with SAP (SAP PRESS)
HR tools overview: SAP SuccessFactors HCM suite (SearchSAP)
An Introduction to SuccessFactors Solutions (OpenSAP)
SuccessFactors Terminology and Abbreviations
Know your options: Three SuccessFactors software deployment models (SearchSAP)
The Best Security for Your Cloud Part 3: How We Address Data Security in Europe and Canada
SuccessFactors Cloud Architecture
SuccessFactors: all you need to know about Authorizations and Security
SuccessFactors Action Search: Going the Google way …
SuccessFactors HCM Suite – SAP Help Portal Page
Integration – SAP Help Portal Page
SAP Note 2087436 - Company ID: Changing Your Company ID - BizX Platform
Customer and market-related
SuccessFactors, The Future of SAP HCM Consulting, Project Execution, Training & more! (SAP HCM Insights Podcast)
Cloud: When & Why Whitepaper (SuccessFactors)
How Siemens took its HR IT into the cloud (ZD Net)
How significant is SAP’s on-premise and Cloud licensing swap announcement?
Magic Quadrant for Talent Management Suites 2013 (Gartner)
SAP and China Telecom Expand Strategic Partnership to Provide SAP Cloud Portfolio to Customers and Partners in Chin… (SuccessFactors)
Charting Your Course in 2014: SAP HR and SuccessFactors [podcast] (SAP Insider)
Stages In The Decision Making Phase Of Your Journey To The Cloud (Prashanth Padmanabhan blog)
Improving Customer Service Experience at SuccessFactors with new Cloud-based Support Portal
SAP Bolsters Cloud Leadership, Names Former NGA Human Resources CEO Mike Ettling as Cloud for HR Lead (SuccessFactors)
Finding the Right Partner for your SAP SuccessFactors Implementation
SuccessFactors and SAP HCM consulting: How the West was Won!
Should you move your HR operations to the SAP SuccessFactors cloud? (SearchSAP)
Live from the SAPinsider Studio: SuccessFactors Customer Panel Hosted by Luke Marson [video] (SAP Insider)
Preparing for a SuccessFactors initiative: Project Strategies to Ensure a Smooth Deployment [video] (SAP Insider)
Journey To The SuccessFactors Cloud For Utilities (Prashanth Padmanabhan blog)
Improving HCM Adoption with SAP SuccessFactors [video] (YouTube)
SAP Named a Leader in Gartner 2014 Magic Quadrant for Talent Management Suites (SuccessFactors)
Magic Quadrant for Talent Management Suites (Gartner)
SuccessFactors Cloud Learning Center
The Challenge of Finding Experienced SuccessFactors Consultants (LinkedIn)
SuccessConnect 2014: Opening Keynote [video] (YouTube)
SuccessConnect 2014: Transforming the Way Organizations Work [video] (YouTube)
SuccessFactors Cofounder Aaron Au: How SAP Brought "Discipline" to Cloud HCM Vendor (ASUG News)
Q&A: Mike Ettling on the future of HR, customers, and putting the Service in SaaS
SuccessFactors Recognized as a Worldwide Integrated Talent Management Leader in 2014 IDC MarketScape
SAP Simplifies Cloud Adoption With New SAP® Best Practices Packages for SuccessFactors® HCM Suite (SAP News Center)
The Customer Engagement Executive for SuccessFactors Cloud Customers (Prashanth Padmanabhan blog)
Planning a SuccessFactors HCM suite implementation (SearchSAP)
SAP On Cloud HR: Q&A With Mike Ettling (Information Week)
SuccessFactors Named a Leader in the IDC MarketScape Assessments for Integrated Talent Management (SAP News Center)
RDS Packages For SAP SuccessFactors Solutions
Progress Report - SAP HCM makes progress and consolidates - a lot of moving parts (Holger Mueller)
The Top 10 HR Cloud Myths Debunked
SAP SuccessFactors admin tasks -- where should you start? (SearchSAP)
How can companies keep track of SuccessFactors software upgrades? (SearchSAP)
SAPVoice: Experts Debunk the Top 10 HR Cloud Myths (Forbes)
6 Steps to Make a Business Case for Cloud HR
What are some best practices for working with SuccessFactors support? (SearchSAP)
Recap of HR2015 and all about Roadmaps (SAP HCM Insights Podcast)
Coca-Cola Enterprises puts the fizz into its talent management (Diginomica)
SuccessFactors’ Thomas Otter on the WorkForce agreement, cloudy development, and HR futures (Diginomica)
ASUG Member Survey: Reality Check On Red-Hot HR Software Market (ASUG News)
Cloud implementations and expert advice for SAP & SuccessFactors customers
Conversations with Aaron Au (High Net Worth)
Consultants and Certification
How to Transition from an SAP HCM to a SuccessFactors Consultant
SuccessFactors Training and Certification FAQ: 2015 Edition
Impact of DevOps and Cloud on SAP and ERP System Administrators (YouTube)
Journey to the SuccessFactors cloud for SAP Consultants (Prashanth Padmanabhan blog)
How SAP use SuccessFactors Learning and SAP Jam for its new SAP Learning Hub
Thoughts on the SuccessFactors consultant skillset (LinkedIn)
Exciting Changes for SAP Cloud Certification since March 2015
The pitfalls of becoming an HCM SaaS consultant (Diginomica)
SuccessFactors Certification Process
SuccessFactors Employee Central
Overview
Employee Central handbooks from SAP [s-user required]
SuccessFactors Employee Central - list of countries with Localizations
SuccessFactors Employee Central - list of languages
Implementing SuccessFactors Employee Central with a SAP background
Manage Mass Changes in SuccessFactors Employee Central [registration required] (SAPexperts)
My Thoughts on SuccessFactors Employee Central
Employee Central Is Not A User Interface for SAP ERP HCM OnPremise (Prashanth Padmanabhan blog)
Here’s to 2013 and Employee Central !!!
How to Configure and Manage Workflows in SuccessFactors Employee Central [registration required] (SAPexperts)
Historical data in SuccessFactors (Cloud HCM blog)
SuccessFactors EC and Cloud HCM Kickaround
Five SuccessFactors Employee Central myths busted (SearchSAP)
The SuccessFactors Employee Central Organization Structure
Q&A with SAP Mentor Luke Marson on SuccessFactors Employee Central (SAP Insider)
SAP Identity Management 8.0: SuccessFactors Connector
The SuccessFactors Employee Central Pay Structure
Expert tips for moving to SuccessFactors Employee Central (SearchSAP)
Success Factors - Employee Central : Interesting limitations on Business Configuration UI
Employee Central | Business Rules Engine at work
SuccessFactors Employee Central Global Benefits
The SuccessFactors Employee Central Position Management feature
Embedded Analytics in SuccessFactors Employee Central (YouTube)
SuccessFactors Employee Central Embedded Analytics for Compensation Information
Consider Employee Central for your HR system (SearchSAP)
Letter generation with SuccessFactors Core HRIS - Employee Central
Five features help you take charge of SuccessFactors Employee Central (SearchSAP)
How to add country specific field to SF EC Position and integrate it with SAP ERP
How to migrate Custom MDF objects to other Successfactors Instance
Configuring SuccessFactors Employee Central Job Info into Employee Profile
People Profile in SuccessFactors
Time management
SuccessFactors Employee Central Time Off - Made for You! - YouTube (YouTube)
Time Off in SuccessFactors Employee Central: demonstration
Q&A: Time & Attendance with SuccessFactors and WorkForce Software
SuccessFactors Employee Central Time Sheet and Time Valuation
Time Sheet in SuccessFactors Employee Central: demonstration
SuccessFactors Employee Central Payroll Time Sheet 1505
The European Working Time Directive in SAP Time Management and SuccessFactors EC Timesheet
Side-by-Side (SBS) deployment model
The Side by Side HCM Deployment Model (Prashanth Padmanabhan blog)
SAP SuccessFactors Side by Side HCM Design Patterns (Prashanth Padmanabhan blog)
Side-By-Side HCM Overview Update (Prashanth Padmanabhan blog)
Panel discussion on Side by Side Distributed Scenario [webinar] (SuccessFactors)
Extensibility (Metadata Framework & Extensions)
Eat like never before: SAP Networking Lunch
Enhancing SuccessFactors Employee Central v12 Home Page - to HCP or not?
Creating Metadata Framework Objects in SuccessFactors Employee Central [registration required] (SAPexperts)
Create SuccessFactors Metadata Framework objects, rules with ease (SearchSAP)
SAP HANA Cloud Platform: Turbocharge SuccessFactors Applications (YouTube)
Talking HCP: Building SuccessFactors apps on the SAP HANA Cloud Platform
New features making SuccessFactors Employee Central more extensible (SearchSAP)
Chris Paine on building extensions to SuccessFactors (YouTube)
Do It: Navigate the Enterprise Jungle
Connect to SuccessFactors oData from Hana Cloud Platform
SAP HANA Cloud Platform - SuccessFactors Extensions (Slideshare)
Employee Central Service Center
Service Center support in SuccessFactors (Cloud HCM)
SuccessFactors- 1408 Release-Employee Central Service Center – this is not your parent’s helpdesk
Employee Central Payroll
Employee Central handbooks from SAP [s-user required]
SuccessFactors Employee Central Payroll - list of supported countries
New SAP and SuccessFactors Cloud Payroll Offering
Payroll Tax User Interface Mashups in Employee Central (HR Focal Point)
SuccessFactors HCM suite integration & data migration
SuccessFactors Employee Central & Compensation Integration
SuccessFactors Employee Central & Recruiting: configuring the New Hire process integration
Employee Central integrates well with talent apps (SearchSAP)
Consuming Employee Central OData Services with the Java OData4j library
SAP ERP to SuccessFactors Employee Central data migration RDS
It's SAP Cloud HCM..., It's HCI..., It's the Integration Center (LinkedIn)
Hana Cloud Integration in comparison to Dell’s Boomi.
Globalization
SuccessFactors Employee Central - list of countries with Localizations
The value of Localization for HR and HR systems (bluehr)
Employee Central ensures global regulatory compliance (SearchSAP)
SuccessFactors Talent
Performance & Goals
Calibrate Employee Performance Through SuccessFactors [registration required] (SAPexperts)
SuccessFactors PM/GM: Making multiple Rating scales converge
Enhance your SuccessFactors solution with Employee Engagement Survey (LinkedIn)
PM v12 Acceleration (PMv12A) - Observations and things to plan around
Recruiting and Onboarding
Comparison Between SAP ERP HCM E-Recruiting and SuccessFactors Recruiting [registration required] (SAPexperts)
What I Like about SuccessFactors b1311 - Recruiting Management
Employee Onboarding: Taking a Fresh Approach to Employee Engagement and Retention (SuccessFactors)
SuccessFactors November Release: Onboarding - New Hires On The Go
Our Recruitment Journey - Three Questions that Shaped SAP's Move to the Cloud
SuccessFactors Recruiting Experience - at a glance
Compensation
SuccessFactors Salary Budgeting based on the Custom Fields
SuccessFactors 1408 release: talk with Kevin Simpson from IBM on Compensation
SuccessFactors 1502 Release: Introducing Variable Pay Forecasting
Learning
SuccessFactors LMS vs SAP LSO – Some observations (NTT Data Solutions)
SuccessFactors LMS: Power in Assignment Profiles
Configuring And/Or Prerequisites in SuccessFactors Learning
SAP Education Takes Learning to the Cloud (SuccessFactors)
SAP Learning Hub (YouTube)
SuccessFactors Learning - iContent Overview (YouTube)
Using Period-Based Curricula to Manage Training Due Dates in SuccessFactors Learning (Part I)
High-Performance Training Evaluation with SuccessFactors Learning
The New QuickGuides in SuccessFactors Learning
The Evolution of Search in SuccessFactors Learning
Configuring And/Or Prerequisites in SuccessFactors Learning
The New 'Programs' in SuccessFactors Learning (b1405)
How to Train a Global Workforce Without Breaking the Law
Tailor Your Learner Home Page for Maximum Impact in SuccessFactors Learning
Craving More Content? Take a Bite Out of the Open Content Network in SuccessFactors Learning
Extend Learning Management Capabilities in SuccessFactors Learning with the HR Business Partner Role
Other Tricks of the Trade for Period-Based Curricula in SuccessFactors Learning (Part IV)
Recommendations Rounding into Form with New Peer-to-Peer Capabilities in SuccessFactors Learning
LMS Conversion : A guide to successful implementation - Part 1
Managing the Supervisor/Employee Relationship in LMS.
Configuring Communication Channel with SFSF Adapter (with REST Message Protocol) for SAP PI and LMS (LinkedIn)
Succession & Development and Presentations
SuccessFactors November Release: Empowering Managers to Build Robust Bench Strength
SAP and SuccessFactors Launch Presentations for Dynamic Talent Reviews (SAP News)
Introducing SuccessFactors Presentations (YouTube)
How to Enable, Create, and Manage the New SuccessFactors Metadata Framework-Based Talent Pools [registration required] (SAPexperts)
How can SuccessFactors Presentations make talent reviews more dynamic? (SearchSAP)
Talent review presentations in SuccessFactors (Aspire HR)
Other Talent
SuccessFactors August Release: Faster, easier adoption of the latest innovations
SuccessFactors Release Management: Four Tips from Talisman Energy
Workforce Analytics & Planning and Reporting
SuccessFactors Workforce Analytics or SAP Business Intelligence for Human Resources?
SuccessFactors Q4 2013 Release: Reporting and Analytics
SuccessFactors Q2 2014 Release: Reporting and Analytics
Q&A: Analytics with BI and SuccessFactors (ASUG)
SuccessFactors Q1 2015 (1502) Release: Reporting and Analytics
HR Reporting and Analytics in SuccessFactors – Part 1(iProCon)
Standard & Ad Hoc Reporting in SuccessFactors - Part 2 (iProCon)
Visual Reporting with Dashboard 2.0 Reports in SuccessFactors - Part 3 (iProCon)
Visual Reporting with BIRT Templates in SuccessFactors - Part 4 (iProCon)
SuccessFactors Dashboard 2.0 and YouCalc Dashboard Builder (YouTube)
Mobile
SuccessFactors Q1 2014 Release: SuccessFactors Mobile
SuccessFactors Q1 2015 Release: SuccessFactors Mobile
SuccessFactors Q2 2015 Release: SuccessFactors Mobile
SAP Jam
SAP Jam - Useful Resources and Documents
Metadata Framework, data model, technical, and configuration
Mapping SAP OM objects to SuccessFactors For a Hybrid Model
SuccessFactors: The X Factor of Data Models
Employee Central Entities and Interfacing
Extending SuccessFactors with the Metadata Framework
Rules and Picklists in the SuccessFactors Metadata Framework
Configuring SAP HCM & SuccessFactors: A Comparison
Picklists Management and Cascading Picklists in SuccessFactors [registration required] (SAPexperts)
Two Paths To Full Cloud HCM (Prashanth Padmanabhan blog)
Integration
Overview
Integration – SAP Help Portal Page
SAP and SuccessFactors Talent Hybrid Packaged Integrations: an overview
Integrating SuccessFactors with SAP (SAP PRESS)
Integration Packages Administration Guide on SAP Service Marketplace [S-user required]
SAP ERP HCM Integration with SuccessFactors Talent Solutions Overview by Prashanth Padmanabhan (Gibbon)
SuccessFactors Customer Community For APIs and Integration (Prashanth Padmanabhan blog)
SolMan to Cloud Setup: Basic Setup for Monitoring SAP Based Hybrid Solutions
The Good, The Bad, and The Ugly of SuccessFactors Integration (Hula Partners)
Strategy
SAP and SuccessFactors talent hybrid model: what lies ahead, plus a few small hidden jewels
The Real Truth about SAP and SuccessFactors Integration
SAP and SuccessFactors - "Proven" Integration is Hype
Middleware Technology Options for Integrating SuccessFactors (Prashanth Padmanabhan blog)
Five critical factors to integrating SAP SuccessFactors with SAP HCM (SearchSAP)
How A Customer Connected 8 HR Systems With SuccessFactors (Prashanth Padmanabhan blog)
SAP Cloud Deployment Models and Their Evolution (Prashanth Padmanabhan blog)
ASUG C2C: KARL STORZ's SuccessFactors and SAP HCM Integration Story (ASUG News)
What are Packaged Integrations? (Prashanth Padmanabhan blog)
Analyzing SAP SuccessFactors Integration Add-On Downloads Using R (Prashanth Padmanabhan blog)
Integration Technology & APIs
SuccessFactors Adapter in SAP HANA Cloud Integration (SAP HCI)
SuccessFactors (SFSF) Adapter for SAP NetWeaver Process Integration
Hands-On – Testing Integration with SuccessFactors SFAPI
Hands-On – Testing Integration with SuccessFactors OData API
PI.SFSF.DOC – SFSF OData Dynamic query “$filter" clause at runtime.
OData Adapter in SAP HANA Cloud Integration (SAP HCI)
Connect to SuccessFactors oData from Hana Cloud Platform
Consuming Employee Central OData Services with the Java OData4j library
Consuming Employee Central OData Services with the Java Olingo library
Connecting Successfactors APIs Using SOAP UI
Employee master data synchronization using Compound Employee API
Configuring Communication Channel with SFSF Adapter (with REST Message Protocol) for SAP PI and LMS (LinkedIn)
It's SAP Cloud HCM..., It's HCI..., It's the Integration Center (LinkedIn)
Hana Cloud Integration in comparison to Dell’s Boomi.
Using SAP HCI OData Adapter with SAP HANA Cloud Connector
SAP Talent Hybrid integration - Packaged Integrations from SAP
SAP and SuccessFactors Talent Hybrid Packaged Integrations: an overview
Integration Add-on 1.0 for SAP HCM and SuccessFactors
Integration Add-on 1.0 for SAP HCM and SuccessFactors: Support Package 2
Integration Add-on 2.0 for SAP HCM and SuccessFactors
1405 Release - SuccessFactors Competencies and Curricula Integration With SAP ERP Qualifications
SuccessFactors Variable Pay Integration With SAP ERP HCM (Prashanth Padmanabhan blog)
Integration Add-on 3.0 for SAP HCM and SuccessFactors
Integration Add-on 3.0 for SAP HCM and SuccessFactors: Service Package 1
Integration Add-on 3.0 for SAP HCM and SuccessFactors: Service Package 2
Demo of SAP to SFSF Compensation Integration (Add-On 1.0)
SAP Talent Hybrid integration - implementation
Pilot Test of the Integration add-on for SAP ERP HCM & SuccessFactors BizX
Integration Q&A: Managing employee compensation using SAP HCM and SuccessFactors
Integration Q&A: Real-World Impressions on SAP and SuccessFactors Integration Add-On’s
SAP HCM and SuccessFactors Biz X Employee Basic Data Integration RDS Demo - YouTube (YouTube)
SAP HCM and SuccessFactors Biz X Compensation Integration RDS Demo - YouTube (YouTube)
A few missing pieces for SuccessFactors and SAP integration.
PI Configuration Example (NWPI 1.0 SP2-4 & 2.0 SP0) [S-user required]
PI Configuration Example (NWPI 1.0 SP6 & 2.0 SP2) [S-user required]
SAP SuccessFactors - Talent Hybrid Integration Hands On Training (Prashanth Padmanabhan blog)
Optional Business Processing Parameters in Employee Integration in SFIHCM01 - SP04
SF Recruitment Management- Tips related to Vacancy interface (RH_SFI_TRIGGER_JOB_REQUISITION)
Using Boomi to update fields in Job Requisition
The Good, The Bad, and The Ugly of SuccessFactors Integration (Hula Partners)
Demo of SAP to SFSF Compensation Integration (Add-On 1.0)
Full Cloud HCM / Employee Central
Dell Boomi AtomSphere for SuccessFactors (Dell Boomi)
Part 3: SuccessFactors Employee Central - What is the integration roadmap & FAQ's
Packaged Integrations ease the flow of data between Employee Central, SAP ERP (SearchSAP)
Standard Templates for Integration of SuccessFactors Employee Central with 3rd Party applications
How to create an Employee using OData APIs
Packaged Integrations ease the flow of data between Employee Central, SAP ERP (SearchSAP)
SAP Note 2186235 - Integration SAP EHSM Incident Management with SAP SucessFactors Employee Central (SAP Support) [S-user required]
Consuming Employee Central OData Services with the Java OData4j library
Consuming Employee Central OData Services with the Java Olingo library
Employee master data synchronization using Compound Employee API
It's SAP Cloud HCM..., It's HCI..., It's the Integration Center (LinkedIn)
Hana Cloud Integration in comparison to Dell’s Boomi.
Business Warehouse & SAP Data Services
How to integrate SuccessFactors talent data into SAP NetWeaver Business Warehouse?
How to setup SuccessFactors Adapter with SAP Data Services
SAP Jam
SAP Jam ABAP Integration - Configuration Guide for SP Level 5
SAP Jam ABAP Integration - Configuration Guide for SP Level 6
Single Sign-On (SSO)
Single Sign-On to SuccessFactors from SAP HCM
Single Sign-On between SAP Portal and SuccessFactors
Other
Integrating SuccessFactors with Microsoft SharePoint
Data Migration
LSO-to-SuccessFactors LMS RDS | hyperCision, Inc. [HyperCision]
SAP ERP to SuccessFactors Employee Central data migration RDS
More reason to use rapid data migration to leap into the SuccessFactors cloud!
Acquisition by SAP and Roadmap
Thoughts on SuccessFactors, Holiday Wish Lists for SAP HCM, and UNICEF [podcast] (SAP HCM Insights Podcast)
SAP and SuccessFactors Acquisition Q&A (Cloud Avenue)
News Analysis: SAP Buys SuccessFactors for $3.4B Signals SAP's Commitment To Cloud, HCM, and Social (Constellation Research)
SAP to Buy Into Software as a Service With SuccessFactors Deal [PDF] (Garnter)
SAP To Buy SuccessFactors: Major Shift In Talent Management Market (updated) (Bersin by Deloitte)
SAP and SuccessFactors Roadmap Analysis (Cloud Avenue)
SAP and SuccessFactors HCM Roadmap - With Amy Thistle [podcast] (SAP HCM Insights Podcast)
MIGRATION - Upgrade of HCM from one release to other release using transport of copies mechanism
1. Purpose
This document is based on a customer specific requirement which was undertaken in a project. It describes the method for migrating HR configuration entries, master data and payroll clusters from earlier release to new release. This explains the migration strategy and the procedure to be followed for migrating the configuration entries and the master data.
Note: This document does not discuss the technical upgradation that forms part of basis activities.
This can be considered if the following are applicable:
- Modules like FI, P2P, and SD are going through the Reimplementation cycle from earlier release to new release. How ever HR goes through an upgrade only. The reason being, in case of pure technical upgrade of entire system from one release to other release, all the modules configuration entries and master data will get upgraded.
- Functional upgrade happens for selective modules of HCM post the migration of configuration entries, Master data, Transactional data (Payroll clusters) from earlier release to new release.
Note: Post the upgrade the configuration entries and master data from earlier release to new release is ready to use for the functional upgrade
2. Abstract
This document explains the step by step approach of migrating configuration entries, master data and payroll clusters from release like 4.7 to release of ECC 6.0.
3. Overall Approach
3.1 Migration Process: Process flow
High Level Process steps are as below
3.2 Step By step Process flow
Process Step # | Process Step | Process Step Description |
1 | Migration of Configuration | Migrating the configuration from earlier release to new release using RFC |
2 | Migration of Custom Objects | Movement of Custom objects from one release to another release using transport of copies |
3 | Migration of Master data | Migrating master data using transport of copies from old release to new release |
4 | Migration of Cluster data | Migrating Cluster data using transport of copies from old release to new release |
5 | Configuration of new enterprise structure | This is applicable in the scenarios where the Enterprise structure changes in new release. |
6 | Mapping of master data with new enterprise structure | Master data to be mapped as per the new enterprise structure in new release |
3.2.1 Migration of the configuration:
The configuration entries to be migrated first the reason being this serves as foundation for other objects to move.
Background:
- Identify the standard objects to be migrated
- Arrive at the sequence of migration
- An RFC connection to be established between the earlier release and new release. Use transaction SM59 by taking help of basis consultant
Note: It is recommended to use production system of earlier release. The reason being the production system has the updated entries
- The migrated entries will have to undergo testing and quality checks before moving it to the new release production system
3.2.1.1 Methodology
Configuration entries in the view tables are to be migrated in the identified order. We could use either IMG or transaction SM30.
Note: It is recommended to use IMG. Using transaction SM30 is error prone. The reason being, we make fewer mistakes in following the sequential order.
The following is the step by step procedure to migrate configuration. All the steps have to be carried out in the new release.
- Go to IMG and open the node to view the configuration entries
- Configuration entries in the view tables has to be migrated in the identified order
- Select the node that has to be migrated
- Go to Utilities --------> select Adjustment. Below screen will be displayed
- This will populate a window to select the source system
select the source system like 4.70 Production system in the above selection
- You would now see the overview of the table entries from the source system to target entries
- The table entries that need to be adjusted can be selected. If all the entries are needed then “select all” option from Edit menu. This method will not delete or over write the existing entries in the target/source system. It is possible to differentiate the entries between the target and source system with different colors.
- Source system: entries with green.
- Target system: entries with orange.
- After the necessary selections execute the “adjust” button. This action will bring you the following screen.
- Execute the push button “copy all” which copies all the entries that are selected from source system to target system.
- Now we can able to view the entries that are adjusted.
3.2.1.1 Draw backs of configuration migration:
- This method of adjustment does not support configuration entries that are related to creation of Personnel subarea, wagetypes, absences, work schedule rules
3.2.2 Work Around
In the views for Personnel subarea creation, wagetypes, Work schedules the option of adjust is not available hence the table entries can be migrated by using some workaround.
The table entries related to creation of personnel subarea, wagetypes and work schedules has to be locked in a request and to be transported to the target system.
The detailed methodology is as follows:
- Execute transaction SE10 and select create option. This pops up a window as shown below
- Create the request by selecting transport of copies as specified in the above screen
- The below screen shows that the request has been created
Double click on the request created. This Pops up the request properties, contents and Documentation tabs. Select the contents tab and enter the tables names to be migrated
Note: The program ID should be R3TR and the Object ID differs based on the object.
Eg: If we need to transport the table with contents use the ID ‘TABU’. If the table with the contents to be transported and use the ID ‘VDAT’ for views.
Draw back: If the structure of the tables has been changed from earlier release to new release then the entries has to be created manually in the new release.
3.3 Migration of Custom objects
3.3.1 Methodology
- Customized Developments and the objects have to be migrated by transporting the customized package and the developments in specified sequence using a transport request from existing production system to ECC 6.0 Development system.
3.3.2 Drawbacks of migration the custom objects:
- During Migration of custom objects from one release to another release there would be Unicode conversion related issues
Work Around:
- This will have to be addressed by the development team by changing the attributes of each object
3.4 Mapping of screens from old release to new release
It is a good practice to do the screen checks. It is strongly recommended to compare the screens of infotypes that are used between old and new version. Any errors omissions can be trapped at this point of time. Of both the versions. Table T588M could be used for this.
3.5 Migration of Master Data
Master data can be migrated from one version to other version by creating a transport request in old version for each database table in required sequence and transported to new version.
3.5.1 Methodology
- Ø Execute the transaction SE10 and create a request for transport of copies as specified in the earlier section.
- Ø After the request is created. Double click on the request
- Ø As specified earlier the program and object types should be R3TR TABU respectively. Select the function and specify the table keys as ‘*'
Note: Table keys should be * so that all the entries can be migrated to the target system
- Ø It is mandatory to select the target system in properties tab.
- Ø Once the above settings are done we can view the transport request with the tables and table entries
The above request has to be transported to the target system so that the table entries can be viewed in the target system
3.7 Migration of Cluster data:
There are two options for migration of cluster data:
- Option A : Custom program
- Option B: Transport request.
Custom program:
Custom program could be written in ECC 6.0. The high level specification for custom program is as below
Point 1: Create a BDC in the target system.
Point 2: This program will call for required employee numbers in XL sheet
Point 3: Copy the entire cluster from earlier version to new version by using RFC.
Transport request:
Create a transport request for the cluster data in the source system and transport to the target system
It is recommended to use Option B the reason being all the entries will be moved sequentially. Option A is error prone.
3.7.1 Methodology
- Create a transport request with transport of copies option for cluster table PCL2. This is similar to the one described above for master data migration.
3.7.1 Errors and solutions:
Migration of master data and cluster data may crop up few of the following issues.
The Issues with the solutions are as below
Error 1: Master data – Data may not be displayed in Overview option of the infotypes in the transactions PA30 or PA20
Solution:
Report ‘RPUEVSUP’ to be executed by specifying employee number and country grouping in the selection screen.
Error 2: Actions can’t be performed in PA40 or PA30 transactions. Error will be “Organization reassignment not permitted”.
Solution:
Report RPUPAV00 to be executed by passing the parameters of PERNR and MOLGA in the selection criteria. This will update the field VIEKN in PA0003 (Payroll status). Configure feature IVWID accordingly. This will resolve the issue of organization reassignment not permitted.
- i) After migration of master and cluster data the payroll postings may not be initialized.
Solution:
Usually this happens after any upgrade. Report ‘RPU46CX_CENTRAL_PERSON_ONLINE’ has to be executed for the employee numbers. This program creates Object central person (CP) for employee data, for respective object Person (P).
Errors while importing the custom infotypes
- ii) Dump in the payroll driver and the other include objects.
Solution:
The entries in the table T596F were not transported from old release to new release. This is because of the absence of the above table in IMG. Hence all the entries of this table have to be locked in a request using transport of copies methodology.
- iii) The PA and the payroll features were not functioning properly.
Solution:
All the features that were transported needs to be activated again as the status in feature will be ‘save’ instead of ‘active’.
- iv) The table maintenance dialogue wont be appearing for the custom tables
Solution:
This can be addressed by generating the maintenance dialogue explicitly for each custom table.
- v) Absence of SAP Script forms
Solution:
Even though the custom packages are migrated there may be chances of unavailability of SAP scripts in new release. Hence all SAP scripts to be locked in a separate request and to be imported to new release.
3.8 New Enterprise Structure
This has to be followed only when there are changes to the enterprise structure in new release
The existing enterprise structure to be mapped with the new enterprise structure which will be designed based on the various ELCM processes. The new structure has to be configured in the new release.
3.9 Upload employee master with new enterprise structure
Changes in the configuration due to the additional processes as part of the project will have an impact on the data. Therefore the data related to the configuration changes are mapped and a program/LSMW is built. This program will create an action in PA40 screen, as ‘Go-Live’ which will update the new Enterprise structure, personnel structure, and the Organization structure in respective infotypes by changing the corresponding master data based on the mapping template.
3.9.1 Impact
The following are the impacts due to the changes in enterprise structure:
- Payroll process
- Payroll posting
- Custom reports
3.9.1.1 Impact on payroll process
Changes in enterprise structure may have an impact on payroll. The impact will be with respect to retroactive accounting as the old company code/Personnel Area may not be needed in the new environment. This can be addressed by enhancing the include RPCGET00_FUWPBP in HINCALC0 program. The enhancement should have the logic of converting old Company code to new one.
3.9.1.2 Impact on payroll posting
Payroll postings will have an impact in case of retroactive accounting and this can be addressed by using the enhancements in RPCIPE00.
3.9.1.3 Custom Reports
Due to the changes in the enterprise structure the existing custom reports has to be changed based on the input and out put considerations
4. Benefits
- The configuration data can be moved easily
- Flexibility to change configuration after migration
- Its easy and adaptable process
- Master data is moved easily because it is copy of AS-IS. Hence chances of errors can be reduced
- Payroll cluster (transaction data) can be moved with one single transport request hence the mismatch in the sequential numbers can be avoided.
- The other modules can be Re implemented with out any integration issues.
5. Results
The following are the results from this Research.
- Movement of the configuration entries and developments from one version to other version using transport of copies.
- Migration of the master data and the cluster data.
- Set up new enterprise structure.
6. Conclusions
SAP‘S Upgrade and migration concepts are used to upgrade the system. However technical upgrade is not fruitful in the cases like reimplementation of other modules and change in the enterprise and organization structures. In this case it’s always time consuming. Migration can be executed better, cheaper and faster than a technical upgradation.
When determining the right solution for the operations it’s important to consider the master data, transaction data and reimplementation considerations.
7 Source
Project experience
ESI DEDUCTION AND MEDICAL ALLOWANCE PAYMENT PROCESS
AUTOMATED PROCESS FOR: DEDUCTION OF ESI WHEN GROSS INCOME IS < ESI GROSS ELIGIBILITY AND PAYMENT OF MEDICAL ALLOWANCE WHEN GROSS INCOME IS > ESI GROSS ELIGIBILITY
1. Purpose
This document is based on a customer specific requirement which was undertaken in a project. It describes the method and process to be followed for addressing the ESI / Medical allowance payment process.
Business Requirement
Employee is eligible either for ESI deductions or for medical allowance payment. If employee is eligible for ESI deduction then medical allowance should not be paid and vice versa. But, Medical allowance should be considered for other CTC calculations etc., even though ESI gets deducted for an employee
- Automatic calculation and payment of medical allowance / deduction of ESI
- Employer has fixed ESI circles and ESI is deducted as per statutory norms
- Medical Allowance should not be paid to the employee when the gross is < ESI Gross eligibility
- ESI should not be deducted when gross is > ESI Gross eligibility and the medical allowance should be paid.
2. Abstract
This document explains the step by step procedure to configure medical Allowance payment / ESI deduction process
3. Description
3.1 System Configuration settings
Below are the configurations / Rules to be written to address the scenario
| Description | Rule/Wagetype | Place Holder in Schema |
1 | Create a wage type Medical Allowance – part of Basic Pay infotype | 1025 | - |
2 | Configure ESI specific settings for India | - | - |
3 | Write a PCR (Personnel Calculation Rule) – in case ESI , move ESI value to a variable | ZMD7 | INN1 – Gross to Net Calculations (YNN1). To be placed after INESI function. |
4 | Write a PCR (personnel Calculation Rule) – If Condition fulfillment for ESI variable | ZMD5 | INN1 – Gross to Net Calculations (YNN1). To be placed after INESI function. |
5 | Write a PCR (personnel Calculation Rule) – if Gross < ESI Gross eligibility then Subtraction of medical amount from Gross wage type (/101) | ZMD6 | INN1 – Gross to Net Calculations (YNN1). To be placed after INESI function. |
6 | Write a PCR (personnel Calculation Rule) – If Gross > ESI Gross eligibility then make medical allowance as zero | ZMED | INN1 – Gross to Net Calculations (YNN1). To be placed after INESI function. |
7 | Write a PCR (personnel Calculation Rule) – If gross > ESI Gross eligibility then move the actual medical amount to a variable | ZMD2 | INN1 – Gross to Net Calculations (YNN1). To be placed after INESI function. |
3.1.1 Create Medical Allowance wage type
- SAP Customizing Implementation Guide à Personnel Management à Payroll data à Basic Pay
In this step, the following are defined:
- a. Wage type - 1025 medical allowance
- b. Indirect Valuation method and percentage for Medical Allowance wage type
- c. Assignment of wage type to payscale structure
Note: Basic Pay infotype configuration for country India should have the wage type 1025 (nnnn)– medical allowance
3.1.2 Configuration of ESI Specific settings for India
All standard configurations related to ESI – India has to be done.
- SAP Customizing Implementation Guide ->Payroll ->Payroll India ->Statutory Social Contribution ->Employees State Insurance ->Maintain ESI eligibility limit
In this step, the following are defined:
- a. Maintain ESI eligibility limit and number of working days in a month
- b. Indirect Valuation method and percentage for Medical Allowance wage type
- c. Assignment of ESI grouping to personnel sub areas
- d. Maintain the contribution rates for ESI
3.1.3 PCR to move ESI Value to a Variable – ZMD7
Place holder in YNN1 – Gross to Net calculation
3.1.4 PCR – if condition fulfillment for ESI – ZMD5
Place holder in YNN1 – Gross to net calculation
3.1.5 PCR to subtract medical allowance from gross wagetype (Gross < ESI Gross eligibility) – ZMD6
Place holder in YNN1 – Gross to Net calculations
3.1.6 PCR to make medical allowance as ‘zero’ – in case gross is <ESI Gross eligibility – ZMED
Place holder in schema YNN1 – Gross to net calculation
3.1.7 PCR to move medical allowance to variable and pay – ZMD2
Place holder in schema YNN1 – Gross to net calculation
4. Results
The following are the results from this method.
- Automatic Payment of Medical Allowance based on the gross ESI Eligibility
- Employee CTC report / Salary comparison will not be effected due to changes in the ESI eligibility
- No changes to master data Inspite of change in ESI eligibility limit
5.Conclusions
Most of the IT / Manufacturing sectors in India has the car lease process. It’s a standard and automated solution which eases the work of Payroll Administrator in any company
6. Source
Project experience
- Help.sap.com