You are on page 1of 17

SAP HR Payroll Schemas and Personnel Calculation Rules

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 (PCRs) 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 subschema can be found in the Par 1 column. The main schema generally calls all the different subschemas. 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 D I M C DD DD CC CC MM MM Deletes a line Inserts a line Moves a line Copies a line Indicates the start of a block to be deleted Indicates the end of a block to be deleted Indicates the start of a block to be copied Indicates the end of a block to be copied Indicates the start of a block to be moved Indicates the end of a block to be moved Description

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 A B Description Places the block after the chosen line Places the block before the chosen line

Remember when calling the PCR from the schema: GEN means that the wagetype is **** i.e. you havent 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 PIT PRT COPY BLOCK Process Input Table Process Results Table Calls a schema placed in PAR1. Defines the start and end of a nested node Description

IF/ELSE/ENDIF The schema is processed if the condition is fulfilled Pxxx ACTIO Processes the information held in infotype xxxx. Actio calls a PCR. It is processed, irrespective of whether the wage type exists or not.

Commonly used Parameters Parameter GEN 9000 NOAB 1 Process any wage type Processes only wage type 9000 Process for any EE sub-group groupings Processes the rule only for EE sub-group grouping of 1 Description

Payroll PCRs Transaction Code: PE02 Menu Path: Human Resources Payroll Europe Great Britain Tools Maintenance Tools Rules Commonly used operations in payroll configuration Operation Description This covers all the remaining entries not already specified. If you leave the line blank for the operation then the WT is dropped. Remember you always have to have an option for * in your PCR. Cumulates the wage type into the relevant cumulation (/101...) and valuation(/201...) wage types From the IT, Number and Amt are cumulated into the OT. Blank is OT whilst E refers to the RT. Current Num and Amt are added in to wage type 4067. This operation is very similar to ADDWT. The only difference is that it writes the value to table V0 as well Store the current wage type in the IT. Store wage type in IT/OT All the current values for amt, num and rte are added to the values that are currently held in wt 1103 Adds the current wage type to the variable table as T - which can be used at a later stage The values in the wage type are copied to the previous employer table VAG - called in the rules XDPI, XDPR & XDPT The values in the current wage type are added into the CRT The values in the current wage type are added into the CRT for the technical wage type /101 The values in the current wage type are added into the Difference table DT The values in the current wage type are added into the difference table DT for the technical wage type /551 Add the current wage type to the difference table (DT)

ADDCU ADDNA * ADDNA 4067 ADDWSE9N03 ADDWSI* ADDWT * ADDWT 1103 ADDWT&T

ADDWTA* ADDWTC* ADDWTC/101 ADDWTD* ADDWTD/551 ADDWTD/APO

ADDWTE ADDWTE* ADDWTE/101 ADDWTH/201 ADDWTI* ADDWTI/101 ADDWTL* ADDWTN ADDWTN/LRP ADDWTW AMT- 9023 AMT%33.33 AMT%KSAPRO AMT-& T AMT*-1 AMT*12 AMT*KGENAU AMT-.04 AMT/2 AMT/KGENAU AMT/KPKWPR AMT/KZF001 AMT? * AMT? /GPY

Store amount in Results Table (RT) - difference with line below Add the current wage type to the results table RT Add the current wage type to the results table as /101 Add the current wage type to the old results table (ORT) as wage type /201 Add the current wage type to the input table IT The values in the current wage type are added into the input table IT for the technical wage type /101 Add the current wage type to the results table last payroll (LRT) Used in XLON (Loans - XLON) Add the current wage type to the wage maintenance table Subtract amount field from wage type 9023 from Table IT (if wage type 9023 is available.) Multiply the amount by 33.33% Multiply the amount by the value SAPRO held in table T511k Amount minus the value held in variable T Amount multiplied by negative 1 Multiply amount by 12 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 caused by rounding. Subtract 0.4 from the amount field Divide the amount by 2 Divide the amount by the factor GENAU held in the constants table T511k Amount divided by the constant PKWRP held in table T511K Amount is divided by constant ZF001 from table T511K Compare the value held in the amount field for all wage types Compare the value held in the amount field for wage type

