cancel
Showing results for 
Search instead for 
Did you mean: 

Penalties

Former Member
0 Kudos

Dear All;

I was just wondering how can we make penalties on the system.

For example, if there is a violation for a rule, and we want to make a penalty for this employee as follwos;

First Time: Warning Letter

Second Time: 10% deduction

Third Time: 25% deduction

Fourth Time: Half a day deduction

Fifth Time: One day deduction

Appreciating your efforts.

Best Regards;

Lobna

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I assume the 10% or 25 % or 1/2 day deduction is based on the current basic pay WT in IT0008 and day is either one working day or calendar day.

Also data should be entered in IT0015 from whenever the employee voilates from 2nd time.

1. You can create a deduction WT for IT15 eg WT 9PEN, set the PC30 as T and set the deduction/ priorities as per company requirement

2. In Cumulation class table t52c3, set the cumulation for the WT as U- Unlimited.

3. Create 4 constanst in T511K table

PEN2 10.00

PEN3 25.oo

PEN4 50.00

PEN5 100.00

4. In Payroll schema (I'm using X000 international) call a PCR before schema XAL9. Write a rule to calculate daily rate or

use XPPF and find out. Move this value to a variant-vDRT.

http://help.sap.com/saphelp_40b/helpdata/en/71/4c47eb4c4611d1890b0000e8323d3a/content.htm

5. Once you computed the daily rate, you have to deduction. You have to create a subschema , after XAL9.

Step 1. PCRT ZPN1 NOAB (read PCRT and call your rule ZPN1, in that check for WT 9PEN, if **** then divide vDRT by constant PEN1)

Step 2. in PCR ZPN1, if WT 9PEN is found move number of WT to variant vPEN and then call ZPN2.

Step 3. In PCR ZPN2, check if the value is number of vPEN is equal to constant PEN2 , then set number as constant PEN3 (if 10% is deducted in past, then set current deduction as PEN3, and so on)

Former Member
0 Kudos

Dear Amosha

iam facing the same problem as you said create 9pen in IT0015 the employee have to fillout this wage type manuall? eg if he comes late for second time he will deduct 20% so employee will inter in IT0015 then chose wage type 9pen then write 2 or what? how is it handle and how is the system know it is the second or third or fourth time?

Edited by: Raul gonzalez maror on Jun 5, 2009 2:03 PM

Edited by: Raul gonzalez maror on Jun 5, 2009 2:04 PM

Former Member
0 Kudos

Read step 3 carefully.

Pt # 1 --> Say the employee voilates for the 2nd time, then HR Admin enters 9PEN WT in IT with number 1 or amount $1 (1 is just to allow the entries to be saved in IT15. Its better to have some value to keep the WT alive in RT. If not you can set the input combination as '-' '-' Neither amount nor number/unit for this WT). And the next time if the same employee voilates still HR will create an entry for that day with with number 1 or amount $1 . And so on....

Is this clear?

Pt#2 --> The Cumalation type U- Unlimited keep adding the value unlimitedly in the CRT. In this method you read the percentage from the number field of the WT 9PEN from CRT using PCRT table/fn. Once after you calculation you are update the latest percentage in WT 9PEN. So during cumulation RT - CRT subschema will update the value of 9PEN in the CRT. Next again you read this table if number is 10 then your new percentage will 25% . This logic should be written in PCR.

Is this clear??

Pt#3--> Other option: Is to modify user exit when ever an WT 9PEN is created in IT15, the userexit should check if an record already exist for the employee in PA0015 for WT 9PEN. If doesnot exist, then save the current record with value 10 in the number field else if one record exist, the take the update current WT with25%. If two records exis then update it 50% if 3 records then 100%.

Let the use exit itself calculate the daily rate from IT0008 divide with number of working days per payroll period from IT7. then calculate the % of daily rate using the percentage calculate earlier and update the amount field.

Thats it..you no need to anything payroll schema with this option.

Former Member
0 Kudos

first thing you are helpful second thing it is better if i dont use user exit,Pt#1 --> is very clear but Pt#2 --> how can i do it in sytem? what i will write in pcr?

Edited by: Raul gonzalez maror on Jun 5, 2009 5:16 PM

Former Member
0 Kudos

Pt#2 needs PCR to be written. First create the WTs and constants.

Then write rule with PCRT table.

Former Member
0 Kudos

Dear Amosha

i am trying to under stand step 5 but it is difficult:) can you give me example plz

Former Member
0 Kudos

I will update you over the weekend..

Former Member
0 Kudos

Thank you Amosha for your reply, but would you kindly please explain me more step number five coz I couldn't get your point.

