Schemas & PCRs
-
Upload
khushbu-dave -
Category
Documents
-
view
366 -
download
7
Transcript of Schemas & PCRs
-
8/10/2019 Schemas & PCRs
1/25
Payroll Schemas and Personnel Calculation Rules (PCR's)
Transaction Code: PE01
Menu Path: Human Resources --> Payroll -> Tools --> Maintenance Tools -> Schemas
Double-clicking on a sub-schema will take you to the maintenance screen for that schema.
Double-clicking on any of the rules (PCR's) will take you to the rule editor. You can tell thedifference between sub-schemas a rules by looking at the parameters. The name of the sub-schema can be found in the Par 1 column. The main schema generally calls all the different
sub-schemas. The sub-schemas will then call the payroll rules. In most cases, when a rule iscalled, there will be parameters in the Par 2 or Par 3 columns.
In the main, most sub-schemas are called by the "copy" command.
Schemas, rules and features in SAP use the following line editor commands. This allows you tomove, delete, copy and insert lines. All the commands are entered in the area used for the linenumbers. Overwrite any of the numbers with the commands shown below. For the commands
using 1 letter - hit the return key once you have entered the letter. For the commands using 2letters - hit the return key after the first 2 letters have been entered or after both sets have beenentered.
The most commonly used commands are:
Line Command Description
D Deletes a line
I Inserts a line
M Moves a line
C Copies a line
DD Indicates the start of a block to be deleted
DD Indicates the end of a block to be deleted
CC Indicates the start of a block to be copied
CC Indicates the end of a block to be copied
http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=72405http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=72405 -
8/10/2019 Schemas & PCRs
2/25
MM Indicates the start of a block to be moved
MM Indicates the end of a block to be moved
Once you have chosen the block to move or copy, you need to show where to move or copy itto in the schema. The following commands indicate where you can copy or move the lines to.
Line Command Description
A Places the block after the chosen line
B Places the block before the chosen line
Remember when calling the PCR from the schema: GEN means that the wagetype is **** i.e.you haven't specified one and NOAB means that it will look at any EE Sub-Grouping. If youwant the rule to use specific wage types or groupings, then leave either blank.
Use the print option and VAR (PAR 2) in the schema to output the variable table duringprocessing.
Position is very important for schemas. Look to see where a similar piece of processing has
taken place. If in doubt, place the rule after the similar data has been read and processed.
Commonly used Functions
Function Description
PIT Process Input Table
PRT Process Results Table
COPY Calls a schema placed in PAR1.
BLOCK Defines the start and end of a nested node
IF/ELSE/ENDIF The schema is processed if the condition is fulfilled
Pxxx Processes the information held in infotype xxxx.
-
8/10/2019 Schemas & PCRs
3/25
ACTIO Actio calls a PCR. It is processed, irrespective of whether the wage typeexists or not.
Commonly used Parameters
Parameter Description
GEN Process any wage type
9000 Processes only wage type 9000
NOAB Process for any EE sub-group groupings
1 Processes the rule only for EE sub-group grouping of 1
Payroll PCR's
Transaction Code: PE02
Menu Path: Human Resources --> Payroll -> Tools --> Maintenance Tools -> Rules
Commonly used operations in payroll configuration
Operation Description
* This covers all the remaining entries not already specified. If you leave theline blank for the operation then the WT is dropped. Remember you alwayshave to have an option for * in your PCR.
ADDCU Cumulates the wage type into the relevant cumulation (/101...) andvaluation(/201...) wage types
{*}ADDNA ** From the IT, Number and Amt are cumulated into the OT. Blank is OTwhilst E refers to the RT.
ADDNA 4067 Current Num and Amt are added in to wage type 4067.
ADDWSE9N03 This operation is very similar to ADDWT. The only difference is that it writesthe value to table V0 as well
-
8/10/2019 Schemas & PCRs
4/25
ADDWSI* Store the current wage type in the IT.
{*}ADDWT ** Store wage type in IT/OT
ADDWT 1103 All the current values for amt, num and rte are added to the values that arecurrently held in wt 1103
ADDWT&T Adds the current wage type to the variable table as T - which can be usedat a later stage
ADDWTA* The values in the wage type are copied to the previous employer table VAG- called in the rules XDPI, XDPR & XDPT
ADDWTC* The values in the current wage type are added into the CRT
ADDWTC/101 The values in the current wage type are added into the CRT for thetechnical wage type /101
ADDWTD* The values in the current wage type are added into the Difference table DT
ADDWTD/551 The values in the current wage type are added into the difference table DTfor the technical wage type /551
ADDWTD/APO Add the current wage type to the difference table (DT)
ADDWTE Store amount in Results Table (RT) - difference with line below
ADDWTE* Add the current wage type to the results table RT
ADDWTE/101 Add the current wage type to the results table as /101
ADDWTH/201 Add the current wage type to the old results table (ORT) as wage type /201
ADDWTI* Add the current wage type to the input table IT
-
8/10/2019 Schemas & PCRs
5/25
ADDWTI/101 The values in the current wage type are added into the input table IT for thetechnical wage type /101
ADDWTL* Add the current wage type to the results table last payroll (LRT)
ADDWTN Used in XLON
ADDWTN/LRP (Loans - XLON)
ADDWTW Add the current wage type to the wage maintenance table
AMT- 9023 Subtract amount field from wage type 9023 from Table IT (if wage type
9023 is available.)
AMT%33.33 Multiply the amount by 33.33%
AMT%KSAPRO Multiply the amount by the value SAPRO held in table T511k
AMT-& T Amount minus the value held in variable T
AMT-1{*} Amount multiplied by negative 1
AMT*12 Multiply amount by 12
AMT*KGENAU Multiply the amount by the constant GENAU held in table T511k. GENAU is
used to factor up by 4 or 5 factors of 10 to avoid the issue of errors causedby rounding.
AMT-.04 Subtract 0.4 from the amount field
AMT/2 Divide the amount by 2
AMT/KGENAU Divide the amount by the factor GENAU held in the constants table T511k
AMT/KPKWPR Amount divided by the constant PKWRP held in table T511K
-
8/10/2019 Schemas & PCRs
6/25
AMT/KZF001 Amount is divided by constant ZF001 from table T511K
{*}AMT? ** Compare the value held in the amount field for all wage types
AMT? /GPY Compare the value held in the amount field for wage type /GPY
AMT?& ZAPR Compare the value held in the amount field against the constant ZAPR
AMT?0 Compare the value held in the amount field against 0
AMT?E /167 Compare the amount against the value of the amount held in the results
table RT for wage type /167
AMT?IGRUEB Compare the current amount against the limit held for the bank transfer
AMT+ /564 Add the amount from wage type /564 from the IT
AMT+ 0001 Add amount field from wage type 0001 from Table IT (if wage type 0001 isavailable.)
AMT+ 9013 Add amount field from wage type 9013 from Table IT (if wage type 9013 isavailable.)
AMT+& ZSAP Add the value held in the variable ZSAP to the amount for the current wagetype being processed
AMT+E 910B Add the current amount to the RT and place in wage type 910B
AMT+O /ZPO Add Amt from wage type /ZPO into VORT (Summarised ORT)
AMT< /562 Checks whether the currently held amount is less that that held in the wagetype /562
{*}AMT= ** This sets the amount = zero for the wage type in question
-
8/10/2019 Schemas & PCRs
7/25
AMT= /111 Store the value in the amount field of wage type /111 in the amount field of
wage type 2110
AMT= 1000 Store the value in the amount field of wage type 1000 in the amount field ofwage type 2110
AMT= BETRG Let the amount equal the value held in the BETRG (amount) field for thewage type in question
AMT= PKWWR Reset the amount on wage type xxxx to that held in the value for KWWRheld in T511K
AMT= PLANS Sets the amount = position number
AMT=& /426 Set the amt = amt held on technical WT /426
AMT=& TASA Reset the amount on wage type xxxx to that held in the temporary wage
type TASA
AMT=0 Let the amount equal zero
{*}AMT=A ** The amount is set to the value held in the table VAG - previous employeedata
{*}AMT=E ** Lets the Amt = the Amt held for the current wage type in the RT
AMT=E /167 Lets the Amt = the Amt held for technical wage type /167 in the RT
AMT=KSAPLR Set the amount = the value SAPLR held in table T511k
{*}AMT=L ** Lets the Amt = the Amt held for the current wage type in the LRT - lastresult table
AMT=L /561 Lets the Amt = the Amt held for the wage type /561 in the LRT - last resulttable
-
8/10/2019 Schemas & PCRs
8/25
AMT=N /LBB Add the amount value in technical loan wage type /LBB (loan balance) to
specific loan balance wage type
AMT=N /LOP Add the amount value in technical loan wage type /LOP (loan payment) tospecific loan payment wage type
AMT=N /LRP Add the amount value in technical loan wage type /LRP (loan repayment) tospecific loan repayment wage type
AMT=Q /GPY Lets the Amt = the Amt held for the wage type /561 in the OCRT - oldcumulative result table
AMT=ZERO Reduce the value in the amount field to zero
AMT>* "Maximum formation: The greater value of * and the current value of theAMT field is determined and written to the current AMT field."
AMT-1 Multiply the amount by -1 - I think this should be subtract 1 from the amt
AMT50 If the amount field value is smaller than 50, it is retained. Otherwise it is setat 50 (forming a minimum amount).
AMT-E /167 Subtract the Amt value held in the RT for /167 from the currently storedamount
AMT-K43301 Take the value held against payroll constant 43301 from the annual salary
AMT-O /167 Subtract the Amt value held in the ORT for /167 from the currently storedamount
AMT-R 9019 Amt for the current wage type less the value held in the RT for 9019(Results wage types using exact splits)
AMTS /564 Subtraction to zero - the value cannot be less than zero.
AMTS* Subtraction to 0 (not negative) for the current wage type
-
8/10/2019 Schemas & PCRs
9/25
AMTS* 9013 Subtraction to 0 (not negative). Current wage type less 9013
AMTSE 9043 Subtraction to 0 (not negative). Current wage type less Amt held in the RT
for wage type 9043
BTREC /558 "Sets the recipient data for bank transfers. Can only be run after banktransfer data has been read from an infotype. Data on wage type andamount are transferred from the current fields (OT) and retained in thetransfer table together with data on the recipient of the record last read."
CMPER 0510 Compares the current amount with that held for period 10 in year 05.
D Expect a decision in this line
D AMT?0 The amount field value is compared with 0, and the result ('>', '=' or '
-
8/10/2019 Schemas & PCRs
10/25
ELIMI KTX Eliminate the splits for cost accounting, alternative payments and variableassignment
ELIMI R Eliminate splits - employee sub-group grouping for PCRs
ELIMI T Eliminate splits - alternative payments (ALP)
ELIMI U Eliminate splits - bank transfer (BT)
ELIMI X Eliminate splits - variable assignment
ELIMI Y Eliminate splits - absence assignment
ELIMI Z Eliminate splits - time unit
ERROR Processing terminates for the current employee
FILLF A Restore the original values for the amount - i.e. The values that were heldfor the amount field in the WT before any processing in this rule
FILLF N Restore the original values for the number - i.e. The values that were held
for the number field in the WT before any processing in this rule
FILLF NRA Restore the original values for the number, rate and amount - i.e. Thevalues that were held for the number, rate and amount fields in the WTbefore any processing in this rule
FILLF R Restore the original values for the rate - i.e. The values that were held inthe WT before any processing in this rule
GBVRT "GB specific processing of AWE operation GB specific operation tooverwrite the average RATE of wage type /MAE in table RT in case of aretro calculation."
GCY ZUM2 Call PCR ZUM2
-
8/10/2019 Schemas & PCRs
11/25
GCYGXALQ Calls PCR XALQ for all wage types - sets wage type to ****
GEWRT Elimination of WPBP split in the RT
GSXP2 New Changes Across End of Year solution active for GBSXP phase 2
GSXPD Check on Implementation Date of AVERA for SxP AWE. Called in GG70
and ensures that the old and new technical wage types for averages don'tboth exist.
LRTST Y Evaluates the status of the LRT table. Processing is only continued if theprevious month falls in the current year.
MEANV 01 Calculation of averages for 01 (from table T511A)
MEANVG03 Calcualation of averages for 03 (from table T511A) - not sure what the Gimplies
MESSGxxxxx Can use a 5 character message. Comes up whether the log is turned on oroff. Can be used as a customised error message.
MODIF 1=02 Sets the modifier for Wage type generation (T510S) to 02 as the employee
grouping
MODIF 2=01 Sets the modifier for Constant valuations (T510J) to 01 as the employeegrouping
MODIF A=01 Sets the modifier for the absence valuation rule (T544C) to 01
MULTI ANN Multiply the amount by the number and store as the number field for thewage type
MULTI NRA Multiply the value in number field by the value in the rate field and put theresult in the amount field
NEXTR Process the next line. Placing an * in the last column in the operationcolumn has the same effect as "nextr". Remember to put a letter or number
-
8/10/2019 Schemas & PCRs
12/25
in the next line under the NL column.
NEXTR A Continuation line. A...Z followed by 0...9 Don't forget to put in the letter
following the NEXTR in the continuation line of the next line.
NEXTR B Continuation line. A...Z followed by 0...9 Don't forget to put in the letterfollowing the NEXTR in the continuation line of the next line.
NUM* BSGRD Multiply the value in the number field by the value held against the capacityutilization level on infotype 0008
NUM*1.5 Multiply the value in the number field by 1.5
NUM/100 Divide the value in the number field by 100
NUM?0 Test the value in the number field against 0
NUM+ 3710 Add the value in the number field of wage type 3710 to the number field inthe WT being processed
NUM+& ZNIL Adds the number held in the temporary variable ZNIL to the currently heldvalue for the number
NUM+39 Add a value of 39 to the number field
NUM+C 3000 Add to the NUM value from wage type 3000 held in the CRT table - to theNUM value of the WT being processed
NUM+E /852 Adds the number held in technical wage type /852 to the currently heldvalue for the number
NUM+TSAP** Adds the number from the partial period parameter for the paid absencemeasured in working hours for xx is the sum of all paid absences (totalledover all classes)
NUM= 3000 Set the current NUM to the value held in wage type 3000
-
8/10/2019 Schemas & PCRs
13/25
NUM= ANZHL Transfers the value of the ANZHL field to the number field.
NUM= BWGRL Sets the number equal to the valuation basis per hour
NUM= EMPCT NUM = Capacity utilization level from P0007 (called record layout fields inSAP Help)
NUM= PLANS Sets the number equal to the position number of the employee
NUM= STDAZ Sets the number equal to the number of hours taken from IT 0007
NUM=& ZSHF Sets the number equal to the number held in the temporary variable ZSHF
NUM=0 Set the number field to zero
NUM=39 Store 39 in the number field
NUM=BJRSTD Sets the number equal to the position number of the employee
NUM=BTGSTD Sets the number equal to the daily hours worked by the employee
NUM=BWOSTD Sets the number equal to the weekly hours worked by the employee
NUM=E /SSP Set the NUM = the value of /SSP held in the results table
NUM=GSDIVP Sets the number equal to the working hours for the employee for the entirepayroll period
NUM=GSSOLL Set the number = planned working time measured in working hours takenfrom the work schedule rule
NUM=TSAU** See part period parameter help (function PARTT)
NUM=TSAX** See part period parameter help (function PARTT)
-
8/10/2019 Schemas & PCRs
14/25
NUM=TSDIVI See part period parameter help (function PARTT)
NUM=WOSTD See part period parameter help (function PARTT)
NUM=YCURPP Set the NUM = current payroll period
NUM-51 Reduce the hours held in the number field by 51
NUM-E /845 Take away the number for technical wage type /845 held in the RT from thecurrently held number
NUM-TSDIVP Current value in the number field less the total working time measured inworking hours taken from the total working time in payroll accounting period
OPIND Evaluates operation indicator - used immediately after a database recordhas been read. Multiplies by -1.
OUTWPABART Load Work Center and Basic Pay Data - payroll area
OUTWPCTYMO Load Work Center and Basic Pay Data - country modifier
OUTWPPAYSB Decide which payroll accounting area the employee is in
OUTWPPERSB Load Work Center and Basic Pay Data - employee sub-group
OUTWPPERSG Load Work Center and Basic Pay Data - employee group
OUTWPPLANT Load Work Center and Basic Pay Data - personnel area
OUTWPPLTSC Load Work Center and Basic Pay Data - personnel sub-area
OUTWPSHIFT Load Work Center and Basic Pay Data - shift indicator
OUTWPTRFAR Load Work Center and Basic Pay Data - pay scale type
-
8/10/2019 Schemas & PCRs
15/25
OUTWPWWEEK Load Work Center and Basic Pay Data - working week from IT 0007
PCY X05D* Runs PCR X05D for all employee subgroup groupings
PCY X93B Runs PCR X93B
PPPAR A Reads part period parameters: leavers during payroll period
PPPAR B Reads part period parameters: paid absences during payroll period
PPPAR E Reads part period parameters: new joiners during payroll period
PPPAR F Reads part period parameters: leavers on the first day of the next payrollperiod
PPPAR P Reads part period parameters: if the time unit for the payroll area isdifferent to the time unit for the pay scale type and area
PPPAR R Reads part period parameters: is the employee is in an active work centre?
PPPAR S Reads part period parameters: basic pay changes during payroll period
PPPAR U Reads part period parameters: for unpaid absences in the period
PRINT Prints the IT
PRINT& WTG Prints WTG from the variable table
PRINTC Prints the contents of the CRT
PRINTE Prints the contents of the RT
PRINTL Prints out the contents of the old results table (LRT)
-
8/10/2019 Schemas & PCRs
16/25
PRINTO Prints the summarised ORT (VORT)
R Employee work centre is inactive, therefore do nothing
R51P1?10N You want to know if there is an entry in table T51P1 with indicator 10 for thecurrent IT wage type. If an entry is found, processing should be continued.
R51P1=01R You want to read the entry in table T51P1 with indicator 01 for the currentIT wage type, and store it in the OT table. If an entry is found it should berejected
R51P6A "Operation R51P6 reads an entry from table T51P6. This table determinesthe characteristics of the deduction wage types. The value of the arrearscharacteristic should be placed in the variable key."
RE510T Read Pay Scale Table - group and level
{*}RESET ** Sets the splits back up again - has the opposite effect to the ELIMI *
operation.
RESET 1 Resets the first national split (/SI)
RESET AR Resets the amount and the rate - is the opposite of ELIMI. Reset * - resetsall the split indicators. Give the meaning of all the other variables elsewherein the document.
RESET KR Resets the cost accounting and employee subgroup grouping values
RESET R Resets R - is the opposite of ELIMI - resets the employee subgroupgroupings for the employee
RETRO Checks if the payroll run is a retroactive accounting run
ROUND Rounds off the AMT field - see SAP help for specifics
ROUND 005 Rounds the AMT field up so that it is divisible by 005
-
8/10/2019 Schemas & PCRs
17/25
ROUND +100 Rounds the AMT field to the next available number
ROUNDA Rounds off the NUM field - see SAP help for specifics
ROUNDB Rounds off the RTE field - see SAP help for specifics
ROUNDG Rounds off the AMT field - see SAP help for specifics
RTE%33.33 Multiply the value held in the rate by 33.33% - so effectively multiply by.3333
RTE-& HALF Subtract the value held in the constant HALF from the rate
RTE* BSGRD Multiply the value held in the rate by the capacity utilization level field oninfotype 0008
RTE-1{*} Multiply the rate by negative 1 - effectively switch the sign for the value
RTE*100 Multiply percentage held in rate field by 100
RTE*KGENAU Multiply the rate by the constant GENAU held in table T511k
RTE*KGENAU Multiply the value in the rate field by the payroll constant GENAU (10,000).
RTE/100 Rate divide by 100
RTE/GKDIVI RTE/ total working time in calendar days
RTE/TADIVI RTE/ total working time in working days
RTE/TASOLL RTE/ planned working time measured in work days
RTE/TKDIVI RTE/ Total working time measured in calendar days
-
8/10/2019 Schemas & PCRs
18/25
RTE/TSDIVI Divide the value in the rate field by the worked hours for pay period beingprocessed.
RTE/TSDIVP RTE/ total working time measured in working hours
RTE?& VLBS Check to see how the current rate compares against the value held in thetemporary variable VLBS
RTE?0 Check to see how the current rate compares against a value of zero
RTE+ 1001 Adds the rate held in wage type 1001 to the currently held rate
RTE+& MM Adds the rate held in the variable MM to the currently held rate
RTE+* Adds the current rate to the IT
RTE+100.00 Adds a value of 100 to the currently held rate
RTE+BBETRG Add the amount from table to the currently held rate
RTE+TKAU10 Add the unpaid absences measured in calendar days for counting class 10
from table T554C
RTE= 1001 Set the rate equal to the value held in the rate field for wage type 1001
RTE= BETRG Set the rate equal to the amount
RTE= BSGRD Set the rate equal to the capacity utilization level held on infotype 0008
RTE= BWGRL Sets the rate equal to the valuation basis per hour
RTE=& AB Sets the rate equal to the value held in the temporary variable AB
RTE=0 Set the rate field to zero
-
8/10/2019 Schemas & PCRs
19/25
RTE=10000 Store 10000 in the rate field of wage type xxxx
RTE=BBETRG Set the rate equal to the amount pulled from the table
RTE=BWOSTD Sets the RTE equal to the weekly hours worked by the employee
RTE=GKSOLL Set the rate as the planned calendar days
RTE=K30551 Store the value held against payroll constant 30551 in table T511 in therate field of wage type xxxx
RTE=KGENAU RTE set to the value of GENAU from table T511K (default set at 10 000)
RTE=TADIVP RTE = Total working time measured in working days
RTE=TASOLL RTE = planned working time measured in work days
RTE=TKDIVI RTE = Total working time measured in calendar days
RTE=TKSOLL Store the planned calendar days in the rate field of the wage type beingprocessed
RTE=TSAU07 RTE = unpaid absence measured in working hours for counting class 07
RTE=TSDIVP RTE = total working time measured in working hours
RTE=TSSOLL RTE = planned working time measured in working hours
RTE=ZERO Reduce the value in the amount field to zero
RTE-GKAU** Rate subtract the part period unpaid absences in calendar days for allunpaid absences (totalled over all absence counting classes)
RTE-TAAU** Rate subtract the part period unpaid absences in working days for all
unpaid absences (totalled over all absence counting classes)
-
8/10/2019 Schemas & PCRs
20/25
RTE-TKAU** Take away any unpaid absence, in calendar days, from the current rate
(totalled over all absence counting classes)
RTE-TKAU20 Take away any unpaid absence, in calendar days, from the current rate (forabsence counting class 20)
RTE-TSAU** Take away any unpaid absence, in worked hours, from the currently heldrate (totalled over all absence counting classes)
SCOND=F IF The condition for function IF is false
SCOND=T AL Set condition for Function LPBEG when the condition is true
SCOND=T IF The condition for function IF is true
SCOND=T IF The condition for function IF is true
SETIN A=01 Set the work center - basic pay split for the wage type as 01
SETIN R=1 Set the ESG for PCR as 1
SETIN X=NX You want to set X with number 01 as a variable split; the number of the splitis to be increased by 1 by every call.
STATU 2P Status field 2 which is valid at the start of the in-period is entered in thevariable key.
SUBRC?SET The return code set in the second example must be evaluated.
SUBRC=0 The internal return code is set to the value 0
{*}SUBWT ** Subtracts the current wage type - effectively changing the sign of the NRA.
SUBWT 1025 Subtracts the current wage type (signs change) and stores it as 1025.
-
8/10/2019 Schemas & PCRs
21/25
SUBWT&ZREG Subtracts the current wage type and stores it as a temporary variable
ZREG.
SUBWTD* Subtracts the current wage type (sign change) of the NRA in the differencetable (DT)
SUBWTD/551 Subtracts the current wage type and stores it in the difference table (DT) asa temporary variable ZREG.
SUBWTE Flicks the sign for NRA of the currently processed wage type and stores itin the RT
SUBWTE* Subtracts the current wage type (sign change) of the NRA and stores in theresults table (RT)
SUBWTE/121 Flicks the sign for NRA of the currently processed wage type and stores itin the RT as technical wage type /121
SUBWTI* Flicks the sign for NRA of the currently processed wage type and stores itin the input table (IT)
SUBWTI/101 Flicks the sign for NRA of the currently processed wage type and stores itin the input table (IT) as technical wage type /101
TABLE 503 Table query on employee groupings / areas
TABLE 508A Table query on shifts / time groups
TABLE 510P Table query on premium table
TABLE 512W Table query on valuation of wage types
TABLE 528B Table query on positions table in PA
TABLEALP Table query on the Alternative Payments table
-
8/10/2019 Schemas & PCRs
22/25
TABLEP0014 Table query on data held in infotype 0014 - recurring payments and
deductions
TABLEP0015 Table query on data held in infotype 0015 - additional payments
VAKEYALZNR Place in the variable key - Y/N alternative payment
VAKEYAUFKZ Place in the variable key - extra pay indicator for overtime
VAKEYBNKSA Place in the variable key - variable keys are held in a certain table
VAKEYBNKSA Place in the variable key - type of bank details P0009
VAKEYLGART Store in the variable key the wage type
VAKEYLNCLS Place in the variable key - loan type
VAKEYLNTPY Place in the variable key - loan type P0045
VAKEYLNTYP Place in the variable key - loan type P0045
VAKEYPAYTY Place in the variable key - payroll type
VAKEYPRAKN Place in the variable key - premium indicator time ITs
VAKEYTGRLE Place in the variable key - variable key is filled out based on the values inthe TRFGR and TRFST fields from the current PZ record
VAKEYVERSL Place in the variable key - clearing key for overtime
VAKEYZEINH Place in the variable key - time unit
VAKEYZLSCH Place in the variable key - payment key for bank transfers
-
8/10/2019 Schemas & PCRs
23/25
VALBS? The system checks to see whether a valuation base exists
VALBS?0 The system checks if a valuation basis is for the current wage type in table
T512W. (That the "0" line of view V_T512_B is read).
VALBS0 The current wage type is evaluated with the valuation basis that is enteredfor the current wage type itself. (That is, the "0" line of view V_512W_B).
{*}VALBS0 ** The system multiplies an entry that already exists in the RTE field for thecurrent wage type with the percentage rate from a line 0 of view V_512Wand then replaces the wage type names of the current wage type with thename of the wage type from the same line in V_512W.
VALBS0 B Same as VALBS0 * with the exception that the data from infotype 2010 isused.
VALBS1 Replaces the current wage type with the statement wage type that isentered in table T512W for the second wage type derived from the currentwage type, and then you want to valuate this using the correspondingvaluation basis.
VALEN 2 Sets the length of the variable key to 2
VALEN 3 Sets the length of the variable key to 3
VAOFF 2 Variable offset - set here to 2. The system with then ignores the first 2
digits.
VARGBINDBW Place the table field "indicator for indirect valuation" in the variable key
VARGBPRAKN Place the table field "premium number" in the variable key
VARGBTRFKZ Place the table field "ES grouping for collective agreement provision" in thevariable key
VWTCL 64 Interrogate processing class 64
-
8/10/2019 Schemas & PCRs
24/25
WGTYP? Usually part of a decision - where the wage type is queried
WGTYP=* Passes through the wage type as unchanged
WPALL?LAST Decide if employee has had a pay change in pay period & if the one beingprocessed is the last
WPBPC Operation WPBPC distributes the amount of the current wage type to theactive WPBP periods in the payroll period.
WPBPCW This operation splits the amounts but does not distribute them to thedifferent periods
Z Expect to call another PCR in this line
ZERO= AN Sets the AMT and NUM to zero
ZERO= RNA Set the values for the rate, number and amount equal to zero
ZERO=& ABCD Initialises the variable ABCD
ZERO=NRA Sets the NUM RTE and AMT to zero
Wishing to retrieve previous payroll period results to be used in a PCR?
You can do so by using the operation IMPRE with parameter NN (NN periods before current
payroll period). Also have a look at the documentation of IMPRE.
An example in using this operation is as follows (reading the period 6 months ago):
D ZERO = NRA IMPRE 6 SUBRC?IMP *
0 AMT = O 1001SETIN A=01SETIN R=3 ZERO= NR ADDWTI1001
Examples:
As above explained Schemas & PCR commands following are the some examples of the PCRswhich state you all how to write a PCRs
Scenario:Company ABC Ltd wants to give a allowance say SAF Allowance monthly. So
following is the policy for that allowance,
SAF Allowance should calculate 15 % on the Basic Salary.
-
8/10/2019 Schemas & PCRs
25/25
Solution:Following is the step we need to do,
Step 1: Create a Wage type say 1570 SAF Allw.
Step 2: Config this WT for IT0014
Step 3: Create Customer specific Constant in Table T511K as ZSUPR and maintain value as
15.
Step 4: Write a PCR as Z026 as follows,
*
****
ADDWT *
3
****
WGTYP?
****
ADDWT *
1570
AMT= 1100
AMT+ 1101
AMT*KZSUPR
AMT/100
ADDWT 1570
Place this in Schema INAL after the PCR XVAL processing.
Note:Here in rule 1100 & 1101 are the base WT on which the calculation will be done for 1570
WT.