This action might not be possible to undo. Are you sure you want to continue?
We have to discontinue a SAP Server as it is aging and on disk space. We are running SAP 4.7 SR1 1.00 in this server. Now my question is; in the new Server how I will dump all SAP data of previous Server. I am going to install SAP $.7 SR1 2.00 IDES in new Server on Windows 2003 and Oracle 9.2. Also, will the programs written for R/3 40 1.00 IDES will match or work in R/3 47 2.00 IDES ? With regards, Pratip Bhattacharyya (email@example.com) Michael Re: How to migrate the whole SAP Reply Eacrett environment to another server. Posted: May 10, 2006 3:46 PM in response to: Pratip Bhattach... Hi, Posts: 661 Registered: 3/29/04 Forum Points: 1,308 I'm not sure I understand your question but I'll give it a try. You can copy a system from one server to another using the system copy tools from SAP (accessed via http://service.sap.com/instguides) For deleting the system, ideally you could copy the system and then do a complete server re-install for the new install. If you don't have this luxury, then you can delete the DB schemas (and who DB?) and then delete all the SAP executables for your SID (check the /usr directories). It is easier to do the deletion before the installation of the new server. You can use the transport system to copy the ABAP and DDIC structures from one system to another (SAP R/3 Enterprise ES 1.00 and 2.00 uses the SAP NetWeaver AS release). I hope this helps,
Pratip Bhattach... Posts: 79 Registered: 2/16/06 Forum Points: 28
Mike. Re: How to migrate the whole SAP environment to another server. Posted: May 12, 2006 11:19 AM in response to: Michael Eacrett Hi! Mike,
Thanks for your effort. But let me tell you the scenario in detail. We have a server dl2kdv01. In this Server SAP R/3 4.7 SR1 100 IDES (Kernel 620)is running. Due to hardware problem and disk space problem management has decided to move this SAP System to a new Server dlwsdv10 where only Solution Manager is running. Ours¶ is a Dev. env. SAP systems are running on Windows 2003 Server with Oracle 9.2 DB. Now as I cannot find R/3 4.7 SR1 200 IDES. So I have downloaded R/3 4.7 SR1 2.00 IDES (Kernel 640). Now my question is, 1. If I install the downloaded version than how I will add the database of old SAP to the new one. Whether I have use transport client method or any other system. I need full step-by-step procedure. 2. Whether all programs and adapters designed in the earlier version will fully compatible to the new SAP System. Hope, I have clearly describe my requirement. You can directly mail me also. With regards, pratip Bhattacharyya
View Comments (0) Attachments (41) Info Additional Features
Added by Carlos Martinez Escribano , last edited by Carlos Martinez Escribano on Aug 16, 2010 (view change)
Labels: hcm, debugging, debug, payroll, hr
Enter labels to add to this page:
Tip: Looking for a label? Just start typing.
Through this document I'll show you how to debug the payroll process, focusing in payroll driver debugging. You'll find here some tips and tricks that will help you save time. As a prerequisite to understand this blog you should have a basic debugging knowledge. Here are some interesting links for general debugging:
Classic ABAP Debugger New ABAP Debugger
Using hard break-points to debug the Schema.
Whenever you can modify the system you are analyzing (e.g. you are debugging a development system), and you have authorization to modify rules and schemas you can set a hard break-point. For this, you have to modify your user-profile and set an Abap prefix (AB4).
Once you have a prefix of your own, you can set a break-point at a certain point in a Schema by editing the Schema (Trx PE01). For this you'll use the payroll function BREAK followed by your Abap prefix. Example: Set a break-point in Schema E000:
If you run your payroll driver, the debugger will stop just before EANT schema.
.Now you can go to the next payroll function by exiting function break (F7).
You can display the current function to be processed by displaying in your debugger screen table AS (Header). Table AS contains the Schema and its header contains the current function in the schema being processed (AS-FUNCO).Then press key F5 and set a soft break-point at PERFORM as-funktion. .
Now you can stop just before next function to be processed in schema by pressing F8. To get inside it just press F5. you are about to debug function P0092. In this case. .
pe04. After that you have to take a look at "Calls" to guess where the error is coming from. you run the payroll drive and get a log like this: .. Start payroll processing in debugging mode /H. Just set a break-point in the command "reject". then go to. For example. followed by your Abap prefix.In this case the function code to be debugged is very short. Go to the next function by pressing F8. Of course you could have set a soft break-point directly at function P0092--. as well. finally press F8 key. When a pernr is rejected in the payroll log. You can set a break-point in a payroll rule. you'll reach the reject command.. For this you'll use the payroll operation BREAK.
Go back to the selection-screen and start payroll in debugging mode with /H. Now you are debugging the payroll and you need to reach the point of rejection: .
Stop it at the reject command: Then press F8 so that the command "Reject" is reached: .
Now press the "Calls" icon: .
so we go to the first relevant form: FUCHKPC Double-clicking on it we get to the abap code and set a break-point just before the error process is triggered (Or maybe analyzing the abap code that triggers the error is enough): .The following routines: FORM FORM FORM FORM NEW_ABLEHNUNG FILL_MSGTAB_FINAL_STEP FILL_MSGTAB ERRORS Are common to all the rejections so they will not add any value info.
. a Wage Type is generated or a WT is set to a specific value.375. Watch-points will help you a lot on this.Then press F8 to start the program.00 EUR. Find out at which point of the payroll Schema. Start payroll in debugging mode by going to the payroll driver selection-screen and setting /H at the ok-code. If for example you find that WT /341 equals 1.When you start payroll again you'll be able to debug the code that triggered the rejection which will help you identifying the cause of the error.00 EUR at the final payroll results and you want to know where in the payroll schema WT /341 amount was set to 1.375.
And fill the required condition.Now create a watchpoint. .
00 Now both condition have to be linked by the "And" operator. .375.Create a second watchpoint because the condition is: it-lgart = /341 and it-betrg = 1.
. Sometimes. setting the condition for table RT might be useful.). WTs are direcly created in table RT so in that cases.. WTs are created within a rule operated by function PIT or PRT. the program would have stopped later on in the schema when WT /341 is collected to be stored in table RT which is useless. display the structured field OP. Many times. . To see which rule is it. If you do so. To know what operation is it. OT-BETRG. look internal table AS header. The program will stop when the watchpoint condiiton is fulfilled. you'd better set the condition for table OT (OTLGART. If I had set the same condition for table RT.Now continue by pressing F8. the program will be stopped at the relevant operation within the rule. You'll notice that in the watchpoint condition I used WT table IT instead of table RT. In that cases.
MOVE ccycl TO i52c5. plog1_perform plog_check_rule_performed(h99plog0). . plog4_perform plog_header_cycle(h99plog0) using it-lgart calcmolga. MOVE-CORRESPONDING it TO i52c5. PERFORM regel.By the way. ot = it. the watchpoint will stop at the end of the rule as you can see in the code below: FORM fupit. ENDLOOP. if a WT is set to a specific value in a PIT rule and instead of setting the watchpoint at OT table you do it at IT table. REFRESH it. LOOP AT it.
You can use APER-PAER and APER-IAPER as watchpoint conditions so if for example you set a break-point at function EST00 (Which calculates Spanish taxes) and there are 10 retro periods to be calculated and you want to debug just the current period: 1. As an alternative to using table APER. When there are many retro periods in the payroll run you are analyzing. Set APER-PAPER = APER-IAPER as a watchpoint condition.2008 is being processed in a payroll run started from in-period 01. Problems with Retros. beinhaltet refresh ot. "END OF FUPIT So it's more accurate to set the watchpoint at table OT than at table IT in these cases. Table APER manages the periods processed in a payroll run and it's header holds the currently processed period.PERFORM ot-in-it-append. you can assign a counter to the break-point so that it stops only after "n" ocurrencies: e.g. the same piece of code will be reached once and again and you have to press the F8 key a lot of times before you reach the point you where the issue arises. "append statt collect. 2. In the following pic you can see that period 01. Stop in function EST00 after EST00 being processed 13 times: . ENDFORM. but remember that rules are flexible and there are operations to append WTs directly to table IT. Deactivate (Not delete) the break-point at function EST00.2009.
when the APER-PAPER is set to the payroll period you want to analyse (beause the watchpoint stopped). e. Knowing this makes easy to reach any Function / Operation.Finally. activate the break-point and go ahead: F8. Reaching a payroll function or operation once the debugger is started: Payroll functions are coded as form FUXXXX being XXXX the name of the function.g. Payroll Operations are coded as OPXXX being XXXX the name of the operation. function wpbp is coded as form fuwpbp. .
How to debug a Personnel Calculation Rule: You already know that a PCR or cycle is not working as desired but do not know at what point of the rule the problem is. Firtsly you have to reach the rule you are going to debug. You can see how a rule works processing one operation in each step and monitor the intermediate results. Then you may realize the problem is that the rule is not correct or you can debug inside the operation. When a PCR is processed. It is important thta both watchpoint conditions are linked by the condition AND Example: We are going to debug PCR ESPB at Payroll Schema E000 for payroll driver RPCALCE0.Then press F8 key and you get to the beginning of the routine. Going to the payroll log we see that WT S121 is calculated at PCR ESPB: . For that you can set a hard break-point as stated at the beginning of this document or a watchpoint (AS-PARM1 = XXXX where XXXX is the name of the rule) AND ( OT-LGART = YYYY where YYYY is the WT to be processed by the PCR). a sequence of payroll operations will be processed.
here is how your debugger screen will look when the watchpoint conditions are reached: . let´s start the debugger and set the watchpoint condition AS-PARM1 = ESPB and OTLGART = S121.So now.
. BETRG..Rule ESPB is processed by PIT Function which means that table WTs in table IT will be processed in a loop. Now go inside PERFORM regel by pressing F8 and search PERFORM boper with the arrow down . Relevante fields for IT and OT are ( LGART. At the end of the PCR processing.). BETPE. table OTwill substitute table IT. Each time a WT is processed the table IT header will be copied to auxiliary table OT and within the PCR processing the individual operations will normally put their results in table OT. ANZHL.
-> Set a break-point on PERFORM boper. Make sure you display at the bottom of the debugger screen the fields you want to monitor: .
You can also display the current operation at the header of table OP or i52c5-op1. Now you can deativate the watchpoint. Click in F8 every time you want to go to the next operation (And F5 if you want to take a deeper look as to how the operation works internally): Using counters: It might happen that you set a breakpoint at a certain part of the code where the payroll execution goes through again and again.g. you placed a break-point inside a piece of code that is executed within . E. For example in retrocalculation or in case a your break-point is in a routine that is placed inside a loop.
but you are supposed to know th number of times the break-point will be reached before hand. Of course. Yes. In this case you may find useful to know that PER play the same role as table APER for payroll.a loop and you want the debugger to stop only the 10th time that the break-point is reached. if the break-point is reached less than 10 times. You can specifiy a counter for your break-point. RPTIME00 works with the rules in the same way as the payroll drivers RPCALCX0 / HXXCALC0. Can all this be applied to the Time Evaluation?. Therefore you can use the header of PER to stop the processing at a specific day: . Click on the break-point button: Set 10 times in the count. field. it will never stop.
Y : HRS?4.ADDZLS2816 .ADDZLS2816 Reply Re: help : how to configure attendance in schema (PE02) Posted: Oct 29.00 : -< -=: . pls modify ur PCR ( Not Schema) in the following way outtpprtyp n y hrs=d1234( create a time type ) HRS?4.HRS=1 .e.< . Good to know: You can expand the payroll an time schema by running program RPDASC00.HRS=1 .= : .ADDZLS2816 Reply .00 : . Set a watchpoint at PER-BEGDA = 20080901. help : how to configure attendance in schema (PE02) Posted: Oct 29. can u help me find what's wrong with my schema? it can't work properly VARSTP2002 : . 2007 7:32 AM in response to: edison edison hai..HRS=1 .N .g. 2007 5:20 AM dear SAP masters.> : .
HRS=1 .->: . i think my PCR didn't read attendance hours.-) VARSTHOLCL //public holiday 0 1 OUTWPTRFST //level 07 08 VARSTP2002 N Y HRS?3. you should use HRS=PNUM then it collects the hours. i'm sorry.. maybe you could understand the problem if u see that. Hi Edison.99. . i dont know how to explain it more detail :"( this is my complete PCR. but i don't know how to fix it. it was read HRS<3. although if there is a data in IT2002 that have attendance hours=7.99 HRS=1 ADDZLS2816 when i run PT60.99 when enterred the PCR. Hope this helps. Before checking HRS?3. get a transport allowance (wage type 2816) that is the detail.ADDZLS2816 this is my scenario : i want to create PCR so if employee who has level 8 or above (TRFST) overtime in public holiday at least 4 hours. Good luck Can I suggest you some thing? VARSTHOLCL //public holiday * COLOP* 1 OUTWPTRFST //level * COLOP //for any other level .
Hi Edison.you can use VARSTHOLCL //public holiday * COLOP* 1 OUTWPTRFST //level * COLOP //for any other level 08 VARSTPRSNT //EMPLOYEE AT WORK? N COLOP* Y HRS=PNUM HRS?4 < COLOP* // for any hrs<4 * // >= 4 HRS=1 ADDZLS2816 COLOP* .like you can see till which line it worked. It should work I dont know why you are not getting the result. instead of p2002.did you call the rule like this? PTIP ZXXX GEN here ZXXX is your rule.08 VARSTP2002 N COLOP* Y HRS=PNUM HRS?4 < COLOP* // for any hrs<4 * // >= 4 HRS=1 ADDZLS2816 COLOP* and please call this rule with the function PTIP. Next time when you run the TE check the log and see how the rule has got processed.In the schema.
e.310 Posted: Jul 14. Dilek Edited by: Dilek Ersoz on Jul 14. i.Sadhu Re: Operation On Wage Types in PCR Posted: Jul 14. 2009 9:39 AM response to: DeeptiGupta Operation SUBWT in Reply PRess F1 to read document and syntax Regards . * /3RB : AMT+& BBBB ADDWT * Regards.Operation On Wage Types in PCR Posted: Jul 14. * BBBB : ADDWT&BBBB Then add this value into A in another PCR(you're adding not subtracting as value of B is already negative). 2009 9:52 AM response to: DeeptiGupta Hi Deepti... I want to equate the following equation in PCR A=A-B where A = /3RB (Technical WT : Perk value) B = customized WT value with negative sign Which function to use in PCR ? Thanks in advance. i.916 First write a PCR to put the value of B into a variable.e. Reply I want to subtract a wagetype(WT) result from other WT and store it in first WT in PCR. 2009 9:19 AM Hello experts. in Dilek Ersoz Adak Reply Posts: 3.002 Registered: 7/2/08 Forum Points: 1.119 Registered: 5/16/08 Forum Points: 6. sadhar Re: Operation On Wage Types in PCR Posts: 1. 2009 9:52 AM Re: Operation On Wage Types in PCR DeeptiGupta Reply .
you should write PCR ZCLA for 3 1017. Dilek Re: Operation On Wage Types in PCR Dilek Ersoz Adak Posts: 3. it processed the PCR. Also the second PCr. 2009 1:05 PM . The second PCr was getting processed earlier as well but with no calculated results. in the second PCR. when I used with other wage type /3R9 .g. output is same as Input table Re: Operation On Wage Types in PCR Reply Posted: Jul 14.. 3 1017) If it is 3 1017.916 DeeptiGupta Posts: 71 Registered: 2/27/09 Forum Points: 0 Reply Posted: Jul 14.. 2009 12:24 PM in response to: DeeptiGupta First check the input IT of PCR ZCLA whether there is an entry * 1017 (or anything else. Edited by: DeeptiGupta on Jul 14. In the output this wage type /3R9 was not available.Posts: 71 Registered: 2/27/09 Forum Points: 0 Posted: Jul 14.119 Registered: 5/16/08 Forum Points: 6. 2009 11:42 AM in response to: Dilek Ersoz Adak I created the PCR to store the value of WT B in variable. for example. you directly writing /3RB into RT table via operation ADDWTE *. I wrote * 1017 ADDWT&ZSAP (PCR ZCLA) */3RB AMT+ &ZSAP ADDWTE * (PCR ZHRR) On simulation of payroll the PCR is not processed for the WT 1017. Secondly. Check this condition for the second PCR also. though it is processed the results are not changed. Depends on your schema structure. Output is still same as input Also I am using ADDWT * (to the output table) only. Its * 1017. e. 2009 12:57 PM in response to: Dilek Ersoz Adak I have checked the input IT of PCR. but you may need to keep it in output IT via ADDWT * as I have suggested before.
2009 8:23 AM in response to: saathi Hi saathi.476 Registered: 9/27/07 Forum Points: 17. Your PCR should be written for XXXX WT (added via 15 IT) ADDWT * ADDWT/3M3.com/click. 2009 8:15 AM in response to: saathi https://forums. regards. Best regards. but. bcoz i never wrote a PCR.jspa?searchID=1&messageID=7125769 Reply Re: PCR to add amount in /3M3 Posted: Mar 23. what ever the amount i input in that wage type that amount has to be included in /3M3. You may ignore ADDWT * if you don't want XXXX WT to remain in IT. Re: PCR to add amount in /3M3 Posted: Mar 23.sap.119 Registered: 5/16/08 Forum Points: 6. Reply Posts: 3.916 Add the PCR just after P0015 function or the point /3M3 WT is created.sdn. can we done this thru any PCR?. if Yes how to write this PCR and in schema where i have to add this PCR? kindly inputs plz.166 Dilek Ersoz Adak Re: PCR to add amount in /3M3 Posted: Mar 23. Dilek Re: PCR to add amount in /3M3 Posted: Mar 23. plz explain me with some more clarity on this. whichever is later. 2009 8:29 AM in response to: Dilek Ersoz Adak hi saathi Posts: 469 Registered: 1/22/08 Forum Points: 136 Reply thanks for ur reply.PCR to add amount in /3M3 Posted: Mar 23. 2009 8:10 AM hi all. Sikindar Posts: 13. 2009 8:32 AM in Dilek Ersoz Reply . Reply i will maintain one wagetype in IT-15.
Then you need to integrate it into schema via PE01. i want to maintain Rs. 2009 8:40 AM in response to: Dilek Ersoz Adak plz answer my questions in same order. TQ .916 saathi Posts: 469 Registered: 1/22/08 Forum Points: 136 Re: PCR to add amount in /3M3 Posted: Mar 23. u really helped me lot.119 Registered: 5/16/08 Forum Points: 6. suggest me name for new pcr. Please help.in this wagetype. i added that pcr after function INMED.Adak response to: saathi Create the PCR via PE02.the payment is still available in my payroll result. I also noticed this payment keep recurring even for next months.same like recurring payments. 2009 3:15 PM in response to: Dilek Ersoz Adak thanx a lot. and this amount should add in /m3m.And I noticed even I commented out my PCR.and created it in IT0015. saathi Posts: 469 Registered: 1/22/08 Forum Points: 136 PCR for additional payments Posted: Feb 22.50/. one by one line steps in pcr (what i have to write) how to add this pcr in schema and where regards. Dilek Posts: 3. Regards. Reply Where should I insert a PCR for additional allowance?I put it below P0015 L011 GEN NOAB line. Reply my wagetype number is 1010. 2010 10:16 AM Hi guys. Re: PCR to add amount in /3M3 Reply Posted: Mar 23.
2010 11:37 AM in response to: miss hr PIT XXXX ur PCR Sikindar Reply Posts: 13. 2010 4:00 AM in response to: miss hr use the operation OUTWPPERSG PERSG is Employee Group Reply Sikindar Posts: 13. I need to specify certain employee group to receive this allowance.166 Shyam V Posts: 530 Registered: 4/15/08 Forum Points: 656 Re: PCR for additional payments Posted: Feb 23. . Reply I am still not convinced that for your requirement you will have to write the PCR. Reply Why do you want to write a PCR for additional payment? Standard P0015 will read IT0015 and give the wage types in output tables. This is additional payment and it will be paid once or whenever required. 2010 2:29 AM in response to: Shyam V Hi.476 Registered: 9/27/07 Forum Points: 17.Shyam V Posts: 530 Registered: 4/15/08 Forum Points: 656 Re: PCR for additional payments Posted: Feb 22. With Regards Shyam V Re: PCR for additional payments Posted: Feb 22.166 in sub schema INAP payments/Deductions under P0015 try and let me know miss hr Posts: 8 Registered: 2/10/10 Forum Points: 0 Re: PCR for additional payments Posted: Feb 23. 2010 11:06 AM in response to: miss hr Hi. 2010 1:50 PM in response to: miss hr HI.right? TQ Re: PCR for additional payments Reply Posted: Feb 23.476 Registered: 9/27/07 Forum Points: 17. For this kind of requirement you can provide end user a LSMW / PA70 action where in they can upload Additional Payment for a group of employee.I should put this condition inside my PCR.
Process payroll Rule RAB .To include the subschema in Parameter 1.Process Input Table PRT . Parameter 2 can have these values : Blank. Second denotes Function name. If / Else/ Endif . PIT . GEN. There are 8 columns in Schema editor. 2007 11:18 AM in response to: Balwant Subhedar Hi. Reply To understand the concept.Used to start same nested level like Block Beg. These are the list of view Function you can use in Col 2: COPY . Exx.Day processing of Time Data.Still if you want to proceed further use the Operation given by Sikindar.Process Result Table ACTIO . Parameter 1 to mention the Subschema or Rule name to process.To make the line as Command Line. Blank Mention your calculation in the corresponding Rule and include that in the Schema.Read Absences Daypr .To check some condition in Parameter 2. With Regards Shyam V Re: How I can write schema? Posted: Aug 14. BLOCK . End. Pxxxx . Parameter 3 can have these values : NOAB.To process the infotype. you have to start from scratch level. You can query according to the Employee Subgroup. 7th col used to deactivate the line and 8th column denotes the text of the line. COM . Pxx. in which first col denotes Line number. . 3 to 6 denotes Parameters.
For the commands using 2 letters . delete. You can tell the difference between sub-schemas a rules by looking at the parameters. copy and insert lines. when a rule is called. The main schema generally calls all the different sub-schemas. Schemas. The most commonly used commands are: Line Command D I M C DD Deletes a line Inserts a line Moves a line Copies a line Indicates the start of a block to be deleted Description .SAP HR Payroll Schemas and Personnel Calculation Rules (PCR's) 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. All the commands are entered in the area used for the line numbers. most sub-schemas are called by the "copy" command. For the commands using 1 letter . Double-clicking on any of the rules (PCR's) will take you to the rule editor. The sub-schemas will then call the payroll rules. The name of the sub-schema can be found in the Par 1 column. rules and features in SAP use the following line editor commands. In the main. This allows you to move. there will be parameters in the Par 2 or Par 3 columns. Overwrite any of the numbers with the commands shown below.hit the return key after the first 2 letters have been entered or after both sets have been entered.hit the return key once you have entered the letter. In most cases.
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. It is processed. Defines the start and end of a nested node Processes the information held in infotype xxxx. If in doubt. place the rule after the similar data has been read and processed. irrespective of whether the wage type exists or not. Commonly used Functions Function PIT PRT COPY BLOCK Process Input Table Process Results Table Calls a schema placed in PAR1. you haven't specified one and NOAB means that it will look at any EE SubGrouping. you need to show where to move or copy it to in the schema. Position is very important for schemas. Description IF/ELSE/ENDIF The schema is processed if the condition is fulfilled Pxxx ACTIO .DD CC CC MM MM 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 Once you have chosen the block to move or copy. The following commands indicate where you can copy or move the lines to. If you want the rule to use specific wage types or groupings. Actio calls a PCR. Look to see where a similar piece of processing has taken place. then leave either blank. Use the print option and VAR (PAR 2) in the schema to output the variable table during processing.
. Current Num and Amt are added in to wage type 4067. If you leave the line blank for the operation then the WT is dropped.Commonly used Parameters Parameter GEN 9000 NOAB 1 Payroll PCR's 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. This operation is very similar to ADDWT.) wage types From the IT. The only difference is that it writes the value to table V0 as well Store the current wage type in the IT. Blank is OT whilst E refers to the RT..) and valuation(/201. 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 Description 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 * ADDCU ADDNA * ADDNA 4067 ADDWSE9N03 ADDWSI* ADDWT * ADDWT 1103 . Cumulates the wage type into the relevant cumulation (/101. Number and Amt are cumulated into the OT. Remember you always have to have an option for * in your PCR.
called in the rules XDPI.9023 AMT%33.1103 ADDWT&T Adds the current wage type to the variable table as T . 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) Store amount in Results Table (RT) .which can be used at a later stage The values in the wage type are copied to the previous employer table VAG .) Multiply the amount by 33.33 .33% ADDWTA* ADDWTC* ADDWTC/101 ADDWTD* ADDWTD/551 ADDWTD/APO ADDWTE ADDWTE* ADDWTE/101 ADDWTH/201 ADDWTI* ADDWTI/101 ADDWTL* ADDWTN ADDWTN/LRP ADDWTW AMT.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.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 .
) Add amount field from wage type 9013 from Table IT (if wage type 9013 is available.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 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. Subtract 0.) Add the value held in the variable ZSAP to the AMT*KGENAU AMT-.04 AMT/2 AMT/KGENAU AMT/KPKWPR AMT/KZF001 AMT? * AMT? /GPY AMT?& ZAPR AMT?0 AMT?E /167 AMT?IGRUEB AMT+ /564 AMT+ 0001 AMT+ 9013 AMT+& ZSAP . GENAU is used to factor up by 4 or 5 factors of 10 to avoid the issue of errors caused by rounding.AMT%KSAPRO AMT-& T AMT*-1 AMT*12 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.
last result table Lets the Amt = the Amt held for the wage type /561 in the LRT .amount for the current wage type being processed AMT+E 910B AMT+O /ZPO AMT< /562 AMT= * AMT= /111 AMT= 1000 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 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 Add the amount value in technical loan wage type AMT= BETRG AMT= PKWWR AMT= PLANS AMT=& /426 AMT=& TASA AMT=0 AMT=A * AMT=E * AMT=E /167 AMT=KSAPLR AMT=L * AMT=L /561 AMT=N /LBB .
Subtraction to 0 (not negative) for the current wage type Subtraction to 0 (not negative). Can only be run after bank transfer data has been read AMT=N /LRP AMT=Q /GPY AMT=ZERO AMT>* AMT-1 AMT50 AMT-E /167 AMT-K43301 AMT-O /167 AMT-R 9019 AMTS /564 AMTS* AMTS* 9013 AMTSE 9043 BTREC /558 . Otherwise it is set at 50 (forming a minimum amount). Current wage type less 9013 Subtraction to 0 (not negative).I think this should be subtract 1 from the amt If the amount field value is smaller than 50." Multiply the amount by -1 . it is retained. 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 ./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 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. Current wage type less Amt held in the RT for wage type 9043 "Sets the recipient data for bank transfers.the value cannot be less than zero.
" 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 FILLF N Compares the current amount with that held for period 10 in year 05. and the result (µ>¶.e.employee sub-group grouping for PCRs Eliminate splits .i.cost accounting Eliminate the splits for cost accounting. µ=¶ or µ<¶) is placed in the variable key. Expect a decision in this line The amount field value is compared with 0. .time unit Processing terminates for the current employee Restore the original values for the amount .absence assignment Eliminate splits . alternative payments and variable assignment Eliminate splits .variable assignment Eliminate splits .from an infotype.i.bank transfer (BT) Eliminate splits . 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 .e.alternative payments (ALP) Eliminate splits .work center period (WPBP) Eliminate splits . 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. The values that were held for the amount field in the WT before any processing in this rule Restore the original values for the number .
i.e.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. rate and amount fields in the WT before any processing in this rule Restore the original values for the rate . rate and amount . 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. Comes up whether the log is turned on or off." Call PCR ZUM2 Calls PCR XALQ for all wage types . Calculation of averages for 01 (from table T511A) Calcualation of averages for 03 (from table T511A) . Called in GG70 and ensures that the old and new technical wage types for averages don't both exist. Evaluates the status of the LRT table. Processing is only continued if the previous month falls in the current year.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.e. The values that were held for the number. 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 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 .i. Can be used as a customised error message.not sure what the G implies Can use a 5 character message.
...Z followed by 0.5 NUM/100 NUM?0 NUM+ 3710 NUM+& ZNIL NUM+39 NUM+C 3000 NUM+E /852 NUM+TSAP** NUM= 3000 NUM= ANZHL .Z followed by 0. Placing an * in the last column in the operation column has the same effect as "nextr". 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. Continuation line. A.MULTI ANN MULTI NRA 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 field and put the result in the amount field Process the next line.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 NEXTR NEXTR A NEXTR B NUM* BSGRD NUM*1..9 Don't forget to put in the letter following the NEXTR in the continuation line of the next line.... A. Remember to put a letter or number in the next line under the NL column. Continuation line..9 Don't forget to put in the letter following the NEXTR in the continuation line of the next line.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 .
number field. 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 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 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 NUM=GSSOLL NUM=TSAU** NUM=TSAX** NUM=TSDIVI NUM=WOSTD NUM=YCURPP NUM-51 NUM-E /845 NUM-TSDIVP .
shift indicator Load Work Center and Basic Pay Data .payroll area 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 OUTWPABART OUTWPCTYMO OUTWPPAYSB OUTWPPERSB OUTWPPERSG OUTWPPLANT OUTWPPLTSC OUTWPSHIFT OUTWPTRFAR OUTWPWWEEK PCY X05D* PCY X93B PPPAR A PPPAR B PPPAR E PPPAR F .employee group Load Work Center and Basic Pay Data .personnel sub-area Load Work Center and Basic Pay Data .employee sub-group Load Work Center and Basic Pay Data . Multiplies by -1.working time measured in working hours taken from the total working time in payroll accounting period OPIND Evaluates operation indicator .country modifier Decide which payroll accounting area the employee is in Load Work Center and Basic Pay Data .personnel area Load Work Center and Basic Pay Data .used immediately after a database record has been read. Load Work Center and Basic Pay Data .pay scale type Load Work Center and Basic Pay Data .
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. If 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." Read Pay Scale Table .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 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.has the opposite effect to the ELIMI * operation.group and level Sets the splits back up again . You want to read the entry in table T51P1 with indicator 01 for the current IT wage type.is the opposite of ELIMI. Reset * . Resets the first national split (/SI) Resets the amount and the rate . PPPAR R PPPAR S PPPAR U PRINT PRINT& WTG PRINTC PRINTE PRINTL PRINTO R R51P1?10N R51P1=01R R51P6A RE510T RESET * RESET 1 RESET AR . processing should be continued. The value of the arrears characteristic should be placed in the variable key.resets all the split indicators. and store it in the OT table.
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.33 RTE-& HALF RTE* BSGRD RTE*-1 RTE*100 RTE*KGENAU RTE*KGENAU RTE/100 RTE/GKDIVI RTE/TADIVI Resets the cost accounting and employee subgroup grouping values Resets R .is the opposite of ELIMI .see SAP help for specifics 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 .so effectively multiply by .000).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 .resets the employee subgroup groupings for the employee Checks if the payroll run is a retroactive accounting run Rounds off the AMT field .Give the meaning of all the other variables elsewhere in the document.see SAP help for specifics Rounds off the RTE field . Rate divide by 100 RTE/ total working time in calendar days RTE/ total working time in working days .see SAP help for specifics Multiply the value held in the rate by 33.33% . RESET KR RESET R RETRO ROUND ROUND 005 ROUND +100 ROUNDA ROUNDB ROUNDG RTE%33.
00 RTE+BBETRG RTE+TKAU10 RTE= 1001 RTE= BETRG RTE= BSGRD RTE= BWGRL RTE=& AB RTE=0 RTE=10000 RTE=BBETRG RTE=BWOSTD .RTE/TASOLL RTE/TKDIVI RTE/TSDIVI RTE/TSDIVP 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 RTE?& VLBS RTE?0 RTE+ 1001 RTE+& MM RTE+* RTE+100.
from the current rate (totalled over all absence counting classes) Take away any unpaid absence. in worked hours. from the current rate (for absence counting class 20) Take away any unpaid absence. from the currently held rate (totalled over all absence counting classes) RTE=KGENAU RTE=TADIVP RTE=TASOLL RTE=TKDIVI RTE=TKSOLL RTE=TSAU07 RTE=TSDIVP RTE=TSSOLL RTE=ZERO RTE-GKAU** RTE-TAAU** RTE-TKAU** RTE-TKAU20 RTE-TSAU** .by the employee RTE=GKSOLL RTE=K30551 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. in calendar days.
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) STATU 2P SUBRC?SET SUBRC=0 SUBWT * SUBWT 1025 SUBWT&ZREG SUBWTD* SUBWTD/551 SUBWTE SUBWTE* SUBWTE/121 SUBWTI* .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 internal return code is set to the value 0 Subtracts the current wage type . Subtracts the current wage type (signs change) and stores it as 1025. The return code set in the second example must be evaluated.COND=F IF SCOND=T AL SCOND=T IF SCOND=T IF SETIN A=01 SETIN R=1 SETIN X=NX 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 .effectively changing the sign of the NRA. the number of the split is to be increased by 1 by every call. Status field 2 which is valid at the start of the inperiod is entered in the variable key. 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. Subtracts the current wage type and stores it as a temporary variable ZREG.
loan type P0045 Place in the variable key .premium indicator time ITs Place in the variable key .payroll type Place in the variable key .loan type Place in the variable key .payment key for bank VAKEYTGRLE VAKEYVERSL VAKEYZEINH VAKEYZLSCH .clearing key for overtime Place in the variable key .time unit Place in the variable key .Y/N alternative payment Place in the variable key .loan type P0045 Place in the variable key .type of bank details P0009 Store in the variable key the wage type 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 .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 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 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 .
transfers VALBS? 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. 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 VALBS?0 VALBS0 VALBS0 * VALBS0 B VALBS1 VALEN 2 VALEN 3 VAOFF 2 VARGBINDBW VARGBPRAKN VARGBTRFKZ VWTCL 64 WGTYP? WGTYP=* WPALL?LAST . The current wage type is evaluated with the valuation basis that is entered for the current wage type itself. Same as VALBS0 * with the exception that the data from infotype 2010 is used. and then you want to valuate this using the corresponding valuation basis. 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. (That the "0" line of view V_T512_B is read). The system with then ignores the first 2 digits. 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.set here to 2. (That is. Sets the length of the variable key to 2 Sets the length of the variable key to 3 Variable offset .
Also have a look at the documentation of IMPRE. number and amount equal to zero Initialises the variable ABCD Sets the NUM RTE and AMT to zero WPBPCW Z ZERO= AN ZERO= RNA ZERO=& ABCD ZERO=NRA 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). 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.period and 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. 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 Search Query Searc h SDS Offers SAP HR Services Overview Support Data Analysis Quality Assurance Video Tutorials .
Your Input Please let us know if there is a particular article you would like to see. Or give us some feedback on the site so we can improve your expe .
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.