/GPY AMT?& ZAPR AMT?0 AMT?E /167 AMT?IGRUEB AMT+ /564 AMT+ 0001 AMT+ 9013 AMT+& ZSAP AMT+E 910B AMT+O /ZPO AMT< /562 AMT= * AMT= /111 AMT= 1000 AMT= BETRG AMT= PKWWR AMT= PLANS AMT=& /426 AMT=& TASA AMT=0 AMT=A * Compare the value held in the amount field against the constant ZAPR Compare the value held in the amount field against 0 Compare the amount against the value of the amount held in the results table RT for wage type /167 Compare the current amount against the limit held for the bank transfer Add the amount from wage type /564 from the IT Add amount field from wage type 0001 from Table IT (if wage type 0001 is available.) Add amount field from wage type 9013 from Table IT (if wage type 9013 is available.) Add the value held in the variable ZSAP to the amount for the current wage type being processed Add the current amount to the RT and place in wage type 910B Add Amt from wage type /ZPO into VORT (Summarised ORT) Checks whether the currently held amount is less that that held in the wage type /562 This sets the amount = zero for the wage type in question Store the value in the amount field of wage type /111 in the amount field of wage type 2110 Store the value in the amount field of wage type 1000 in the amount field of wage type 2110 Let the amount equal the value held in the BETRG (amount) field for the wage type in question Reset the amount on wage type xxxx to that held in the value for KWWR held in T511K Sets the amount = position number Set the amt = amt held on technical WT /426 Reset the amount on wage type xxxx to that held in the temporary wage type TASA Let the amount equal zero The amount is set to the value held in the table VAG -

previous employee data AMT=E * AMT=E /167 AMT=KSAPLR AMT=L * AMT=L /561 AMT=N /LBB AMT=N /LOP AMT=N /LRP AMT=Q /GPY AMT=ZERO AMT>* Lets the Amt = the Amt held for the current wage type in the RT Lets the Amt = the Amt held for technical wage type /167 in the RT Set the amount = the value SAPLR held in table T511k Lets the Amt = the Amt held for the current wage type in the LRT - last result table Lets the Amt = the Amt held for the wage type /561 in the LRT - last result table Add the amount value in technical loan wage type /LBB (loan balance) to specific loan balance wage type Add the amount value in technical loan wage type /LOP (loan payment) to specific loan payment wage type Add the amount value in technical loan wage type /LRP (loan repayment) to specific loan repayment wage type Lets the Amt = the Amt held for the wage type /561 in the OCRT - old cumulative result table Reduce the value in the amount field to zero "Maximum formation: The greater value of * and the current value of the AMT field is determined and written to the current AMT field." Multiply the amount by -1 - I think this should be subtract 1 from the amt If the amount field value is smaller than 50, it is retained. Otherwise it is set at 50 (forming a minimum amount). Subtract the Amt value held in the RT for /167 from the currently stored amount Take the value held against payroll constant 43301 from the annual salary Subtract the Amt value held in the ORT for /167 from the currently stored amount Amt for the current wage type less the value held in the RT for 9019 (Results wage types using exact splits) Subtraction to zero - the value cannot be less than zero. Subtraction to 0 (not negative) for the current wage type

AMT-1 AMT50 AMT-E /167 AMT-K43301 AMT-O /167 AMT-R 9019 AMTS /564 AMTS*

AMTS* 9013 AMTSE 9043

Subtraction to 0 (not negative). Current wage type less 9013 Subtraction to 0 (not negative). Current wage type less Amt held in the RT for wage type 9043 "Sets the recipient data for bank transfers. Can only be run after bank transfer data has been read from an infotype. Data on wage type and amount are transferred from the current fields (OT) and retained in the transfer table together with data on the recipient of the record last read." Compares the current amount with that held for period 10 in year 05. Expect a decision in this line The amount field value is compared with 0, and the result (>, = or <) is placed in the variable key. Make a decision on processing class 01 Divide the amount by the number and store the result in the rate field Divide the value in amount field by the value in the rate field and put the result in the amount field Divide the amount by the rate and store the answer in the rate for the wagetype Divide the number by the rate and store the answer in the number field Eliminate all splits Eliminate splits - work center period (WPBP) Eliminate splits - cost accounting Eliminate the splits for cost accounting, alternative payments and variable assignment Eliminate splits - employee sub-group grouping for PCRs Eliminate splits - alternative payments (ALP) Eliminate splits - bank transfer (BT) Eliminate splits - variable assignment Eliminate splits - absence assignment Eliminate splits - time unit Processing terminates for the current employee Restore the original values for the amount - i.e. The values

