• || 您当前的位置首页 > SAP HR?#35797;?#32593;

    Payroll Schemas and Personnel Calculation Rules (PCR's)

    来源  作者  (查看评论)
    Go to start of metadata

    Transaction Code: PE01 for schema. PE02 for PCR. (T-code PDSY is really important because it contains SAP documents to explain how function / operation works).

    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 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


    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


    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/ENDIF


    The schema is processed if the condition is fulfilled


    Pxxx


    Processes the information held in infotype xxxx.


    ACTIO


    Actio 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 -> 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.


    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.


    ADDWSE9N03


    This operation is very similar to ADDWT. The only difference is that it writes the value to table V0 as well


    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


    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 the technical 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 DT for 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


    ADDWTI/101


    The values in the current wage type are added into the input table IT for the technical 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 caused by 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


    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 is available.)


    AMT+ 9013


    Add amount field from wage type 9013 from Table IT (if wage type 9013 is available.)


    AMT+& ZSAP


    Add the value held in the variable ZSAP to the amount for the current wage type 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 wage type /562


    {*}AMT= **


    This sets the amount = zero for the wage type in question


    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= BETRG


    Let the amount equal the value held in the BETRG (amount) field for the wage type in question


    AMT= PKWWR


    Reset the amount on wage type xxxx to that held in the value for KWWR held 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 employee data


    {*}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 - last result table


    AMT=L /561


    Lets the Amt = the Amt held for the wage type /561 in the LRT - last result table


    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=Q /GPY


    Lets the Amt = the Amt held for the wage type /561 in the OCRT - old cumulative 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 the AMT 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 set at 50 (forming a minimum amount).


    AMT-E /167


    Subtract the Amt value held in the RT for /167 from the currently stored amount


    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 stored amount


    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


    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 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."


    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 '<') is placed in the variable key.


    D VWTCL 01


    Make a decision on processing class 01


    DIVID ANR


    Divide the amount by the number and store the result in the rate field


    DIVID ARA


    Divide the value in amount field by the value in the rate field and put the result in the amount field


    DIVID ARR


    Divide the amount by the rate and store the answer in the rate for the wagetype


    DIVID NRN


    Divide the number by the rate and store the answer in the number field


    {*}ELIMI **


    Eliminate all splits


    ELIMI A


    Eliminate splits - work center period (WPBP)


    ELIMI K


    Eliminate splits - cost accounting


    ELIMI KTX


    Eliminate the splits for cost accounting, alternative payments and variable assignment


    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 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


    FILLF NRA


    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


    FILLF R


    Restore the original values for the rate - i.e. The values that were held in the WT before any processing in this rule


    GBVRT


    "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."


    GCY ZUM2


    Call PCR ZUM2


    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't both exist.


    LRTST Y


    Evaluates the status of the LRT table. Processing is only continued if the previous 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 G implies


    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 ANN


    Multiply the amount by the number and store as the number field for the wage type


    MULTI NRA


    Multiply the value in number field by the value in the rate field and put the result in the amount field


    NEXTR


    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.


    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 letter following 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 capacity utilization 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 in the WT being processed


    NUM+& ZNIL


    Adds the number held in the temporary variable ZNIL to the currently held value 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 the NUM value of the WT being processed


    NUM+E /852


    Adds the number held in technical wage type /852 to the currently held value for the number


    NUM+TSAP**


    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)


    NUM= 3000


    Set the current NUM to the value held in wage type 3000


    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 in SAP 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 entire payroll period


    NUM=GSSOLL


    Set the number = planned working time measured in working hours taken from the work schedule rule


    NUM=TSAU**


    See part period parameter help (function PARTT)


    NUM=TSAX**


    See part period parameter help (function PARTT)


    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 (question)


    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 the currently held number


    NUM-TSDIVP


    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


    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


    OUTWPSHIFT


    Load Work Center and Basic Pay Data - shift indicator


    OUTWPTRFAR


    Load Work Center and Basic Pay Data - pay scale type


    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 payroll period


    PPPAR P


    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


    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)


    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 the current 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 current IT wage type, and store it in the OT table. If an entry is found it should be rejected


    R51P6A


    "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."


    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 * - resets all the split indicators. Give the meaning of all the other variables elsewhere in 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 subgroup groupings 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


    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 on infotype 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


    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?& VLBS


    Check to see how the current rate compares against the value held in the temporary 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


    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 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=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 being processed


    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 all unpaid 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)


    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 (for absence counting class 20)


    RTE-TSAU**


    Take away any unpaid absence, in worked hours, from the currently held rate (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 split is 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 the variable 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.


    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 difference table (DT)


    SUBWTD/551


    Subtracts the current wage type and stores it in the difference table (DT) as a temporary variable ZREG.


    SUBWTE


    Flicks the sign for NRA of the currently processed wage type and stores it in the RT


    SUBWTE*


    Subtracts the current wage type (sign change) of the NRA and stores in the results table (RT)


    SUBWTE/121


    Flicks the sign for NRA of the currently processed wage type and stores it in the RT as technical wage type /121


    SUBWTI*


    Flicks the sign for NRA of the currently processed wage type and stores it in the input table (IT)


    SUBWTI/101


    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 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


    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 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


    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 entered for 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 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.


    VALBS0 B


    Same as VALBS0 * with the exception that the data from infotype 2010 is used.


    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


    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 the variable key


    VWTCL 64


    Interrogate processing class 64


    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 being processed is the last


    WPBPC


    Operation WPBPC distributes the amount of the current wage type to the active WPBP periods in the payroll period.


    WPBPCW


    This operation splits the amounts but does not distribute them to the different 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 PCRs which 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.

    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.

    https://wiki.scn.sap.com/wiki/display/ERPHCM/PCR

    考试辅导
    最近更新内容
    Google广告
    -->
    10