payroll schemas and personnel calculation rules
DESCRIPTION
Payroll Schemas and Personnel Calculation RulesTRANSCRIPT
-
GettingStarted Newsletters Store
SearchtheCommunity
,Guest Login Register
Products Services&Support AboutSCN Downloads
Industries Training&Education Partnership DeveloperCenter
LinesofBusiness UniversityAlliances Events&Webinars Innovation
AddedbyAhmedSalah,lasteditedbyMauricioGhemonOct04,2011
ERPHumanCapitalManagement / / FAQinPY
PayrollSchemasandPersonnelCalculationRules(PCR's)
TransactionCode:PE01
MenuPath:HumanResources>Payroll>Tools>MaintenanceTools>Schemas
Doubleclickingonasubschemawilltakeyoutothemaintenancescreenforthatschema.
Doubleclickingonanyoftherules(PCR's)willtakeyoutotheruleeditor.Youcantellthedifferencebetweensubschemasarulesbylookingattheparameters.ThenameofthesubschemacanbefoundinthePar1column.Themainschemagenerallycallsallthedifferentsubschemas.Thesubschemaswillthencallthepayrollrules.Inmostcases,whenaruleiscalled,therewillbeparametersinthePar2orPar3columns.
Inthemain,mostsubschemasarecalledbythe"copy"command.
Schemas,rulesandfeaturesinSAPusethefollowinglineeditorcommands.Thisallowsyoutomove,delete,copyandinsertlines.Allthecommandsareenteredintheareausedforthelinenumbers.Overwriteanyofthenumberswiththecommandsshownbelow.Forthecommandsusing1letterhitthereturnkeyonceyouhaveenteredtheletter.Forthecommandsusing2lettershitthereturnkeyafterthefirst2lettershavebeenenteredorafterbothsetshavebeenentered.
Themostcommonlyusedcommandsare:
LineCommand Description
D Deletesaline
I Insertsaline
M Movesaline
C Copiesaline
DD Indicatesthestartofablocktobedeleted
DD Indicatestheendofablocktobedeleted
CC Indicatesthestartofablocktobecopied
CC Indicatestheendofablocktobecopied
MM Indicatesthestartofablocktobemoved
MM Indicatestheendofablocktobemoved
Onceyouhavechosentheblocktomoveorcopy,youneedtoshowwheretomoveorcopyittointheschema.Thefollowingcommandsindicatewhereyoucancopyormovethelinesto.
LineCommand Description
A Placestheblockafterthechosenline
B Placestheblockbeforethechosenline
RememberwhencallingthePCRfromtheschema:GENmeansthatthewagetypeis****i.e.youhaven'tspecifiedoneandNOABmeansthatitwilllookatanyEESubGrouping.Ifyouwanttheruletousespecificwagetypesorgroupings,thenleaveeitherblank.
UsetheprintoptionandVAR(PAR2)intheschematooutputthevariabletableduringprocessing.
Positionisveryimportantforschemas.Looktoseewhereasimilarpieceofprocessinghastakenplace.Ifindoubt,placetheruleafterthesimilardatahasbeenreadandprocessed.
CommonlyusedFunctions
http://wiki.scn.sap.com/wiki/display/ERPHCM/FAQ+in+PYhttp://store.sap.com/http://scn.sap.com/community/downloadshttp://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=72405http://wiki.scn.sap.com/wiki/display/ERPHCMhttp://wiki.scn.sap.com/wiki/login.jsp?os_destination=%2Fpages%2Fviewpage.action%3FpageId%3D72405http://scn.sap.com/community/newslettershttp://wiki.scn.sap.com/wiki/login.jsp?os_destination=%2Fpages%2Fviewpage.action%3FpageId%3D72405http://scn.sap.com/community/getting-startedhttp://scn.sap.com/community/uachttp://scn.sap.com/welcomehttp://wiki.scn.sap.com/wiki/display/~x5719q8http://scn.sap.com/community/developer-centerhttp://wiki.scn.sap.com/wiki/display/~105nlafz4 -
Function Description
PIT ProcessInputTable
PRT ProcessResultsTable
COPY CallsaschemaplacedinPAR1.
BLOCK Definesthestartandendofanestednode
IF/ELSE/ENDIF Theschemaisprocessediftheconditionisfulfilled
Pxxx Processestheinformationheldininfotypexxxx.
ACTIO ActiocallsaPCR.Itisprocessed,irrespectiveofwhetherthewagetypeexistsornot.
CommonlyusedParameters
Parameter Description
GEN Processanywagetype
9000 Processesonlywagetype9000
NOAB ProcessforanyEEsubgroupgroupings
1 ProcessestheruleonlyforEEsubgroupgroupingof1
PayrollPCR's
TransactionCode:PE02
MenuPath:HumanResources>Payroll>Tools>MaintenanceTools>Rules
Commonlyusedoperationsinpayrollconfiguration
Operation Description
* Thiscoversalltheremainingentriesnotalreadyspecified.IfyouleavethelineblankfortheoperationthentheWTisdropped.Rememberyoualwayshavetohaveanoptionfor*inyourPCR.
ADDCU Cumulatesthewagetypeintotherelevantcumulation(/101...)andvaluation(/201...)wagetypes
{*}ADDNA** FromtheIT,NumberandAmtarecumulatedintotheOT.BlankisOTwhilstEreferstotheRT.
ADDNA4067 CurrentNumandAmtareaddedintowagetype4067.
ADDWSE9N03 ThisoperationisverysimilartoADDWT.TheonlydifferenceisthatitwritesthevaluetotableV0aswell
ADDWSI* StorethecurrentwagetypeintheIT.
{*}ADDWT** StorewagetypeinIT/OT
ADDWT1103 Allthecurrentvaluesforamt,numandrteareaddedtothevaluesthatarecurrentlyheldinwt1103
ADDWT&T AddsthecurrentwagetypetothevariabletableasTwhichcanbeusedatalaterstage
ADDWTA* ThevaluesinthewagetypearecopiedtothepreviousemployertableVAGcalledintherulesXDPI,XDPR&XDPT
ADDWTC* ThevaluesinthecurrentwagetypeareaddedintotheCRT
ADDWTC/101 ThevaluesinthecurrentwagetypeareaddedintotheCRTforthetechnicalwagetype/101
-
ADDWTD* ThevaluesinthecurrentwagetypeareaddedintotheDifferencetableDT
ADDWTD/551 ThevaluesinthecurrentwagetypeareaddedintothedifferencetableDTforthetechnicalwagetype/551
ADDWTD/APO Addthecurrentwagetypetothedifferencetable(DT)
ADDWTE StoreamountinResultsTable(RT)differencewithlinebelow
ADDWTE* AddthecurrentwagetypetotheresultstableRT
ADDWTE/101 Addthecurrentwagetypetotheresultstableas/101
ADDWTH/201 Addthecurrentwagetypetotheoldresultstable(ORT)aswagetype/201
ADDWTI* AddthecurrentwagetypetotheinputtableIT
ADDWTI/101 ThevaluesinthecurrentwagetypeareaddedintotheinputtableITforthetechnicalwagetype/101
ADDWTL* Addthecurrentwagetypetotheresultstablelastpayroll(LRT)
ADDWTN UsedinXLON
ADDWTN/LRP (LoansXLON)
ADDWTW Addthecurrentwagetypetothewagemaintenancetable
AMT9023 Subtractamountfieldfromwagetype9023fromTableIT(ifwagetype9023isavailable.)
AMT%33.33 Multiplytheamountby33.33%
AMT%KSAPRO MultiplytheamountbythevalueSAPROheldintableT511k
AMT&T AmountminusthevalueheldinvariableT
AMT1{*} Amountmultipliedbynegative1
AMT*12 Multiplyamountby12
AMT*KGENAU MultiplytheamountbytheconstantGENAUheldintableT511k.GENAUisusedtofactorupby4or5factorsof10toavoidtheissueoferrorscausedbyrounding.
AMT.04 Subtract0.4fromtheamountfield
AMT/2 Dividetheamountby2
AMT/KGENAU DividetheamountbythefactorGENAUheldintheconstantstableT511k
AMT/KPKWPR AmountdividedbytheconstantPKWRPheldintableT511K
AMT/KZF001 AmountisdividedbyconstantZF001fromtableT511K
{*}AMT?** Comparethevalueheldintheamountfieldforallwagetypes
AMT?/GPY Comparethevalueheldintheamountfieldforwagetype/GPY
AMT?&ZAPR ComparethevalueheldintheamountfieldagainsttheconstantZAPR
AMT?0 Comparethevalueheldintheamountfieldagainst0
-
AMT?E/167 ComparetheamountagainstthevalueoftheamountheldintheresultstableRTforwagetype/167
AMT?IGRUEB Comparethecurrentamountagainstthelimitheldforthebanktransfer
AMT+/564 Addtheamountfromwagetype/564fromtheIT
AMT+0001 Addamountfieldfromwagetype0001fromTableIT(ifwagetype0001isavailable.)
AMT+9013 Addamountfieldfromwagetype9013fromTableIT(ifwagetype9013isavailable.)
AMT+&ZSAP AddthevalueheldinthevariableZSAPtotheamountforthecurrentwagetypebeingprocessed
AMT+E910B AddthecurrentamounttotheRTandplaceinwagetype910B
AMT+O/ZPO AddAmtfromwagetype/ZPOintoVORT(SummarisedORT)
AMT
-
AMT=ZERO Reducethevalueintheamountfieldtozero
AMT>* "Maximumformation:Thegreatervalueof*andthecurrentvalueoftheAMTfieldisdeterminedandwrittentothecurrentAMTfield."
AMT1 Multiplytheamountby1Ithinkthisshouldbesubtract1fromtheamt
AMT50 Iftheamountfieldvalueissmallerthan50,itisretained.Otherwiseitissetat50(formingaminimumamount).
AMTE/167 SubtracttheAmtvalueheldintheRTfor/167fromthecurrentlystoredamount
AMTK43301 Takethevalueheldagainstpayrollconstant43301fromtheannualsalary
AMTO/167 SubtracttheAmtvalueheldintheORTfor/167fromthecurrentlystoredamount
AMTR9019 AmtforthecurrentwagetypelessthevalueheldintheRTfor9019(Resultswagetypesusingexactsplits)
AMTS/564 Subtractiontozerothevaluecannotbelessthanzero.
AMTS* Subtractionto0(notnegative)forthecurrentwagetype
AMTS*9013 Subtractionto0(notnegative).Currentwagetypeless9013
AMTSE9043 Subtractionto0(notnegative).CurrentwagetypelessAmtheldintheRTforwagetype9043
BTREC/558 "Setstherecipientdataforbanktransfers.Canonlyberunafterbanktransferdatahasbeenreadfromaninfotype.Dataonwagetypeandamountaretransferredfromthecurrentfields(OT)andretainedinthetransfertabletogetherwithdataontherecipientoftherecordlastread."
CMPER0510 Comparesthecurrentamountwiththatheldforperiod10inyear05.
D Expectadecisioninthisline
DAMT?0 Theamountfieldvalueiscomparedwith0,andtheresult('>','='or'
-
ELIMIY Eliminatesplitsabsenceassignment
ELIMIZ Eliminatesplitstimeunit
ERROR Processingterminatesforthecurrentemployee
FILLFA Restoretheoriginalvaluesfortheamounti.e.ThevaluesthatwereheldfortheamountfieldintheWTbeforeanyprocessinginthisrule
FILLFN Restoretheoriginalvaluesforthenumberi.e.ThevaluesthatwereheldforthenumberfieldintheWTbeforeanyprocessinginthisrule
FILLFNRA Restoretheoriginalvaluesforthenumber,rateandamounti.e.Thevaluesthatwereheldforthenumber,rateandamountfieldsintheWTbeforeanyprocessinginthisrule
FILLFR Restoretheoriginalvaluesfortheratei.e.ThevaluesthatwereheldintheWTbeforeanyprocessinginthisrule
GBVRT "GBspecificprocessingofAWEoperationGBspecificoperationtooverwritetheaverageRATEofwagetype/MAEintableRTincaseofaretrocalculation."
GCYZUM2 CallPCRZUM2
GCYGXALQ CallsPCRXALQforallwagetypessetswagetypeto****
GEWRT EliminationofWPBPsplitintheRT
GSXP2 NewChangesAcrossEndofYearsolutionactiveforGBSXPphase2
GSXPD CheckonImplementationDateofAVERAforSxPAWE.CalledinGG70andensuresthattheoldandnewtechnicalwagetypesforaveragesdon'tbothexist.
LRTSTY EvaluatesthestatusoftheLRTtable.Processingisonlycontinuedifthepreviousmonthfallsinthecurrentyear.
MEANV01 Calculationofaveragesfor01(fromtableT511A)
MEANVG03 Calcualationofaveragesfor03(fromtableT511A)notsurewhattheGimplies
MESSGxxxxx Canusea5charactermessage.Comesupwhetherthelogisturnedonoroff.Canbeusedasacustomisederrormessage.
MODIF1=02 SetsthemodifierforWagetypegeneration(T510S)to02astheemployeegrouping
MODIF2=01 SetsthemodifierforConstantvaluations(T510J)to01astheemployeegrouping
MODIFA=01 Setsthemodifierfortheabsencevaluationrule(T544C)to01
MULTIANN Multiplytheamountbythenumberandstoreasthenumberfieldforthewagetype
MULTINRA Multiplythevalueinnumberfieldbythevalueintheratefieldandputtheresultintheamountfield
NEXTR Processthenextline.Placingan*inthelastcolumnintheoperationcolumnhasthesameeffectas"nextr".RemembertoputaletterornumberinthenextlineundertheNLcolumn.
NEXTRA Continuationline.A...Zfollowedby0...9Don'tforgettoputintheletterfollowingtheNEXTRinthecontinuationlineofthenextline.
NEXTRB Continuationline.A...Zfollowedby0...9Don'tforgettoputintheletterfollowingtheNEXTRinthecontinuationlineofthenextline.
NUM*BSGRD Multiplythevalueinthenumberfieldbythevalueheldagainstthecapacityutilizationleveloninfotype0008
NUM*1.5 Multiplythevalueinthenumberfieldby1.5
NUM/100 Dividethevalueinthenumberfieldby100
NUM?0 Testthevalueinthenumberfieldagainst0
-
NUM+3710 Addthevalueinthenumberfieldofwagetype3710tothenumberfieldintheWTbeingprocessed
NUM+&ZNIL AddsthenumberheldinthetemporaryvariableZNILtothecurrentlyheldvalueforthenumber
NUM+39 Addavalueof39tothenumberfield
NUM+C3000 AddtotheNUMvaluefromwagetype3000heldintheCRTtabletotheNUMvalueoftheWTbeingprocessed
NUM+E/852 Addsthenumberheldintechnicalwagetype/852tothecurrentlyheldvalueforthenumber
NUM+TSAP** Addsthenumberfromthepartialperiodparameterforthepaidabsencemeasuredinworkinghoursforxxisthesumofallpaidabsences(totalledoverallclasses)
NUM=3000 SetthecurrentNUMtothevalueheldinwagetype3000
NUM=ANZHL TransfersthevalueoftheANZHLfieldtothenumberfield.
NUM=BWGRL Setsthenumberequaltothevaluationbasisperhour
NUM=EMPCT NUM=CapacityutilizationlevelfromP0007(calledrecordlayoutfieldsinSAPHelp)
NUM=PLANS Setsthenumberequaltothepositionnumberoftheemployee
NUM=STDAZ SetsthenumberequaltothenumberofhourstakenfromIT0007
NUM=&ZSHF SetsthenumberequaltothenumberheldinthetemporaryvariableZSHF
NUM=0 Setthenumberfieldtozero
NUM=39 Store39inthenumberfield
NUM=BJRSTD Setsthenumberequaltothepositionnumberoftheemployee
NUM=BTGSTD Setsthenumberequaltothedailyhoursworkedbytheemployee
NUM=BWOSTD Setsthenumberequaltotheweeklyhoursworkedbytheemployee
NUM=E/SSP SettheNUM=thevalueof/SSPheldintheresultstable
NUM=GSDIVP Setsthenumberequaltotheworkinghoursfortheemployeefortheentirepayrollperiod
NUM=GSSOLL Setthenumber=plannedworkingtimemeasuredinworkinghourstakenfromtheworkschedulerule
NUM=TSAU** Seepartperiodparameterhelp(functionPARTT)
NUM=TSAX** Seepartperiodparameterhelp(functionPARTT)
NUM=TSDIVI Seepartperiodparameterhelp(functionPARTT)
NUM=WOSTD Seepartperiodparameterhelp(functionPARTT)
NUM=YCURPP SettheNUM=currentpayrollperiod
NUM51 Reducethehoursheldinthenumberfieldby51
NUME/845 Takeawaythenumberfortechnicalwagetype/845heldintheRTfromthecurrentlyheldnumber
NUMTSDIVP Currentvalueinthenumberfieldlessthetotalworkingtimemeasuredinworkinghourstakenfromthetotalworkingtimeinpayrollaccountingperiod
-
OPIND Evaluatesoperationindicatorusedimmediatelyafteradatabaserecordhasbeenread.Multipliesby1.
OUTWPABART LoadWorkCenterandBasicPayDatapayrollarea
OUTWPCTYMO LoadWorkCenterandBasicPayDatacountrymodifier
OUTWPPAYSB Decidewhichpayrollaccountingareatheemployeeisin
OUTWPPERSB LoadWorkCenterandBasicPayDataemployeesubgroup
OUTWPPERSG LoadWorkCenterandBasicPayDataemployeegroup
OUTWPPLANT LoadWorkCenterandBasicPayDatapersonnelarea
OUTWPPLTSC LoadWorkCenterandBasicPayDatapersonnelsubarea
OUTWPSHIFT LoadWorkCenterandBasicPayDatashiftindicator
OUTWPTRFAR LoadWorkCenterandBasicPayDatapayscaletype
OUTWPWWEEK LoadWorkCenterandBasicPayDataworkingweekfromIT0007
PCYX05D* RunsPCRX05Dforallemployeesubgroupgroupings
PCYX93B RunsPCRX93B
PPPARA Readspartperiodparameters:leaversduringpayrollperiod
PPPARB Readspartperiodparameters:paidabsencesduringpayrollperiod
PPPARE Readspartperiodparameters:newjoinersduringpayrollperiod
PPPARF Readspartperiodparameters:leaversonthefirstdayofthenextpayrollperiod
PPPARP Readspartperiodparameters:ifthetimeunitforthepayrollareaisdifferenttothetimeunitforthepayscaletypeandarea
PPPARR Readspartperiodparameters:istheemployeeisinanactiveworkcentre?
PPPARS Readspartperiodparameters:basicpaychangesduringpayrollperiod
PPPARU Readspartperiodparameters:forunpaidabsencesintheperiod
PRINT PrintstheIT
PRINT&WTG PrintsWTGfromthevariabletable
PRINTC PrintsthecontentsoftheCRT
PRINTE PrintsthecontentsoftheRT
PRINTL Printsoutthecontentsoftheoldresultstable(LRT)
PRINTO PrintsthesummarisedORT(VORT)
R Employeeworkcentreisinactive,thereforedonothing
R51P1?10N YouwanttoknowifthereisanentryintableT51P1withindicator10forthecurrentITwagetype.Ifanentryisfound,processingshouldbecontinued.
-
R51P1=01R YouwanttoreadtheentryintableT51P1withindicator01forthecurrentITwagetype,andstoreitintheOTtable.Ifanentryisfounditshouldberejected
R51P6A "OperationR51P6readsanentryfromtableT51P6.Thistabledeterminesthecharacteristicsofthedeductionwagetypes.Thevalueofthearrearscharacteristicshouldbeplacedinthevariablekey."
RE510T ReadPayScaleTablegroupandlevel
{*}RESET** SetsthesplitsbackupagainhastheoppositeeffecttotheELIMI*operation.
RESET1 Resetsthefirstnationalsplit(/SI)
RESETAR ResetstheamountandtherateistheoppositeofELIMI.Reset*resetsallthesplitindicators.Givethemeaningofalltheothervariableselsewhereinthedocument.
RESETKR Resetsthecostaccountingandemployeesubgroupgroupingvalues
RESETR ResetsRistheoppositeofELIMIresetstheemployeesubgroupgroupingsfortheemployee
RETRO Checksifthepayrollrunisaretroactiveaccountingrun
ROUND RoundsofftheAMTfieldseeSAPhelpforspecifics
ROUND005 RoundstheAMTfieldupsothatitisdivisibleby005
ROUND+100 RoundstheAMTfieldtothenextavailablenumber
ROUNDA RoundsofftheNUMfieldseeSAPhelpforspecifics
ROUNDB RoundsofftheRTEfieldseeSAPhelpforspecifics
ROUNDG RoundsofftheAMTfieldseeSAPhelpforspecifics
RTE%33.33 Multiplythevalueheldintherateby33.33%soeffectivelymultiplyby.3333
RTE&HALF SubtractthevalueheldintheconstantHALFfromtherate
RTE*BSGRD Multiplythevalueheldintheratebythecapacityutilizationlevelfieldoninfotype0008
RTE1{*} Multiplytheratebynegative1effectivelyswitchthesignforthevalue
RTE*100 Multiplypercentageheldinratefieldby100
RTE*KGENAU MultiplytheratebytheconstantGENAUheldintableT511k
RTE*KGENAU MultiplythevalueintheratefieldbythepayrollconstantGENAU(10,000).
RTE/100 Ratedivideby100
RTE/GKDIVI RTE/totalworkingtimeincalendardays
RTE/TADIVI RTE/totalworkingtimeinworkingdays
RTE/TASOLL RTE/plannedworkingtimemeasuredinworkdays
RTE/TKDIVI RTE/Totalworkingtimemeasuredincalendardays
RTE/TSDIVI Dividethevalueintheratefieldbytheworkedhoursforpayperiodbeingprocessed.
RTE/TSDIVP RTE/totalworkingtimemeasuredinworkinghours