<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SAP HR ABAP, HCM Training Material and Tutorials &#187; Payroll</title>
	<atom:link href="http://www.abaphr.com/category/sap-hr/payroll/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.abaphr.com</link>
	<description>SAP HR ABAP, HCM Training Material and Tutorials</description>
	<lastBuildDate>Thu, 02 Feb 2012 18:17:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SAP  Payroll  Schema. Functions , Rules and Operations – An overview</title>
		<link>http://www.abaphr.com/sap-payroll-schema-functions-rules-and-operations-%e2%80%93-an-overview/</link>
		<comments>http://www.abaphr.com/sap-payroll-schema-functions-rules-and-operations-%e2%80%93-an-overview/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 12:32:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Payroll]]></category>
		<category><![CDATA[SAP-hr]]></category>

		<guid isPermaLink="false">http://abaphr.com/?p=833</guid>
		<description><![CDATA[How to read rules and Schemas 1.Structure of relationship in Rules and Schemas: a)Schemas consist of Functions and Sub-schemas b)Some functions have the rules attached to it as one of its parameter c)Rules consist of a set of operations to perform some actions d)Operations and Functions are the executable components As per the diagram Set [...]]]></description>
			<content:encoded><![CDATA[<div><a class="addthis_button" href="//addthis.com/bookmark.php?v=250" addthis:url='http://www.abaphr.com/sap-payroll-schema-functions-rules-and-operations-%e2%80%93-an-overview/' addthis:title='SAP  Payroll  Schema. Functions , Rules and Operations – An overview '><img src="//cache.addthis.com/cachefly/static/btn/v2/lg-share-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0"/></a></div><p><strong><span style="color: #800000;"> </span></strong><span style="color: #ff0000;"><strong>How to read rules and Schemas</strong></span><span style="text-decoration: underline;"><br />
</span></p>
<p><strong>1.Structure of relationship in Rules and Schemas:</strong><br />
a)Schemas consist of Functions and Sub-schemas<br />
b)Some functions have the rules attached to it as one of its parameter<br />
c)Rules consist of a set of operations to perform some actions<br />
d)Operations and Functions are the executable components<br />
<img class="alignnone" src="http://farm4.static.flickr.com/3523/3290389478_55e6f2cc38.jpg?v=0" alt="" width="500" height="333" /><br />
<a href="http://farm4.static.flickr.com/3523/3290389478_55e6f2cc38.jpg?v=0"></a><br />
<span id="more-833"></span>As per the diagram Set of Operations make a Rule which in turn attached to some functions and those functions embedded in Schemas or Sub-schemas (Inside the main schemas) to decide the flow of the payroll program.<br />
<strong><span style="color: #ff0000;">Structure of a Schema:</span><br />
</strong><br />
<img class="alignnone" src="http://farm4.static.flickr.com/3455/3290389498_77a611477a_m.jpg" alt="" width="240" height="77" /><br />
<span style="color: #ff0000;"><strong>Func:</strong></span> This column is used to give a function name.<br />
Par1, Par2, Par3, Par4:<br />
1. Function has maximum four parameters.<br />
2. The function can have zero to four parameters as per the definition of the function.<br />
3. Pressing F4 we can get the list of all the values which can be used as parameters.<br />
4. For some functions in the first parameter is the name of the rule created.<br />
5. These parameter values are predefined the function is being created.<br />
D:<br />
1. This column is used to comment and uncomment a function.<br />
2. If (*) is being put then the line is commented and will not be executed in Payroll processing.<br />
3. If nothing is given then the line would be executable.<br />
Desc<br />
1. In this column description for the function is being used.<br />
<!--adsense#336_280--><br />
<!--adsense#link468_15--></p>
<p><span style="color: #ff0000;"><strong>Functions:</strong></span> Functions are used for;<br />
• Performing some payroll computations (E.g. INEPF function calculates the PF amount of an employee during payroll run)<br />
• Calling rules (E.g. P0045 function calls a rule INLN to compute the loan details of a personnel number).<br />
• Getting data from Infotypes (E.g. P0581 will get the data from Infotype-581 for payroll processing).<br />
• For some decisions. (E.g. IF &amp; ENDIF function is used to execute as per the true and false decisions) etc.</p>
<p><span style="color: #ff0000;"><strong>Rules:</strong></span><br />
Rules are used for holding a set of operations for a particular requirement to be accomplished.</p>
<p><strong>Attributes:</strong><br />
1. Program Class.<br />
a. There are two program classes to be assigned to the rule while creating.<br />
i. Payroll (C).<br />
ii. Time (T).<br />
2. Country Grouping.<br />
a. For Payroll program class the country grouping should be mentioned. (E.g. 40 for India).<br />
b. For Time management rule the country grouping should be (*).<br />
3. Employee Sub-grouping.<br />
a. All the wagetypes have an attribute of employee sub-grouping.<br />
b. It varies client to client.<br />
c. Value 3 means EE sub-grouping is 3.<br />
d. Value * means all EE Sun-groupings.<br />
4. Wagetypes.<br />
a. The wagetype in the internal table which is meant to be processed by the rule.<br />
b. If a value for Wagetype is being given then the particular wagetype is being queried for processing.<br />
c. If **** has been given then all the wagetypes present in the particular internal table will be processed.<br />
<span style="color: #ff0000;"><strong>Structure of the Rule.</strong></span></p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3324/3290389508_bf93b6756b_m.jpg" alt="" width="240" height="201" /></p>
<p><strong>Frequently Used Internal Tables in PY Processing:</strong></p>
<p>The Payroll driver uses lots of internal tables used for storing data temporarily in the program for processing. Some of the important internal tables are:</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3599/3289571307_a491a1e808_m.jpg" alt="" width="240" height="83" /><br />
<strong>The structure of internal tables:</strong></p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3306/3290389536_0aabb21579_m.jpg" alt="" width="240" height="79" /><br />
<strong>EE Sub-grouping:</strong><br />
1. The Wagetype is assigned to a particular Employee sub-group.<br />
2. 3 is a particular employee subgroup for basic pay wagetype.<br />
3. * value means for all EE sub-grouping.<br />
<strong>Wagetype Code:</strong><br />
1. The Wagetype code number is the number assigned to a particular pay component.<br />
<strong>Wagetype Description:</strong><br />
1. The description for the wagetype code.<br />
<strong>NUM:</strong><br />
1. If there is a split for the wagetypes then this NUM field will make them different.<br />
2. If A person&#8217;s basic salary is changed in the mid of the month then the wagetype will be split in two amounts with NUM = 01 and NUM = 02.<br />
<strong>RTE:</strong><br />
1. The RTE column stores a value for;<br />
a. Rate of interest.<br />
b. Number of leave days.<br />
c. Projection factor. Etc.<br />
2. E.g. In the above diagram /401 wagetype has RTE value 10 which is the projection factor used for different calculations.<br />
<strong>AMT:</strong><br />
1. This column possesses the amount of the particular wagetype.</p>
<p><strong>Use of the internal tables:</strong><br />
1. The internal tables are being used for calculations on the NUM, RTE &amp; AMT fields.<br />
2. These internal tables are being read by the rules row by row.<br />
3. The Calculation rule would be only processed for those wagetypes which are specified in the rule&#8217;s source code.<br />
4. The row in the internal table containing the wagetype which has been defined in rule attributes will be placed in the header of the internal table for processing.<br />
5. The processing would be as per the operations used in the rule.</p>
<p><strong>Some important Operations &amp; Functions:</strong></p>
<p><!--adsense#link468_15--></p>
<ul class="unIndentedList">
<li> The editor for Operations and Functions is PE04.</li>
</ul>
<p>• While the payroll driver encounters a function and operation it would call a subroutine written in the payroll driver.<br />
• The subroutine name for the operation will be OP****, Where **** will be the name of the operation.</p>
<ul class="unIndentedList">
<li> For E.g. for Operation AMT the subroutine name would be OPAMT.</li>
</ul>
<p>• The code written for the function will be found as a subroutine in payroll driver as FU****, where **** will be the name of the function.</p>
<ul class="unIndentedList">
<li> For E.g. for function INEPF the subroutine name would be FUINEPF.</li>
</ul>
<p><span style="color: #ff0000;"><strong>Operations:</strong></span></p>
<p><strong>AMT:</strong><br />
1. This Operation would fetch the Amount of the wagetype queried in the rule, in the Variable AMT for processing.<br />
2. The Syntax of the Operation is ZZZOVVVV.<br />
3. ZZZ -&gt; AMT.<br />
4. O -&gt; Operand.<br />
5. VVV -&gt; Value or Variable.<br />
6. For E.g. (AMT= 1000) will fetch the Amount of Wagetype 1000 into AMT.<br />
7. Pressing F1 on the AMT Operation will provide the documentation.</p>
<p><strong>RTE:</strong><br />
1. This Operation would fetch the Rate of the wagetype queried in the rule, in the Variable RTE for processing.<br />
2. The Syntax of the Operation is ZZZOVVVV.<br />
3. ZZZ -&gt; RTE.<br />
4. O -&gt; Operand.<br />
5. VVV -&gt; Value or Variable.<br />
6. For E.g. (RTE= /401) will fetch the Rate of Wagetype /401 into RTE.<br />
7. Pressing F1 on the RTE Operation will provide the documentation.</p>
<p><strong>NUM:</strong><br />
1. This Operation would fetch the Split indicator of the wagetype queried in the rule, in the Variable NUM for processing.<br />
2. The Syntax of the Operation is ZZZOVVVV.<br />
3. ZZZ -&gt; NUM.<br />
4. O -&gt; Operand.<br />
5. VVV -&gt; Value or Variable.<br />
6. For E.g. (NUM= 1000) will fetch the Split indicator of Wagetype 1000 into NUM.<br />
7. Pressing F1 on the NUM Operation will provide the documentation.</p>
<p><strong>ADDWT:</strong><br />
1. This Operation will append one more row in the internal table (Processed by the rule).<br />
2. After calculating an amount from a particular wagetype the amount can be assigned to another wagetype and append to the internal table.<br />
3. For E.g. ADDWT 2050 will add the NUM, RTE, AMT calculated to the NUM, RTE &amp; AMT of the wagetype 2050.<br />
4. If the Wagetype 2050 is not there before in the internal table then NUM, RTE &amp; AMT would be 0.<br />
5. If any value of these three variables are present before then they will be added to the calculated ones.</p>
<p><strong>Functions:</strong></p>
<p><strong>PIT:</strong><br />
1. This function will read the internal table IT (Input table).<br />
2. The function will hold a rule as first parameter.</p>
<p><strong>PRT:</strong><br />
1. This function will read the internal table RT (Results table).<br />
2. The function will hold a rule as first parameter.</p>
<p><strong>PDT:</strong><br />
1. This function will read the internal table IT (Input table).<br />
2. The function will hold a rule as first parameter.</p>
<p><strong>PORT:</strong><br />
1. This function will read the internal table ORT (Old results table).<br />
2. The function will hold a rule as first parameter.</p>
<p><strong>P0014:</strong><br />
1. This function will read the Infotype 0014 for processing.<br />
2. The function will hold a rule as first parameter.</p>
<p><strong>N.B.</strong><br />
The documentation for all the Operations and Function is being provided, which can be viewed in PE04 (Editor for Operation and Function).<br />
<span style="color: #ff0000;"><strong> </strong></span></p>
<p><span style="color: #ff0000;"><strong>Few examples and live scenarios on writing PCRs related to Time schema.</strong></span></p>
<p><strong>Scenario. 1</strong></p>
<p>The employees in a company accrues 2.5 days of Privilege Leave (PL) per month . But if they go on Unpaid leave (Ex: Education leave) or there is unrecorded absences the accrual entitlement has to be  reduced. Actually if there is more than 10 days of Unpaid Leave and Unrecorded absences per month then the PL earned by an employee during the month is 0 else it is 2.5 Days</p>
<p><strong>Environment </strong></p>
<p><strong> </strong></p>
<p style="text-align: justify;">The organization has gone in for HR-Positive time keeping with clock-times and every employee has specific shift on any given day . The HR team runs time evaluation on a daily basis which basically compares the employee&#8217;s planned work schedule with actual attendance and decides on the employee&#8217;s attendance status . If there is no information from the employees on a working day the system marks him/her unrecorded absence. Also if there is authorized Unpaid leave (Study Leave) the HR Team enters the leave data in to the system</p>
<p><strong>Implementation steps</strong></p>
<p><strong> </strong></p>
<p><strong>Set Up Leave  Type &#8211; Education Leave as Unpaid leave and PL</strong></p>
<p><strong>Set up Time types</strong></p>
<p><strong>Set up PL Quota Configuration</strong></p>
<p><strong>Write PCR for Populating</strong></p>
<p><strong>Solutions Description</strong></p>
<p><span style="color: #ff0000;">Configure Leave types :</span></p>
<p>IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration&#8211;&gt; Absences&#8211;&gt;Absence CatalogàDefine Absence Types</p>
<p>Table : V_T554S</p>
<p>Following Leave types needs to be configured:</p>
<p>Absence  type Code :             0100</p>
<p>Description                            Privilege Leave</p>
<p>Absence type Code :               0401</p>
<p>Description                            Study  Leave</p>
<p><span style="color: #ff0000;">Determine Entry Screens and Time constraint classes</span></p>
<p>IMG Path: Personnel Time ManagementàTime  Data Recording and Administration àAbsencesàAbsence CatalogàDetermine  entry Screens and Time constraint class</p>
<p>Table : V_554S_O</p>
<p>Following Leave types needs to be configured:</p>
<p>Absence  type Code :                 0100<br />
Screen Number                          2001<br />
Att/Abs Indicator                      A<br />
Absence type Code :                 0401<br />
Screen Number                         2000<br />
Att/Abs Indicator                     A</p>
<p><span style="color: #ff0000;">Absence Counting rules</span><br />
IMG Path: Personnel Time ManagementàTime  Data Recording and Administration àAbsencesàAbsence CatalogàAbsence CountingàRules for Absence counting(New)àDefine Counting rules<br />
Table : T556C<br />
Following Counting rules needs to be configured:<br />
Counting rules  :                  100<br />
Description                          Counting rule for PL<br />
Week Days                           Check all the days<br />
Day Types                            Check all Day types<br />
Holiday classes                    Check all Holiday classes<br />
Counting class for PWS        Check all the Counting classes<br />
Daily Work Schedule class   Check all<br />
Planned  Hours=0                Check<br />
Planned Hours &gt; 0               Check<br />
Condition for ATt/Absence  Check only  Full Day<br />
Counting Hours/Days          Quota Multiplier ( 100%)<br />
Rounding Rule                      ZA</p>
<p>Counting rule      :                401<br />
Description                          Counting rule for Study Leave<br />
Week Days                           Check all the days<br />
Day Types                            Check only Day type=0<br />
Holiday classes                    Check only Holiday class = 0<br />
Counting class for PWS        Check all the Counting classes<br />
Daily Work Schedule class   Check all<br />
Planned  Hours=0                Do not check<br />
Planned Hours &gt; 0               Check<br />
Condition for ATt/Absence         Check &lt; 1 day as well as Full day<br />
Counting Hours/Days                 Quota Multiplier ( 100%)<br />
Rounding Rule                             ZA</p>
<p><span style="color: #ff0000;">Assign Counting rules to Absence types</span></p>
<p>IMG Path: Personnel Time Management&#8211;&gt; Time  Data Recording and Administration &#8211;&gt; AbsencesàAbsence Catalog&#8211;&gt;Absence Counting&#8211;&gt;Assign counting rules to absence types<br />
Table : T556C<br />
Counting rules need to be assigned to Absence types<br />
Absence type                      0100<br />
Counting rules  :                 100<br />
Check ‘Quota Deduction’ Check box<br />
Absence type                      0401<br />
Counting rule      :              401<br />
DO NOT check Quota deduction check box</p>
<p><span style="color: #ff0000;">Define Absence quota Types</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Time Quota Types&#8211;&gt;Maintain Absence quota Types<br />
Table : V_T556A<br />
Create Absence Quota Types<br />
Absence quota  type              10<br />
Description                            Privilege Quota</p>
<p><span style="color: #ff0000;">Permit Generation of Quotas in Time Evaluation</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Calculating Absence quota entitlements&#8211;&gt;Automatic accrual of Absence quotas<br />
Table : V_556A_B<br />
Absence quota  type              10<br />
The Radio-button ‘Increase’ needs to be checked</p>
<p><span style="color: #ff0000;">Configure time types :</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Evaluation&#8211;&gt;Time Evaluation settings&#8211;&gt; Define Time types<br />
Table : V_T555A<br />
Following time type needs to be configured:<br />
Time type Code :                   9P01<br />
Description                            PL Quota Accrual Multiplier<br />
Cumulate Day Balance           1<br />
Cumulate Period Balance       1<br />
Time type Code :                   9P18<br />
Description                        Unrecorded Absences During Planned Working Hrs<br />
Cumulate Day Balance           1<br />
Cumulate Period Balance       1<br />
Time type Code :                   9P22<br />
Description                        Late Coming Hours<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance            1<br />
Time type Code :                    9P23<br />
Description                        Early going hours<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1<br />
Time type Code :                    9P24<br />
Description                        Unrecorded Gaps other than Late Coming / Early Going<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1<br />
Time type Code :                   9P26<br />
Description                        Late Coming Hours(Processed)<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1<br />
Time type Code :                   9P27<br />
Description                        Early going hours(Processed)<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1<br />
Time type Code :                   9P28<br />
Description                        Unrecorded Gaps other than Late Coming / Early Going                   (Processed)<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance            1<br />
Time type Code :                   9P35<br />
Description                        Total Unpaid absence in Days<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1<br />
Time type Code :                   9P36<br />
Description                        Total Unrecorded absence in Days<br />
Cumulate Day Balance               1<br />
Cumulate Period Balance           1</p>
<p><span style="color: #ff0000;">Set Base Entitlements</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Calculating Absence quota entitlements&#8211;&gt;Rules for Generating Absence QuotasàSet Base EntitlementsàBase Entitlement for Absence quota generation<br />
Table : V_T559E<br />
Absence quota  type                10<br />
Entitlement (Constant)             2.5 Days<br />
Related to Period                  Time Evaluation Period</p>
<p><span style="color: #ff0000;">Determine Validity &amp; Deduction Period</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Calculating Absence quota entitlements&#8211;&gt;Rules for Generating Absence QuotasàDetermine Validity &amp; Deduction period<br />
Table : V_T559D<br />
Absence quota  type                10<br />
Validity From                      Time Evaluation Period &#8211; Start<br />
Validity End                        Time Evaluation Period-End<br />
Deduction From Date          Validity End + 1 Day<br />
Deduction to Date               Validity End + 999 Months</p>
<p><span style="color: #ff0000;">Define Generation Rules for Quota Selection</span><br />
IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Calculating Absence quota entitlements&#8211;&gt;Rules for Generating Absence QuotasàDefine Generation rules for Quota Selection<br />
Table : V_T559L<br />
Absence quota  type                10<br />
Accrual Period                     Time Evaluation Period<br />
Accrual Entitlement<br />
<span style="color: #ff0000;">Multiplication with Time Balance</span><br />
Period Balance                     9P01 (Time Type)<br />
Transfer Time                      Upon Accrual</p>
<p><span style="color: #ff0000;">Define Quota Deduction rules</span></p>
<p>IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Quota Deduction using attendance/Absence&#8211;&gt;Define Deduction rules Using Attendance/Absence QuotasàDefine Deduction rules using Absence quotas<br />
Table : V_556R_B<br />
Deduction Rule                      100<br />
Absence Quota Type              10<br />
Other Data can be the default values</p>
<p><span style="color: #ff0000;">Assign Deduction rules to Counting rules</span></p>
<p>IMG Path: Personnel Time Management&#8211;&gt;Time  Data Recording and Administration &#8211;&gt;Managing time accounts&#8211;&gt;Quota Deduction using attendance/Absence&#8211;&gt;Define Deduction rules Using Attendance/Absence QuotasàAssign Deduction rules to Counting rules<br />
Table : T556C<br />
Counting Rule                       100<br />
Deduction rule                      100</p>
<p><span style="color: #ff0000;">Describe Absence Valuation rules</span></p>
<p>IMG Path: Payroll International&#8211;&gt;Absences&#8211;&gt;Describe Absence Valuation rules<br />
Table : V_T554L<br />
Create two Valuation rules as follows :<br />
01 Paid Leave<br />
02 Unpaid Leave</p>
<p><span style="color: #ff0000;">Group Absences for Valuation</span></p>
<p>IMG Path: Payroll International&#8211;&gt;Absences&#8211;&gt;Group Absences for Absence Valuation<br />
Table : V_554S_G<br />
Following configuration needs to be done<br />
LeaveType          Description                         Valuation Rule<br />
0100                       Privilege Leave                 01<br />
0401                       Study Leave                       02</p>
<p><span style="color: #ff0000;">Create Counting classes for Absence  Valuation</span></p>
<p>IMG Path: Payroll International&#8211;&gt;Absences&#8211;&gt;Valuation of Absences&#8211;&gt;Create Counting classes&#8211;&gt;Define Counting classes<br />
Table : V_T554E<br />
Following configuration needs to be done<br />
Counting class   Description<br />
01                           Paid Leave<br />
02                           Unpaid Leave</p>
<p><span style="color: #ff0000;">Setup Counting classes for Absence  Valuation</span></p>
<p>IMG Path: Payroll International&#8211;&gt;Absences&#8211;&gt;Valuation of Absences&#8211;&gt;Create Counting classes&#8211;&gt;Set up counting classes for Absence valuation<br />
Table : V_T554C</p>
<p><span style="color: #ff0000;">Following configuration needs to be done</span><br />
AbsValGrpg        Valuation Rule   CC for Absences               Paid (Check Box)               Percentage</p>
<p>01                01                     01                         Check it                        100%</p>
<p>01                02                     02                         Do not Check it                 100%</p>
<p>Write following rules for PL Accrual</p>
<p><strong>Rule ZI01:</strong></p>
<p>This rule is written to compute the Unpaid absence days and store the same in Time type 9P35. In this context whenever an employee avails leave under leave type 0401 these leave days are stored in time type 9P35.This rule should be called by the function PTIP.(Refer Scenario 1)</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="71" valign="top">VAKey</td>
<td width="68" valign="top">NL</td>
<td width="37" valign="top">T</td>
<td width="83" valign="top">Opn1</td>
<td width="122" valign="top">Opn 2</td>
<td width="70" valign="top">Opn3</td>
<td width="70" valign="top">Opn4</td>
<td width="70" valign="top">Opn5</td>
</tr>
<tr>
<td width="71" valign="top"></td>
<td width="68" valign="top"></td>
<td width="37" valign="top">D</td>
<td width="83" valign="top">COLOP*</td>
<td width="122" valign="top">OUTTPABTYP</td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
<tr>
<td width="71" valign="top">*</td>
<td width="68" valign="top"></td>
<td width="37" valign="top"></td>
<td width="83" valign="top"></td>
<td width="122" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
<tr>
<td width="71" valign="top">**</td>
<td width="68" valign="top"></td>
<td width="37" valign="top"></td>
<td width="83" valign="top"></td>
<td width="122" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
<tr>
<td width="71" valign="top">***</td>
<td width="68" valign="top"></td>
<td width="37" valign="top"></td>
<td width="83" valign="top"></td>
<td width="122" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
<tr>
<td width="71" valign="top">****</td>
<td width="68" valign="top"></td>
<td width="37" valign="top"></td>
<td width="83" valign="top"></td>
<td width="122" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
<tr>
<td width="71" valign="top">0401</td>
<td width="68" valign="top"></td>
<td width="37" valign="top"></td>
<td width="83" valign="top">HRS/S</td>
<td width="122" valign="top">ADDDB9P35</td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
<td width="70" valign="top"></td>
</tr>
</tbody>
</table>
<p>The rule should be called as follows:</p>
<p>PTIP ZI01<strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong>Rule ZI02</strong></p>
<p><strong><em> </em></strong>This rule moves the unrecorded Absences to 9P36 from 9P63 .(Please refer Scenario 1)</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="70" valign="top">VAKey</td>
<td width="66" valign="top">NL</td>
<td width="37" valign="top">T</td>
<td width="91" valign="top">Opn1</td>
<td width="121" valign="top">Opn 2</td>
<td width="69" valign="top">Opn3</td>
<td width="69" valign="top">Opn4</td>
<td width="69" valign="top">Opn5</td>
</tr>
<tr>
<td width="70" valign="top"></td>
<td width="66" valign="top"></td>
<td width="37" valign="top"></td>
<td width="91" valign="top">HRS=D9P63</td>
<td width="121" valign="top">ADDDB9P36Z</td>
<td width="69" valign="top"></td>
<td width="69" valign="top"></td>
<td width="69" valign="top"></td>
</tr>
</tbody>
</table>
<p>This rule should be called as follows :</p>
<p>ACTIO ZI02</p>
<p><strong>Rule ZI06</strong></p>
<p>This rule is written to compute and Populate the time type 9P01 (PL Quota Multiplier). If period Balance of 9P35 and 9P36 is less than or equal to 10, the rule should move 1 to 9P01 else move 0 to 9P01</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="67" valign="top">VAKey</td>
<td width="58" valign="top">NL</td>
<td width="34" valign="top">T</td>
<td width="93" valign="top">Opn1</td>
<td width="116" valign="top">Opn 2</td>
<td width="93" valign="top">Opn3</td>
<td width="67" valign="top">Opn4</td>
<td width="64" valign="top">Opn5</td>
</tr>
<tr>
<td width="67" valign="top"></td>
<td width="58" valign="top"></td>
<td width="34" valign="top"></td>
<td width="93" valign="top">HRS=D9P35</td>
<td width="116" valign="top">HRS+D9P36</td>
<td width="93" valign="top">HRS+M9P35</td>
<td width="67" valign="top">NEXTR</td>
<td width="64" valign="top"></td>
</tr>
<tr>
<td width="67" valign="top"></td>
<td width="58" valign="top">1</td>
<td width="34" valign="top">D</td>
<td width="93" valign="top">HRS+M9P36</td>
<td width="116" valign="top">HRS?10</td>
<td width="93" valign="top"></td>
<td width="67" valign="top"></td>
<td width="64" valign="top"></td>
</tr>
<tr>
<td width="67" valign="top">*</td>
<td width="58" valign="top"></td>
<td width="34" valign="top"></td>
<td width="93" valign="top">HRS=0</td>
<td width="116" valign="top">ADDDB9P01Z</td>
<td width="93" valign="top"></td>
<td width="67" valign="top"></td>
<td width="64" valign="top"></td>
</tr>
<tr>
<td width="67" valign="top">&lt;</td>
<td width="58" valign="top"></td>
<td width="34" valign="top"></td>
<td width="93" valign="top">HRS=1</td>
<td width="116" valign="top">ADDDB9P01Z</td>
<td width="93" valign="top"></td>
<td width="67" valign="top"></td>
<td width="64" valign="top"></td>
</tr>
</tbody>
</table>
<p>This rule should be called by function ACTIO and should be called just before CUMBT function</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><span style="color: #ff0000;"><strong>Scenario.2 </strong></span></p>
<p><strong>Unrecorded Absences(Late Coming / Early going hours)</strong></p>
<p style="text-align: justify;">The employees have a specific planned work schedule and they need to clock-in to the work place at a particular time and are supposed be in the work spot for a specific number of working hours . If an employee clocks-in later than the planned start time  , then he should be penalized for ‘Late-Coming&#8217; and if an employee clocks-out earlier than the planned work end time then he should be penalized for ‘Early going&#8217;. However there are physically challenged employees who are allowed to clock-out earlier than the planned end time for a specific number of minutes . The penalty for Late-coming or Early-going is not exactly the number of minutes the employee clocked-in late or clocked-out early , but rounded as per the business rules of the Organization. The penalty is in the form of deducting amount from the salary in Payroll , proportional to the ‘Late Coming&#8217; / ‘Early Going&#8217; minutes/ hours .</p>
<p><!--adsense#336_280--><br />
<strong>Environment </strong></p>
<p><strong> </strong></p>
<p style="text-align: justify;">The organization has gone in for HR-Positive time keeping with clock-times and every employee has specific shift . The HR team runs time evaluation on a daily basis which basically compares the employee&#8217;s planned work schedule with actual attendance and decides on the employee&#8217;s attendance status .</p>
<p><strong>Technical Interpretation</strong></p>
<p><strong> </strong></p>
<p style="text-align: justify;">The employee&#8217;s time events are compared with the planned start time and planned end time of the scheduled shift . The time pairs are formed by the system on this basis . Whenever the unrecorded time pair exists with the start time of the time pair as same as start time of the planned shift then the duration of such time pair can be designated as Late Coming Hours . Similarly Whenever the unrecorded time pair exists with the End  time of the time pair as same as End time of the planned shift then the duration of such time pair can be designated as Early Going Hours</p>
<p><strong>Solutions Description</strong></p>
<p><strong><em>Configure time types</em></strong><em> :</em></p>
<p><em> </em></p>
<p><strong><em>IMG Path:</em></strong> <em>Personnel Time Management</em><em>à</em><em>Time  Evaluation</em><em>à</em><em>Time Evaluation settings</em><em>à</em><em> Define Time types</em></p>
<p><em> </em></p>
<p><em>Table : V_T555A</em></p>
<p><em> </em></p>
<p><em>Following time type needs to be configured:</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P18</em></p>
<p><em>Description                                         Unrecorded Absences During Planned Working Hrs</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em>Time type Code :                               9P22</em></p>
<p><em>Description                                         Late Coming Hours</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P23</em></p>
<p><em>Description                                         Early going hours</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P24</em></p>
<p><em>Description                                         Unrecorded Gaps other than Late Coming / Early Going </em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P26</em></p>
<p><em>Description                                         Late Coming Hours(Processed)</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P27</em></p>
<p><em>Description                                         Early going hours(Processed)</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P28</em></p>
<p><em>Description                                         Unrecorded Gaps other than Late Coming / Early Going                                                                                   (Processed)</em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em>Time type Code :                               9P63</em></p>
<p><em>Description                                         Temporary Time type used as variable </em></p>
<p><em>Cumulate Day Balance                  1</em></p>
<p><em>Cumulate Period Balance             1</em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><strong><em>Configure Rounding Rule</em></strong></p>
<p><em> </em></p>
<p><strong> </strong></p>
<p><strong><em>IMG Path:</em></strong> <em>Personnel Time Management</em><em>à</em><em>Time Data Recording and Administration</em><em>à</em><em> </em><em>Absences</em><em>à</em><em> </em><em>Absence Catalog</em><em>à</em><em> Absence Counting</em><em>à</em><em> Rules for absence counting</em><em>à</em><em> DefineRounding rules for counted absences</em></p>
<p>Table : V_T559R</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="62" valign="top">Rule</td>
<td width="83" valign="top">Name</td>
<td width="61" valign="top">Seq No</td>
<td width="64" valign="top">Lower Limit</td>
<td width="66" valign="top">Include Flag</td>
<td width="64" valign="top">Upper Limit</td>
<td width="66" valign="top">Include Flag</td>
<td width="65" valign="top">Target Value</td>
<td width="61" valign="top">Roll</td>
</tr>
<tr>
<td width="62" valign="top">ZN</td>
<td width="83" valign="top">Late Coming Rounding   Rule</td>
<td width="61" valign="top">001</td>
<td width="64" valign="top">0</td>
<td width="66" valign="top"></td>
<td width="64" valign="top">0.5</td>
<td width="66" valign="top">Y</td>
<td width="65" valign="top">0.5</td>
<td width="61" valign="top"></td>
</tr>
<tr>
<td width="62" valign="top">ZN</td>
<td width="83" valign="top">Late Coming Rounding Rule</td>
<td width="61" valign="top">002</td>
<td width="64" valign="top">0.5</td>
<td width="66" valign="top"></td>
<td width="64" valign="top">1.0</td>
<td width="66" valign="top">Y</td>
<td width="65" valign="top">1.0</td>
<td width="61" valign="top"></td>
</tr>
</tbody>
</table>
<p><strong><em>Set Time type determination </em></strong></p>
<p><strong><em>IMG Path:</em></strong> <em>Personnel Time Management</em><em>à</em><em>Time  Evaluation</em><em>à</em><em>Time Evaluation with clock times</em><em>à</em><em> </em><em>Time data processing</em><em>à</em><em> Set Time Type Determination</em></p>
<p>Table : V_T555Z</p>
<p>The time type 9P18 has been configured as Unrecorded absence during planned working hours</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3501/3290389560_d71fe8d186_m.jpg" alt="" width="240" height="120" /></p>
<p><strong><em>Configure Maximum  Early Going hours for Handicapped employees </em></strong></p>
<p><strong><em>(Payroll Constant : ZIT01)</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em>IMG Path:</em></strong> <em>Personnel Time Management</em><em>à</em><em>Time  Evaluation</em><em>à</em><em>Time Evaluation with clock times</em><em>à</em><em> Time in lieu &amp; split leave </em><em>à</em><em> Maintain Constant</em></p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3475/3290389584_bf5b01d4e1_m.jpg" alt="" width="240" height="122" /></p>
<p><strong><em> </em></strong></p>
<p><strong><em>Maintain Master data  for Handicapped employees </em></strong></p>
<p><strong><em> </em></strong></p>
<p>For handicapped employees through Master data maintenance ‘Additional Indicator&#8217; in Infotype 50 need to be maintained as ‘1&#8242; .</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3355/3289571361_8ac307315f_m.jpg" alt="" width="240" height="201" /></p>
<p><strong><em>Write following rules for computing the Late coming / Early going / Unrecorded gaps</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong>Rule ZI03:</strong></p>
<p>This rule is written to segregate the Late coming . Early going and other unrecorded gaps separately and also move the late coming hours to the time type 9P22. If the pair is early going pair the rule branches off to sub rule ZI05 and if the pair is unrecorded gaps then the rules branches off to sub rule ZI04</p>
<p>This rule is called by the function PTIP .</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3357/3290389616_42c9980a8d_m.jpg" alt="" width="210" height="240" /></p>
<p><strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong>Rule ZI04</strong></p>
<p><strong><em> </em></strong>This rule moves the unrecorded gap hours to the time type 9P24.This rule is called by the rule ZI03</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3432/3290389632_42c9980a8d_m.jpg" alt="" width="240" height="174" /></p>
<p><strong>Rule ZI05.</strong></p>
<p>This rule basically computes the early going hours . For handicapped employees this rule checks against the allowed limit of early going hours by looking at the Payroll constant ZIT01 . If the actual early going hours is less than the allowed hours then the early going is ignored else the hours of the time pair is passed onto the time type 9P23 .This rule is called by the rule ZI03</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3653/3289571409_91b41b4be0_m.jpg" alt="" width="220" height="240" /></p>
<p><strong>Rule ZI13</strong></p>
<p style="text-align: justify;">This rule rounds off the late coming and early going hours and also ensures that sum of Early going , Late coming and unrecorded gaps does not exceed the planned working hours .The rounded and processed Late coming Days, Early Going days and Unrecorded gap days are stored in the time types 9P26, 9P27 and 9P28 respectively. Finally sum of 9P26, 9P27 and 9P28 is passed on to the time wage type 9T28 for deduction of salary in Payroll.</p>
<p>This rule is called by the function ACTIO</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3175/3290389690_b27eab9a97_m.jpg" alt="" width="240" height="121" /></p>
<p>Both these rules (ZI03 and ZI13) should be called in schema TM00 after the function TIMTP.</p>
<p><!--adsense#link468_15--></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.abaphr.com/structural-authorizations-in-sap-hr-with-gotchas/" title="Structural Authorizations in SAP HR with gotchas">Structural Authorizations in SAP HR with gotchas</a></li><li><a href="http://www.abaphr.com/wage-type-configuration-in-sap-hr/" title="Wage Type Configuration in SAP HR">Wage Type Configuration in SAP HR</a></li><li><a href="http://www.abaphr.com/gl-account-configuration/" title="G/L account Configuration in SAP">G/L account Configuration in SAP</a></li><li><a href="http://www.abaphr.com/new-personnel-sub-area-creation-and-relevant-groupings-configurations/" title="New Personnel sub area creation and relevant groupings configurations.">New Personnel sub area creation and relevant groupings configurations.</a></li><li><a href="http://www.abaphr.com/garnishment-in-sap/" title="Garnishment in SAP">Garnishment in SAP</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.abaphr.com/sap-payroll-schema-functions-rules-and-operations-%e2%80%93-an-overview/feed/</wfw:commentRss>
		<slash:comments>91</slash:comments>
		</item>
	</channel>
</rss>