BTREC /558

CMPER 0510 D D AMT?0 D VWTCL 01 DIVID ANR DIVID ARA DIVID ARR DIVID NRN ELIMI * ELIMI A ELIMI K ELIMI KTX ELIMI R ELIMI T ELIMI U ELIMI X ELIMI Y ELIMI Z ERROR FILLF A

that were held for 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 Restore the original values for the number, rate and amount i.e. The values that were held for the number, rate and amount fields in the WT before any processing in this rule Restore the original values for the rate - i.e. The values that were held in the WT before any processing in this rule "GB specific processing of AWE operation GB specific operation to overwrite the average RATE of wage type /MAE in table RT in case of a retro calculation." Call PCR ZUM2 Calls PCR XALQ for all wage types - sets wage type to **** Elimination of WPBP split in the RT New Changes Across End of Year solution active for GBSXP phase 2 Check on Implementation Date of AVERA for SxP AWE. Called in GG70 and ensures that the old and new technical wage types for averages dont both exist. Evaluates the status of the LRT table. Processing is only continued if the previous month falls in the current year. Calculation of averages for 01 (from table T511A) Calcualation of averages for 03 (from table T511A) - not sure what the G implies Can use a 5 character message. Comes up whether the log is turned on or off. Can be used as a customised error message. Sets the modifier for Wage type generation (T510S) to 02 as the employee grouping Sets the modifier for Constant valuations (T510J) to 01 as the employee grouping Sets the modifier for the absence valuation rule (T544C) to 01 Multiply the amount by the number and store as the number field for the wage type Multiply the value in number field by the value in the rate

FILLF NRA

FILLF R

GBVRT GCY ZUM2 GCYGXALQ GEWRT GSXP2

GSXPD

LRTST Y MEANV 01 MEANVG03 MESSGxxxxx MODIF 1=02 MODIF 2=01 MODIF A=01 MULTI ANN MULTI NRA

field and put the result in the amount field Process the next line. Placing an * in 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. Continuation line. A...Z followed by 0...9 Dont forget to put in the letter following the NEXTR in the continuation line of the next line. Continuation line. A...Z followed by 0...9 Dont forget to put in the letter following the NEXTR in the continuation line of the next line. Multiply the value in the number field by the value held against the capacity utilization level on infotype 0008 Multiply the value in the number field by 1.5 Divide the value in the number field by 100 Test the value in the number field against 0 Add the value in the number field of wage type 3710 to the number field in the WT being processed Adds the number held in the temporary variable ZNIL to the currently held value for the number Add a value of 39 to the number field Add to the NUM value from wage type 3000 held in the CRT table - to the NUM value of the WT being processed Adds the number held in technical wage type /852 to the currently held value for the number Adds the number from the partial period parameter for the paid absence measured in working hours for xx is the sum of all paid absences (totalled over all classes) Set the current NUM to the value held in wage type 3000 Transfers the value of the ANZHL field to the number field. Sets the number equal to the valuation basis per hour NUM = Capacity utilization level from P0007 (called record layout fields in SAP Help) Sets the number equal to the position number of the employee Sets the number equal to the number of hours taken from IT 0007

NEXTR

NEXTR A

NEXTR B

NUM* BSGRD NUM*1.5 NUM/100 NUM?0 NUM+ 3710 NUM+& ZNIL NUM+39 NUM+C 3000 NUM+E /852

NUM+TSAP** NUM= 3000 NUM= ANZHL NUM= BWGRL NUM= EMPCT NUM= PLANS NUM= STDAZ