Another thing please, in the country that I'm working at, when they give a warning letter to the employee, if s/he didn't do the same thing or didn't do anyother thing for a three months period, then this warning is cancelled and once the employee does another thing, it's considered the first and they send him/her a first warning letter and so on.

My question is, how can I make the system determine this.

I mean, how can i make the system send a warning letter and cancel it after three months if the employee didn't deviate the company's regulations and consider the coming deviation as the first one?

Thank you again for your cooperation.

Best Regards;

Lobna

Former Member
0 Kudos

This message was moderated.

Former Member
0 Kudos

Dear Amosha;

Sorry for forgetting to put you the points. I already did. Thanks for your cooperation and waiting for your respectable reply.

Best Regards;

Lobna

Former Member
0 Kudos

I was not able to do it through PCRs, it was really difficult.

Other options are: Also see the thread from raul gonzales...similar problem.

Option 1: User exit for doing the complete logic in IT15. Mail triggering through M0001 feature a subtype of 9WAR (warning wagetype- no deduction just a record) is create. User exit will create WT 9PEN for 2nd time to 5th time as per the details you have mentioned. WT 9EN will be created with percentage or calculated amount to deducted based on the--- IT8 Amt per period divided by periodic working hours IT8 and multiply by daily working hours from IT7==> you will get the daily rate.

-THis is Simple and perfect.

Option 2: Custom infotype with dynamic action to IT15 with little bit screen program. I think with dynamic action you cannot query whether a record with certain exist in last 3 months or not. There is high possibility that it may go wrong. Some of logic in option #1 has to be used here.

Option 3: PCR is not easy though to find whether its deducted in last Quater or not. We need to create custom function for this..which I wont recommend.

All the best.

Thanks,

Amosha.

Former Member
0 Kudos

Check the updates in

I believe HR Admin will enter this information in SAP..am I right? We will categorize this requirement into 2. 1. About the warning - which not related to payroll 2. Deductions 10% , 25%, 50% & 100% For#1,whenever a wagetype is entered in IT0015 for WT-9PEN for the first time, another wagetype should be created by the user exit- 9WAR. This entry will trigger a mail to employee and admin. How to do it: (a)For warning requirement we need a seperate Wagetype - 9WAR for example. Goto Pu30 create a Wagetype call 9WAR. Then remember to uncheck both flags in T511 table to make this is as an information wagetype. And for the input combination, set it as neither amount or number. Then again goto PU30 copy a model deduction wagetype name it 9PEN (b) You have to configure m0001 feature to trigger the email. For this you have go to PE03 and type M0001. Then read the documentation first, to understand what has to be configured. (c) User exit logic For#2, HR admin will create a new 9PEN record without knowing what is the employee status of the penality. User exist has to find the penalty. How to do it: >Whenever a 9PEN entry is created for the employee, user exit should check whether there is any record of 9PEN for the employee in last 3 month in PA0015(or depends on the requirement): >>If no, the update IT15's record for 9PEN with 1 in number field ans unit as percent. Then create 9WAR with the same date. >> else If there is a record exist for 9PEN in PA0015 table for the pernr in last 3 months then pick up the latest entry (sort by descending and pick top record). Check the number value. >>> If the number value of the latest PA0015 record of this emp is 1, then update the current record with number as 10 and unit as percent. Update amount with daily rate* .1(get daily rate using daily rate sub routine with begda of the current 9PEN WT ). >>> If the number value of the latest PA0015 record of this emp is 10, then update the current record with number as 20 and unit as percent. Update amount with daily rate* .2(get daily rate using daily rate sub routine with begda of the current 9PEN WT ). >>> If the number value of the latest PA0015 record of this emp is 20, then update the current record with number as 50 and unit as percent. Update amount with daily rate.5 (get daily rate using daily rate sub routine with begda of the current 9PEN WT ). >>> If the number value of the latest PA0015 record of this emp is 50, then update the current record with number as 100 and unit as percent. Update amount with daily rate(get daily rate using daily rate sub routine with begda of the current 9PEN WT ). >>end if >daily rate sub routine:*Read the IT0008 for given begda from PA0008 table for this employee.If the value is zero, check with the functional person to understand the indirect valuation logic.(example 4000 USD ) Then divide the per period rate with hours/per period field value of PA0008 of the same record(80 Hrsper period). Then multiply with daily working hours from PA0007 for record valid in this date (7.5 hrs) = (8000 / 80 ) * 7.5 == this gives daily rate.

Answers (1)

Answers (1)

Former Member
0 Kudos

Thanks Experts fpr your cooperation