Monday, October 20, 2014

Payroll Korea - Tax Deductions and Tax Credits

In SAP Payroll Korea, there are a number of standard tax deductions and tax credits built in the system before generating the actual taxable income. For the deductions that took place, technical wagetypes that reflect those deductions will be generated such as 
/Y2D (Earned income deductions)
/Y2E (Adjusted Income)
/Y3E (Basic Deduction for Employee)
/Y3G (Spouse Deduction)
/Y3S (Old Age Deduction)
/Y3T (Handicap Deduction)
/YSG (Single Parent Deduction)
/Y5T (Donation Deduction)
/Y4C (Insurance Deduction)
/Y70 (Housing Deductions)
/Y7M (Overseas Income)

This spreadsheet attempts to list out these tax deductions according to category, along with the limits or capping that applies for each deductions. The constants name from T511K or T511P that holds these limits are also listed in the spreadsheet.

Also included in the spreadsheet is a list of cumulation classes and its corresponding technical wagetype that it will generate for non taxable wagetypes.
For example, a non taxable Meal Allowance can be configured by flagged it into /132. After payroll is run, the technical wagetype that is generated is /3N2. This will be reported in the Year End Tax Report as a non taxable income. The constant name and the limit amounts that the system will validate against, is also listed in the spreadsheet.

Korea Payroll : PC00_M41_YEA_LST / Withholding Earned Income Tax List / Page 2 Obligatory or Non Obligatory Non Taxable Allowances

Report Name: Withholding Earned Income Tax List or The Payment List of Withholding Tax

This spreadsheet list out the non taxable allowances/technical wagetypes from SAP Korea Payroll such as 

/3NV - Overseas non taxable
/3NU - Overseas non taxable
/3N3 - Overtime Allowance
/3NA - Childcare
/3NH - Foreigner Salary
/3NI - Foreigner Bonus
/3NJ - Research Allowance K
/3N6 - Reporter Allowance
/4TR - Medical Insurance
/4UR - Long Term Care Insurance
/3N2 - Meal Allowance

that needs to be reported in the Year End Tax Reports. Generally non taxable allowance wagetypes are reported on Page 2 in the Withholding Earned Income Tax List report. It is also separated into two categories - Mandatory or Non Mandatory.

This spreadsheet helps to determine which wagetype will appear in which section within that report. Obligatory or Non Obligatory?

Wednesday, September 3, 2014

What is TKAU**

In PCR, we may need to add all Calendar Days into a Wagetype and deduct certain Absence Types from it.

For example, 31 calendar days in January is first loaded into the variable.
Then we deduct the Absences.
Perhaps we only want to deduct Unpaid Absence and not Annual Leave.

Format: TKAU(XX) where XX is the Valuation Rule in table V_T554C

RTE*KGENAU Multiplication
ADDWT * OT Output table

In V_T554C
AbsValGrp Valuation Rule Description
01               60                    Sick Leave
01               70                    Unpaid Absence

Wednesday, July 9, 2014

ABAP - Solving the problem of field splitting its contents into two columns in Excel

Have you coded a report program that is supposed to populate a field into 1 specific column of an *.CSV or Excel file output but found that the field has split itself into two different columns?

To make matters worst, all the fields or columns in the Excel file appear to shift to the right from this incorrect column onwards.

For my case, the problem lies in the data where there exist a comma.

For example "Project Manager, Water Industry"

Thus the "Project Manager" stays in the expected column but the "Water Industry" appears in the next column.

To solve this problem, I use the REPLACE keyword and replace the comma with SPACE.


Sunday, July 6, 2014

Using TARIF to default IT0008 from IT1005 Planned Compensation

Using the Feature TARIF with return value:-
  1. S (for paygrade check), T710
  2. T (for payscale check), T510
  3. D (for direct check).
  4. 1 (for Payscale)
  5. 2 (for paygrade)
  6. 3 (for Payscale)

These are the tabs in IT1005-planned compensation.

An example configuration would be '  /  /S'

Related information regarding the amounts that are defaulted 
The key is the entry in tables T710 and T710A for the pay grade.  The minimum and maximum amounts are set in T710 and default into IT1005 when you enter the Country, Pay Scale Type, Pay Scale Area, Pay Grade and Level on the first tab (Pay Grade).  In T710A, you set the Message Type and Reduction Rule for the Error, Warning or No message if outside the minimum and maximum for the pay grade and level. 

So your settings in T710A control the warnings.  IT1005 only defaults the Pay Scale Type, Pay Scale Area, Pay Grade and Level.  The minimum and maximum salary amount comes from T710. 

If Feature TARIF is returned with P, then this takes the defaulting from T510.

Thursday, June 26, 2014

Wagetype reporter - Always use ALV output