NUM=& ZSHF NUM=0 NUM=39 NUM=BJRSTD NUM=BTGSTD NUM=BWOSTD NUM=E /SSP NUM=GSDIVP NUM=GSSOLL NUM=TSAU** NUM=TSAX** NUM=TSDIVI NUM=WOSTD NUM=YCURPP NUM-51 NUM-E /845

Sets the number equal to the number held in the temporary variable ZSHF Set the number field to zero Store 39 in the number field Sets the number equal to the position number of the employee Sets the number equal to the daily hours worked by the employee Sets the number equal to the weekly hours worked by the employee Set the NUM = the value of /SSP held in the results table Sets the number equal to the working hours for the employee for the entire payroll period Set the number = planned working time measured in working hours taken from the work schedule rule See part period parameter help (function PARTT) See part period parameter help (function PARTT) See part period parameter help (function PARTT) See part period parameter help (function PARTT) Set the NUM = current payroll period (?) Reduce the hours held in the number field by 51 Take away the number for technical wage type /845 held in the RT from the currently held number Current value in the number field less the total working time measured in working hours taken from the total working time in payroll accounting period Evaluates operation indicator - used immediately after a database record has been read. Multiplies by -1. Load Work Center and Basic Pay Data - payroll area

NUM-TSDIVP

OPIND OUTWPABART

OUTWPCTYMO Load Work Center and Basic Pay Data - country modifier OUTWPPAYSB OUTWPPERSB OUTWPPERSG OUTWPPLANT Decide which payroll accounting area the employee is in Load Work Center and Basic Pay Data - employee sub-group Load Work Center and Basic Pay Data - employee group Load Work Center and Basic Pay Data - personnel area

OUTWPPLTSC OUTWPSHIFT OUTWPTRFAR OUTWPWWEEK PCY X05D* PCY X93B PPPAR A PPPAR B PPPAR E PPPAR F

Load Work Center and Basic Pay Data - personnel sub-area Load Work Center and Basic Pay Data - shift indicator Load Work Center and Basic Pay Data - pay scale type Load Work Center and Basic Pay Data - working week from IT 0007 Runs PCR X05D for all employee subgroup groupings Runs PCR X93B Reads part period parameters: leavers during payroll period Reads part period parameters: paid absences during payroll period Reads part period parameters: new joiners during payroll period Reads part period parameters: leavers on the first day of the next payroll period Reads part period parameters: if the time unit for the payroll area is different to the time unit for the pay scale type and area Reads part period parameters: is the employee is in an active work centre? Reads part period parameters: basic pay changes during payroll period Reads part period parameters: for unpaid absences in the period Prints the IT Prints WTG from the variable table Prints the contents of the CRT Prints the contents of the RT Prints out the contents of the old results table (LRT) Prints the summarised ORT (VORT) Employee work centre is inactive, therefore do nothing You want to know if there is an entry in table T51P1 with indicator 10 for the current IT wage type. If an entry is found, processing should be continued. You want to read the entry in table T51P1 with indicator 01 for the current IT wage type, and store it in the OT table. If

PPPAR P

PPPAR R PPPAR S PPPAR U PRINT PRINT& WTG PRINTC PRINTE PRINTL PRINTO R R51P1?10N

R51P1=01R

an entry is found it should be rejected "Operation R51P6 reads an entry from table T51P6. This table determines the characteristics of the deduction wage types. The value of the arrears characteristic should be placed in the variable key." Read Pay Scale Table - group and level Sets the splits back up again - has the opposite effect to the ELIMI * operation. Resets the first national split (/SI) Resets the amount and the rate - is the opposite of ELIMI. Reset * - resets all the split indicators. Give the meaning of all the other variables elsewhere in the document. Resets the cost accounting and employee subgroup grouping values Resets R - is the opposite of ELIMI - resets the employee subgroup groupings for the employee Checks if the payroll run is a retroactive accounting run Rounds off the AMT field - see SAP help for specifics Rounds the AMT field up so that it is divisible by 005 Rounds the AMT field to the next available number Rounds off the NUM field - see SAP help for specifics Rounds off the RTE field - see SAP help for specifics Rounds off the AMT field - see SAP help for specifics Multiply the value held in the rate by 33.33% - so effectively multiply by .3333 Subtract the value held in the constant HALF from the rate Multiply the value held in the rate by the capacity utilization level field on infotype 0008 Multiply the rate by negative 1 - effectively switch the sign for the value Multiply percentage held in rate field by 100 Multiply the rate by the constant GENAU held in table T511k Multiply the value in the rate field by the payroll constant GENAU (10,000).

