sap py
DESCRIPTION
SchemaTRANSCRIPT
Payroll Schemas
Transaction Code: PE01
Menu Path: Human Resources --> Payroll --> Europe --> Great Britain --> 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 the difference 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 is called, 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 to move, delete, copy and insert lines. All the commands are entered in the area used for the line numbers. 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 2 letters - hit the return key after the first 2 letters have been entered or after both sets have been entered.
The most commonly used commands are:
Line Command
Description
D Deletes a line
I Insets 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
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 it to 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 you want 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 during processing.
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/ENDIFThe schema is processed if the condition is fulfilled
Pxxx Processes the information held in infotype xxxx.
ACTIOActio calls a PCR. It is processed, irrespective of whether the wage type exists 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 --> Europe --> Great Britain --> Tools --> Maintenance Tools --> Rules
Common ...
Operation Description
*
The covers all the remaining entries - if you leave the line blank then the WT is dropped. Remember you always have to have an option for *.
ADDCU Cumulates the wage type into the relevant cumulation (/101...) and valuation(/201...) wage types
ADDNA * From the IT Number and Amt are cumulated into the OT. Blank is OT whilst E refers to the RT.
ADDNA 4067 Current Num and Amt are added in to wage type 4067.
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 are currently held in wt 1103
ADDWT&T Adds the current wage type to the variable table as T - which can be used at a later stage
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 wage type to the results table
ADDWTE* Add the current wage type to the results table
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 IT
ADDWTL* Add the current wage type to the results table last payroll (LRT)
ADDWTN Used in XLON
ADDWTN/LRP (Loans - XLON)
AMT- 9023 Subtract amount field from wage type 9023 from Table IT (if wage type 9023 is available.)
AMT-& T Amount minus the value held in variable T
AMT*-1 Amount multiplied by negative 1
AMT*12 Multiply amount by 12
AMT/KPKWPR Amount divided by the constant PKWRP held in table T511K
AMT/KPKWPR Amt is divided by constant PKWPR from table T511K
AMT?0 Compare the value held in the amount field against 0
AMT+ 0001 Add amount field from wage type 0001 from Table IT (if wage type 0001 is available.)
AMT+ 9013 Add amount field from wage type 9013 from Table IT (if wage type 9013 is available.)
AMT+O /ZPO Add Amt from wage type /ZPO into VORT (Summarised ORT)
AMT50 If the amount field value is smaller than 50, it is retained. Otherwise it is set at 50 (forming a minimum amount).
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 of wage type 2110
AMT= PKWWR Reset the amount on wage type xxxx to that held in the value for KWWR held in T511K
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=E * Lets the Amt = the Amt held for the current wage type in the RT
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) to specific loan payment wage type
AMT=N /LRP Add the amount value in technical loan wage type /LRP (loan repayment) to specific loan repayment wage type
AMT=ZERO Reduce the value in the amount field to zero
AMT-1 Multiply the amount by -1 - I think this should be subtract 1 from the amt
AMT-K43301 Take the value held against payroll constant 43301 from the annual salary
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* Subtraction to 0 (not negative) for the current wage type
AMTS* 9013Subtraction 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
D Expect a decision in this line
D VWTCL 01 Make a decision on processing class 1
D AMT?0 The amount field value is compared with 0, and the result ('>', '=' or '<') is placed in the variable key.
DIVID ARA Divide the value in amount field by the value in the rate field and put the result in the amount
field
ELIMI * Eliminate all splits
ELIMI A Eliminate splits - work center period (WPBP)
ELIMI K Eliminate splits - cost accounting
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 NRA Restore the original values for NRA - ie. The values that were held in the WT before any processing in this rule
GCY ZUM2 Call PCR ZUM2
MEANV 01
MESSGxxxxx Can use a 5 character message. Comes up whether the log is turned on or off. 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 employee grouping
MODIF A=01 Sets the modifier for the absence valuation rule (T544C) to 01
MULTI ARA Multiply the value in amount field by the value in the rate field and put the result in the amount field
NEXTR
Process the next line. Placing an * in under the last column in the operation column has the same effect as "nextr". Remember to put a letter or number in the next line under the NL column.
NEXTR A Continuation line. A...Z followed by 0...9
NUM*1.5 Multiply the value in the number field by 1.5
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 in the WT being processed
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 the NUM value of the WT being processed
NUM= 3000 Set the current NUM to the value held in wage type 3000
NUM= ANZHL Num = number
NUM= EMPCT NUM = Capacity utilization level from P0007 (called record layout fields in SAP Help)
NUM=0 Set the number field to zero
NUM=39 Store 39 in the number field
NUM=E /SSP Set the NUM = the value of /SSP held in the results table
NUM=GSDIVP See part period paramter help
NUM=TSAU** See part period paramter help
NUM=YCURPP Set the NUM = current payroll period (?)
NUM-51 Reduce the hours held in the number field by 51
OPIND Evaluates operation indicator - used immediately after a database record has 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
OUTWPWWEEK Load Work Center and Basic Pay Data - working week from IT 0007
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 payroll period
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
PRINT Prints the IT
PRINT& WTG Prints WTG from the variable table
PRINTL Prints out the contents of the old results table (LRT)
PRINTO Prints the summarised ORT (VORT)
PRINTC Prints the contents of the CRT
PRINTE Prints the contents of the RT
R Employee work centre is inactive, therefore do nothing
RESET R
Resets R - is the opposite of ELIMI. Reset * - resets all the split indicators. Give the meaning of all the other variables elsewhere in the document.
RETRO Checks if the payroll run is a retroactive accounting run
ROUND Rounds off the AMT field - see SAP help for specifics
ROUNDG Rounds off the AMT field - see SAP help for specifics
ROUNDA Rounds off the NUM field - see SAP help for specifics
ROUNDB Rounds off the RTE field - see SAP help for specifics
RTE*100 Multiply percentage held in rate field by 100
RTE*KGENAU Multiply the value in the rate field by the payroll constant GENAU (10,000).
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/TSDIVI Divide the value in the rate field by the worked hours for pay period being processed.
RTE/TSDIVP RTE/ total working time measured in working hours
RTE=0 Set the rate field to zero
RTE=10000 Store 10000 in the rate field of wage type xxxx
RTE=K30551 Store the value held against payroll constant 30551 in table T511 in the rate field of wage type xxxx
RTE=KGENAU RTE set to the value of GENAU from table T511K (default set at 10 000)
RTE=TKSOLL Store the planned calendar days in the rate field of technical wage type /801
RTE=TSAU07 RTE = unpaid absence measured in working hours for counting class 07
RTE=TSSOLL RTE = planned working time measured in working hours
RTE=ZERO Reduce the value in the amount field to zero
RTE-TKAU** Take away any unpaid absence, in calendar days, from the planned calendar days
RTE-TSAU** Take away any unpaid absence, in worked hours, from the planned worked hours
SCOND=F IF The condition for function IF is false
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 split is to be increased by 1 by every call.
SUBRC=0 Set and query the return code as 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.
SUBWTD* Subtracts the current wage type (sign change) of the NRA in the difference table (DT)
SUBWTE* Subtracts the current wage type (sign change) of the NRA in the results table (RT)
TABLE 508A Shifts / time groups
TABLE 510P Premium table
TABLE 512W Valuation of wage types
TABLE 528B Positions table in PA
TABLEALP Table query on the Alternative Payments table
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
VAKEYLNCLS Place in the variable key - loan type
VAKEYLNTPY Place in the variable key - loan type P0045
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 in the 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
VALBS? The system checks to see whether a valuation base exists
VALBS1
Replaces the current wage type with the statement wage type that is entered in table T512W for the second wage type derived from the current wage type, and then you want to valuate this using the corresponding valuation basis.
VALEN 2 Sets the length of the variable key to 2
VAOFF 2Variable offset - set here to 2. The system with then ignores the first 2 digits.
VWTCL 64 Interrogate processing class 64
WGTYP? Usually part of a decision - where the wage type is queried
WPALL?LASTDecide if employee has had a pay change in pay period & if the one being processed is the last
Z Expect to call another PCR in this line
ZERO= AN Sets the AMT and NUM 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 function IMPRE with paremter NN (NN periods before current payroll period). Also have a look at the documentation of IMPRE.
An example in using this function 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