Note to myself. Whenever using the Wagetype reporter, always select the ALV output option and do not use the List option.

The reason is some Wagetypes that has been entered in the Selections does not appear in the List Output but will appear in the ALV output.

Tuesday, May 20, 2014

Error while positioning ABWKONTI. Quota could not be positioned

Error while positioning ABWKONTI
04A200603    0002010120420101204#Ā#
Quota could not be positioned:
2006 03 04.12.2010 04.12.2010
Relative day in period: 04 201012
Quota used/quota entitlement to be accounted: 1.00000
Person rejected: 00211460

This problem could arise when the employee's Date of Hiring was changed after the Time Evaluation has run. As a result, the WPBP in the Time Clusters will now be different. Normally if the date of hire has been changed into a date further in future, this would happen.

1) Run program RPUP2D00 to delete data from cluster B2.
Please run these reports in display mode first (do not activate field 'Delete'), so you can check the records which you want to delete.

Enter your USERID in the field Password
There is also another report, RPUP2D10, which will delete all records at once.
2) Afterwards, you have to start RPTIME00 (Time Eval) forcing it to retro calculate based on the new Date of Hire to correct your entries.

Tuesday, May 13, 2014

PT_CLSTB2 - Display Time Eval Clusters

Transaction Code: PT_CLSTB2

This report allows you to view the Time Evaluation Results (B2 Cluster) for an employee. The changed date would indicate when is the Time Eval was last run for an employee.

It is good to track whether Time Eval has run or not for an employee that may cause incorrect payroll results or time quota generation.

Tuesday, April 15, 2014

RPTTDORL - Report to delete trips


This report can be used to delete trips of employees which you can see from transaction PRTE that you do not want.

However this report cannot be run in Production without modification to the underlying ABAP code to comment out the EXIT line with asterisk. It will display a message "Report cannot be run without modification. See report documentation".

Thus in order to run this report in production, a workaround is to use a debugging breakpoint at parameter EXTERN and set it with something instead of it being initial to bypass this check.

Friday, April 4, 2014

S_PH9_46000216 Service Anniversary Report

This report can be configured to report the service anniversary year based on Infotype 0041's Date Type. (DAYTP)

This is done using Feature ENTRY. If you wish for the report to calculate the years of service based on your chosen Date Type, you can configure for example:-


Thursday, February 20, 2014

MSS Service Anniversary's Entry Date is blank or 00.00.0000

In MSS, you execute Entries/Leaving Date, or Service Anniversaries the entry field is displaying 00.00.0000.

However, if you run this from SAP GUI, transaction S_PH9_46000216, the entry field is correctly displaying a date.

As a workaround, you can select All/Current Year in the Period field from the MSS Report Selection Screen.

Currently, the system operates as follows: The modules for the
determination of the respective date (HR_ENTRY_DATE and HR_LEAVING_DATE)
are called up with the key date and not with the start and end date of
the personnel action within which the key date exists. If HR_ENTRY_DATE
doesn't find an entry date on given key date it returns 00.00.0000. This
is an expected system behaviour.
Sometimes this system response is partially not desired, instead, you
want the system to determine the entry date and the date of leaving with
the start and end date of the personnel action within which the key date
exists during a key date selection. Therefore, the attached note 562031
was released.

Implement SAP Note 562031. SAP Note 561514 will reverse the behaviour mentioned in SAP Note 562031

Monday, February 10, 2014

Higher Duties Allowance - Infotype 0509 defaulting of wagetype

Today I debugged Module Pool MP050900 in order to find out the logic sequence behind Infotype 0509 - Activity with Higher Rate of Pay, that defaults the Wagetype to be calculated against the nominal wagetype.

It goes by this sequence:-

1. The Higher Duty Position's Emp Group/Employee Subgroup from HRP1013 is retrieved

2. The values are then run through Feature LGMST using Personnel Area + Emp Group

3. The return value from Feature LGMST is then used to fetch the set of wagetypes from table T539A

4. The Higher Duty Position's Planed Compensation from HRP1005 is read to default the Pay Scale Areas, Pay Scale Type, Pay Scale Group, Pay Scale Level.

5. Finally, the wagetype from T539A along with the Pay Scale Type, Pay Scale Area, Pay Scale Group, Pay Scale Level from Step 4 is used to retrieve the Annual Salary amount from table T510 to be populated in the Infotype 0509 screen.

Tuesday, January 7, 2014

View: V_PTARQ_TCONSTR - Absence Overview / Team Calendar Overview ESS/MSS


Using this view, which is not available in the SPRO nodes, you can control the configuration for Display Previous Leave in Team Calendar up to Maximum where you can decide whether to show the absence from the previous year or only up to the previous month in ESS's Absence Overview or Team Calendar Overview.