R51P6A

RE510T RESET * RESET 1 RESET AR

RESET KR RESET R RETRO ROUND ROUND 005 ROUND +100 ROUNDA ROUNDB ROUNDG RTE%33.33 RTE-& HALF RTE* BSGRD RTE*-1 RTE*100 RTE*KGENAU RTE*KGENAU

RTE/100 RTE/GKDIVI RTE/TADIVI RTE/TASOLL RTE/TKDIVI RTE/TSDIVI RTE/TSDIVP RTE?& VLBS RTE?0 RTE+ 1001 RTE+& MM RTE+* RTE+100.00 RTE+BBETRG RTE+TKAU10 RTE= 1001 RTE= BETRG RTE= BSGRD RTE= BWGRL RTE=& AB RTE=0 RTE=10000 RTE=BBETRG RTE=BWOSTD

Rate divide by 100 RTE/ total working time in calendar days RTE/ total working time in working days RTE/ planned working time measured in work days RTE/ Total working time measured in calendar days Divide the value in the rate field by the worked hours for pay period being processed. RTE/ total working time measured in working hours Check to see how the current rate compares against the value held in the temporary variable VLBS Check to see how the current rate compares against a value of zero Adds the rate held in wage type 1001 to the currently held rate Adds the rate held in the variable MM to the currently held rate Adds the current rate to the IT Adds a value of 100 to the currently held rate Add the amount from table to the currently held rate Add the unpaid absences measured in calendar days for counting class 10 from table T554C Set the rate equal to the value held in the rate field for wage type 1001 Set the rate equal to the amount Set the rate equal to the capacity utilization level held on infotype 0008 Sets the rate equal to the valuation basis per hour Sets the rate equal to the value held in the temporary variable AB Set the rate field to zero Store 10000 in the rate field of wage type xxxx Set the rate equal to the amount pulled from the table Sets the RTE equal to the weekly hours worked by the employee

RTE=GKSOLL RTE=K30551 RTE=KGENAU RTE=TADIVP RTE=TASOLL RTE=TKDIVI RTE=TKSOLL RTE=TSAU07 RTE=TSDIVP RTE=TSSOLL RTE=ZERO RTE-GKAU**

Set the rate as the planned calendar days Store the value held against payroll constant 30551 in table T511 in the rate field of wage type xxxx RTE set to the value of GENAU from table T511K (default set at 10 000) RTE = Total working time measured in working days RTE = planned working time measured in work days RTE = Total working time measured in calendar days Store the planned calendar days in the rate field of the wage type being processed RTE = unpaid absence measured in working hours for counting class 07 RTE = total working time measured in working hours RTE = planned working time measured in working hours Reduce the value in the amount field to zero Rate subtract the part period unpaid absences in calendar days for all unpaid absences (totalled over all absence counting classes) Rate subtract the part period unpaid absences in working days for all unpaid absences (totalled over all absence counting classes) Take away any unpaid absence, in calendar days, from the current rate (totalled over all absence counting classes) Take away any unpaid absence, in calendar days, from the current rate (for absence counting class 20) Take away any unpaid absence, in worked hours, from the currently held rate (totalled over all absence counting classes) The condition for function IF is false Set condition for Function LPBEG when the condition is true The condition for function IF is true The condition for function IF is true Set the work center - basic pay split for the wage type as 01 Set the ESG for PCR as 1 You want to set X with number 01 as a variable split; the

RTE-TAAU**

RTE-TKAU** RTE-TKAU20

RTE-TSAU** COND=F IF SCOND=T AL SCOND=T IF SCOND=T IF SETIN A=01 SETIN R=1 SETIN X=NX

