Payroll Schemas and Personnel Calculation Rules

Embed Size (px)

DESCRIPTION

Payroll Schemas and Personnel Calculation Rules

Citation preview

  • 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