number of the split is to be increased by 1 by every call. STATU 2P SUBRC?SET SUBRC=0 SUBWT * SUBWT 1025 SUBWT&ZREG SUBWTD* SUBWTD/551 SUBWTE SUBWTE* SUBWTE/121 SUBWTI* Status field 2 which is valid at the start of the in-period is entered in the variable key. The return code set in the second example must be evaluated. The internal return code is set to the value 0 Subtracts the current wage type - effectively changing the sign of the NRA. Subtracts the current wage type (signs change) and stores it as 1025. Subtracts the current wage type and stores it as a temporary variable ZREG. Subtracts the current wage type (sign change) of the NRA in the difference table (DT) Subtracts the current wage type and stores it in the difference table (DT) as a temporary variable ZREG. Flicks the sign for NRA of the currently processed wage type and stores it in the RT Subtracts the current wage type (sign change) of the NRA and stores in the results table (RT) Flicks the sign for NRA of the currently processed wage type and stores it in the RT as technical wage type /121 Flicks the sign for NRA of the currently processed wage type and stores it in the input table (IT) Flicks the sign for NRA of the currently processed wage type and stores it in the input table (IT) as technical wage type /101 Table query on employee groupings / areas Table query on shifts / time groups Table query on premium table Table query on valuation of wage types Table query on positions table in PA Table query on the Alternative Payments table Table query on data held in infotype 0014 - recurring payments and deductions Table query on data held in infotype 0015 - additional payments

SUBWTI/101 TABLE 503 TABLE 508A TABLE 510P TABLE 512W TABLE 528B TABLEALP TABLEP0014 TABLEP0015

VAKEYALZNR VAKEYAUFKZ VAKEYBNKSA VAKEYBNKSA VAKEYLGART VAKEYLNCLS VAKEYLNTPY VAKEYLNTYP VAKEYPAYTY VAKEYPRAKN VAKEYTGRLE VAKEYVERSL VAKEYZEINH VAKEYZLSCH VALBS? VALBS?0

Place in the variable key - Y/N alternative payment Place in the variable key - extra pay indicator for overtime Place in the variable key - variable keys are held in a certain table Place in the variable key - type of bank details P0009 Store in the variable key the wage type Place in the variable key - loan type Place in the variable key - loan type P0045 Place in the variable key - loan type P0045 Place in the variable key - payroll type Place in the variable key - premium indicator time Its 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 Place in the variable key - clearing key for overtime Place in the variable key - time unit Place in the variable key - payment key for bank transfers The system checks to see whether a valuation base exists 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). The current wage type is evaluated with the valuation basis that is entered for the current wage type itself. (That is, the "0" line of view V_512W_B). The system multiplies an entry that already exists in the RTE field for the current wage type with the percentage rate from a line 0 of view V_512W and then replaces the wage type names of the current wage type with the name of the wage type from the same line in V_512W. Same as VALBS0 * with the exception that the data from infotype 2010 is used. 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. Sets the length of the variable key to 2

VALBS0

VALBS0 *

VALBS0 B

VALBS1

VALEN 2

VALEN 3 VAOFF 2 VARGBINDBW VARGBPRAKN VARGBTRFKZ VWTCL 64 WGTYP? WGTYP=* WPALL?LAST WPBPC WPBPCW Z ZERO= AN ZERO= RNA ZERO=& ABCD ZERO=NRA

Sets the length of the variable key to 3 Variable offset - set here to 2. The system with then ignores the first 2 digits. Place the table field "indicator for indirect valuation" in the variable key Place the table field "premium number" in the variable key Place the table field "ES grouping for collective agreement provision" in the variable key Interrogate processing class 64 Usually part of a decision - where the wage type is queried Passes through the wage type as unchanged Decide if employee has had a pay change in pay period and if the one being processed is the last Operation WPBPC distributes the amount of the current wage type to the active WPBP periods in the payroll period. This operation splits the amounts but does not distribute them to the different periods Expect to call another PCR in this line Sets the AMT and NUM to zero Set the values for the rate, number and amount equal to zero Initialises the variable ABCD 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

You might also like