Você está na página 1de 58

Welcome Guest

How to migrate the whole SAP environment to   Reply


another server.  
Posted: May 10, 2006 2:15 PM
Hi!

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

(pratip.bhattacharyya@gmail.com)

  Re: How to migrate the whole SAP   Reply


environment to another server.  
Posts: 661 Posted: May 10, 2006 3:46 PM   in
Registered: 3/29/04 response to: Pratip Bhattach...
Forum Points: 1,308 Hi,

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,


Mike.

  Re: How to migrate the whole SAP   Reply


environment to another server.  
Posts: 79 Posted: May 12, 2006 11:19 AM  
Registered: 2/16/06 in response to: Michael Eacrett
Forum Points: 28 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

Add Labels
Enter labels to add to this page:
Add

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).
Then press key F5 and set a soft break-point at PERFORM as-funktion.

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

Now you can stop just before next function to be processed in schema by pressing F8.
In this case, you are about to debug function P0092. To get inside it just press F5.
 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--- pe04.
 You can set a break-point in a payroll rule, as well. For this you'll use the payroll operation BREAK,
followed by your Abap prefix.

When a pernr is rejected in the payroll log.

Just set a break-point in the command "reject".  Start payroll processing in debugging mode /H, then
go to... finally press F8 key, you'll reach the reject command. After that you have to take a look at
"Calls" to guess where the error is coming from.
For example, you run the payroll drive and get a log like this:
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:
The following routines:

FORM   NEW_ABLEHNUNG
FORM   FILL_MSGTAB_FINAL_STEP
FORM   FILL_MSGTAB
FORM   ERRORS

Are common to all the rejections so they will not add any value info, 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):
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.
  
Find out at which point of the payroll Schema, a Wage Type is generated or a WT is set to a
specific value.

Watch-points will help you a lot on this. If for example you find that WT /341 equals 1.375,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,00 EUR.

Start payroll in debugging mode by going to the payroll driver selection-screen and setting /H at the
ok-code.Then press F8 to start the program.
Now create a watchpoint.

And fill the required condition.


 

Create a second watchpoint because the condition is: it-lgart = /341 and it-betrg = 1.375,00

Now both condition have to be linked by the "And" operator.


Now continue by pressing F8. The program will stop when the watchpoint condiiton is fulfilled.

You'll notice that in the watchpoint condition I used WT table IT instead of table RT. If I had set the
same condition for table RT, the program would have stopped later on in the schema when WT /341 is
collected to be stored in table RT which is useless. Sometimes, WTs are direcly created in table RT so
in that cases, setting the condition for table RT might be useful. Many times, WTs are created within a
rule operated by function PIT or PRT. In that cases, you'd better set the condition for table OT (OT-
LGART, OT-BETRG...). If you do so, the program will be stopped at the relevant operation within
the rule. To see which rule is it, look internal table AS header. To know what operation is it, display
the structured field OP.

By the way, 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, the watchpoint will stop at the end of the rule as you can see in the code
below:

FORM fupit.

LOOP AT it.

plog4_perform plog_header_cycle(h99plog0)

using it-lgart calcmolga.

MOVE ccycl TO i52c5.

MOVE-CORRESPONDING it TO i52c5.

ot = it.

PERFORM regel.

plog1_perform plog_check_rule_performed(h99plog0).
ENDLOOP.

REFRESH it.

PERFORM ot-in-it-append. "append statt collect, beinhaltet refresh ot.

ENDFORM. "END OF FUPIT

So it's more accurate to set the watchpoint at table OT than at table IT in these cases, but remember
that rules are flexible and there are operations to append WTs directly to table IT.

Problems with Retros.

When there are many retro periods in the payroll run you are analyzing, 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. Table APER manages the periods processed in a payroll run and it's header
holds the currently processed period. In the following pic you can see that period 01.2008 is being
processed in a payroll run started from in-period 01.2009.

     

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. Deactivate (Not delete) the break-point at function EST00.

2. Set APER-PAPER = APER-IAPER as a watchpoint condition.

As an alternative to using table APER, you can assign a counter to the break-point so that it stops only
after "n" ocurrencies:

e.g. Stop in function EST00 after EST00 being processed 13 times:

Finally, when the APER-PAPER is set to the payroll period you want to analyse (beause the
watchpoint stopped), 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. e.g. function
wpbp is coded as form fuwpbp. Payroll Operations are coded as OPXXX being XXXX the name of
the operation. Knowing this makes easy to reach any Function / Operation.
 

Then press F8 key and you get to the beginning of the routine.

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. When a PCR is processed, a sequence of payroll operations will be processed.
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.

Firtsly you have to reach the rule you are going to debug. 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).
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.

 Going to the payroll log we see that WT S121 is calculated at PCR ESPB:
So now, let´s start the debugger and set the watchpoint condition AS-PARM1 = ESPB and OT-
LGART = S121, here is how your debugger screen will look when the watchpoint conditions are
reached:
Rule ESPB is processed by PIT Function which means that table WTs in table IT will be processed in
a loop. 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. At the
end of the PCR processing, table OTwill substitute table IT. Relevante fields for IT and OT are
( LGART, BETRG. BETPE, ANZHL...).

Now go inside PERFORM regel by pressing F8 and search PERFORM boper with the arrow down
-> 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. For example in retrocalculation or in case a your break-point is in a routine
that is placed inside a loop. E.g. you placed a break-point inside a piece of code that is executed
within a loop and you want the debugger to stop only the 10th time that the break-point is reached.
You can specifiy a counter for your break-point.

Click on the break-point button:

Set 10 times in the count. field.

Of course, if the break-point is reached less than 10 times, it will never stop, but you are
supposed to know th number of times the break-point will be reached before hand.

Can all this be applied to the Time Evaluation?.

Yes, RPTIME00 works with the rules in the same way as the payroll drivers RPCALCX0
/ HXXCALC0. In this case you may find useful to know that PER play the same role as
table APER for payroll. Therefore you can use the header of PER to stop the processing
at a specific day:
e.g. Set a watchpoint at PER-BEGDA = 20080901. 

Good to know:

You can expand the payroll an time schema by running program RPDASC00.

help : how to configure attendance in schema (PE02)  


Posted: Oct 29, 2007 5:20 AM
dear SAP masters,
  Reply
can u help me find what's wrong with my schema? it can't work properly
VARSTP2002 :
- N
- Y :
HRS?4.00 :
- <
- = :
- HRS=1
- ADDZLS2816
- > :
- HRS=1
- ADDZLS2816

Re: help : how to configure attendance in schema (PE02)  


Posted: Oct 29, 2007 7:32 AM   in response to: edison edison
hai..

pls modify ur PCR ( Not Schema) in the following way

outtpprtyp
n
y   Reply
hrs=d1234( create a time type )
HRS?4.00 :
-<
-=:
- HRS=1
- ADDZLS2816
->:
- HRS=1
- 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, get a transport allowance (wage type 2816)

that is the detail. i'm sorry, i dont know how to explain it more detail :"(
this is my complete PCR. maybe you could understand the problem if u see that. ;-)
VARSTHOLCL //public holiday
0
1
OUTWPTRFST //level
07
08
VARSTP2002
N
Y
HRS?3.99

HRS=1
ADDZLS2816

when i run PT60, although if there is a data in IT2002 that have attendance hours=7, it
was read HRS<3.99 when enterred the PCR.
i think my PCR didn't read attendance hours, but i don't know how to fix it..

Hi Edison,
Before checking HRS?3.99,
you should use HRS=PNUM
then it collects the hours.
Hope this helps.
Good luck

Can I suggest you some thing?


VARSTHOLCL //public holiday
* COLOP*
1
OUTWPTRFST //level
* COLOP //for any other level
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.

Hi Edison,
It should work I dont know why you are not getting the result.In the schema,did you call
the rule like this?
PTIP ZXXX GEN
here ZXXX is your rule.
Next time when you run the TE check the log and see how the rule has got processed,like
you can see till which line it worked.
instead of p2002,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*
Operation On Wage Types in PCR     Reply
Posted: Jul 14, 2009 9:19 AM
Hello experts,

I want to subtract a wagetype(WT) result from other WT and store it in first WT in PCR.
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.
  Re: Operation On Wage Types in PCR   Reply

Posts: 1,002 Posted: Jul 14, 2009 9:39 AM   in


Registered: 7/2/08 response to: DeeptiGupta
Forum Points: 1,310 Operation SUBWT

PRess F1 to read document and syntax

Regards
...Sadhu
  Re: Operation On Wage Types in PCR   Reply

Posts: 3,119 Posted: Jul 14, 2009 9:52 AM   in


Registered: 5/16/08 response to: DeeptiGupta
Forum Points: 6,916 Hi Deepti,

First write a PCR to put the value of B into a variable.

i.e. * BBBB : ADDWT&BBBB

Then add this value into A in another PCR(you're adding not


subtracting as value of B is already negative).

i.e. * /3RB :

AMT+& BBBB ADDWT *

Regards,

Dilek

Edited by: Dilek Ersoz on Jul 14, 2009 9:52 AM


  Re: Operation On Wage Types in PCR   Reply
Posts: 71 Posted: Jul 14, 2009 11:42 AM   in
Registered: 2/27/09 response to: Dilek Ersoz Adak
Forum Points: 0 I created the PCR to store the value of WT B in variable.

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. Also the second PCr, though it is processed the results are
not changed... output is same as Input table
  Re: Operation On Wage Types in PCR   Reply

Posts: 3,119 Posted: Jul 14, 2009 12:24 PM   in


Registered: 5/16/08 response to: DeeptiGupta
Forum Points: 6,916 First check the input IT of PCR ZCLA whether there is an entry *
1017 (or anything else, e.g. 3 1017)
If it is 3 1017, for example, you should write PCR ZCLA for 3
1017.
Check this condition for the second PCR also.

Secondly, in the second PCR, you directly writing /3RB into RT


table via operation ADDWTE *.
Depends on your schema structure, but you may need to keep it in
output IT via ADDWT * as I have suggested before.

Dilek
  Re: Operation On Wage Types in PCR   Reply

Posts: 71 Posted: Jul 14, 2009 12:57 PM   in


Registered: 2/27/09 response to: Dilek Ersoz Adak
Forum Points: 0 I have checked the input IT of PCR. Its * 1017. when I used with
other wage type /3R9 , it processed the PCR. In the output this
wage type /3R9 was not available.
The second PCr was getting processed earlier as well but with no
calculated results. Output is still same as input

Also I am using ADDWT * (to the output table) only.

Edited by: DeeptiGupta on Jul 14, 2009 1:05 PM


PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 8:10 AM
hi all,

i will maintain one wagetype in IT-15. what ever the amount i input in that wage type that
amount has to be included in /3M3.

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.


  Re: PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 8:15 AM   in
Posts: 13,476 response to: saathi
Registered: 9/27/07 https://forums.sdn.sap.com/click.jspa?searchID=-
Forum Points: 17,166 1&messageID=7125769
  Re: PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 8:23 AM   in
Posts: 3,119 response to: saathi
Registered: 5/16/08 Hi saathi,
Forum Points: 6,916
Add the PCR just after P0015 function or the point /3M3 WT is
created, whichever is later.

Your PCR should be written for XXXX WT (added via 15 IT)


ADDWT * ADDWT/3M3.
You may ignore ADDWT * if you don't want XXXX WT to
remain in IT.

Best regards,

Dilek
  Re: PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 8:29 AM   in
Posts: 469 response to: Dilek Ersoz Adak
Registered: 1/22/08 hi
Forum Points: 136
thanks for ur reply.
but, plz explain me with some more clarity on this. bcoz i never
wrote a PCR.

regards,
  Re: PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 8:32 AM   in
Posts: 3,119 response to: saathi
Registered: 5/16/08 Create the PCR via PE02.
Forum Points: 6,916 Then you need to integrate it into schema via PE01.
  Reply
Regards,

Dilek
  Re: PCR to add amount in /3M3  
Posted: Mar 23, 2009 8:40 AM   in
Posts: 469 response to: Dilek Ersoz Adak
Registered: 1/22/08 plz answer my questions in same order.
Forum Points: 136
my wagetype number is 1010. i want to maintain Rs.50/- in this
wagetype. and this amount should add in /m3m.

suggest me name for new pcr.


one by one line steps in pcr (what i have to write)
how to add this pcr in schema and where

regards,
  Re: PCR to add amount in /3M3     Reply
Posted: Mar 23, 2009 3:15 PM   in
Posts: 469 response to: Dilek Ersoz Adak
Registered: 1/22/08 thanx a lot. u really helped me lot. i added that pcr after function
Forum Points: 136 INMED.

PCR for additional payments     Reply


Posted: Feb 22, 2010 10:16 AM
Hi guys,

Where should I insert a PCR for additional allowance?I put it below P0015 L011 GEN
NOAB line,and created it in IT0015.And I noticed even I commented out my PCR,the
payment is still available in my payroll result.

I also noticed this payment keep recurring even for next months,same like recurring
payments.

Please help.

TQ
  Re: PCR for additional payments     Reply
Posted: Feb 22, 2010 11:06 AM   in
Posts: 530 response to: miss hr
Registered: 4/15/08 Hi,
Forum Points: 656
Why do you want to write a PCR for additional payment?
Standard P0015 will read IT0015 and give the wage types in
output tables.

With Regards
Shyam V
  Re: PCR for additional payments     Reply
Posted: Feb 22, 2010 11:37 AM   in
Posts: 13,476 response to: miss hr
Registered: 9/27/07 PIT XXXX ur PCR
Forum Points: 17,166
in sub schema INAP payments/Deductions under P0015 try and
let me know
  Re: PCR for additional payments     Reply
Posted: Feb 23, 2010 2:29 AM   in
Posts: 8 response to: Shyam V
Registered: 2/10/10 Hi,
Forum Points: 0
I need to specify certain employee group to receive this
allowance.I should put this condition inside my PCR,right?

TQ
  Re: PCR for additional payments     Reply
Posted: Feb 23, 2010 4:00 AM   in
Posts: 13,476 response to: miss hr
Registered: 9/27/07 use the operation OUTWPPERSG PERSG is Employee Group
Forum Points: 17,166
  Re: PCR for additional payments     Reply
Posted: Feb 23, 2010 1:50 PM   in
Posts: 530 response to: miss hr
Registered: 4/15/08 HI,
Forum Points: 656
I am still not convinced that for your requirement you will have to
write the PCR. This is additional payment and it will be paid once
or whenever required. 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.

Still if you want to proceed further use the Operation given by


Sikindar. You can query according to the Employee Subgroup.

With Regards
Shyam V
Re: How I can write schema?  
Posted: Aug 14, 2007 11:18 AM   in response to: Balwant Subhedar
Hi,

To understand the concept, you have to start from scratch level. There are 8 columns in
Schema editor, in which first col denotes Line number, Second denotes Function name, 3
to 6 denotes Parameters, 7th col used to deactivate the line and 8th column denotes the
text of the line.

These are the list of view Function you can use in Col 2:

COPY - To include the subschema in Parameter 1.


COM - To make the line as Command Line.
BLOCK - Used to start same nested level like Block Beg, End.
If / Else/ Endif - To check some condition in Parameter 2.   Reply
Pxxxx - To process the infotype.
PIT - Process Input Table
PRT - Process Result Table
ACTIO - Process payroll Rule
RAB - Read Absences
Daypr - Day processing of Time Data.

Parameter 1 to mention the Subschema or Rule name to process.


Parameter 2 can have these values : Blank, GEN, Pxx, Exx.
Parameter 3 can have these values : NOAB, Blank

Mention your calculation in the corresponding Rule and include that in the Schema.

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.

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
Description
Command
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
Description
Command
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 calls a PCR. It is processed, irrespective of
ACTIO
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 Europe Great Britain Tools Maintenance Tools


Rules

Commonly used operations in payroll configuration

Operation Description
This covers all the remaining entries not already
specified. If you leave the line blank for the
*
operation then the WT is dropped. Remember you
always have to have an option for * in your PCR.
Cumulates the wage type into the relevant
ADDCU cumulation (/101...) and valuation(/201...) wage
types
From the IT, Number and Amt are cumulated into
ADDNA *
the OT. Blank is OT whilst E refers to the RT.
Current Num and Amt are added in to wage type
ADDNA 4067
4067.
This operation is very similar to ADDWT. The
ADDWSE9N03 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
All the current values for amt, num and rte are
ADDWT 1103 added to the values that are currently held in wt
1103
Adds the current wage type to the variable table as
ADDWT&T
T - which can be used at a later stage
The values in the wage type are copied to the
ADDWTA* previous employer table VAG - called in the rules
XDPI, XDPR & XDPT
ADDWTC* The values in the current wage type are added into
the CRT
The values in the current wage type are added into
ADDWTC/101
the CRT for the technical wage type /101
The values in the current wage type are added into
ADDWTD*
the Difference table DT
The values in the current wage type are added into
ADDWTD/551 the difference table DT for the technical wage
type /551
Add the current wage type to the difference table
ADDWTD/APO
(DT)
Store amount in Results Table (RT) - difference
ADDWTE
with line below
ADDWTE* Add the current wage type to the results table RT
Add the current wage type to the results table as /
ADDWTE/101
101
Add the current wage type to the old results table
ADDWTH/201
(ORT) as wage type /201
ADDWTI* Add the current wage type to the input table IT
The values in the current wage type are added into
ADDWTI/101
the input table IT for the technical wage type /101
Add the current wage type to the results table last
ADDWTL*
payroll (LRT)
ADDWTN Used in XLON
ADDWTN/LRP (Loans - XLON)
Add the current wage type to the wage
ADDWTW
maintenance table
Subtract amount field from wage type 9023 from
AMT- 9023
Table IT (if wage type 9023 is available.)
AMT%33.33 Multiply the amount by 33.33%
Multiply the amount by the value SAPRO held in
AMT%KSAPRO
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
Divide the amount by the factor GENAU held in
AMT/KGENAU
the constants table T511k
Amount divided by the constant PKWRP held in
AMT/KPKWPR
table T511K
Amount is divided by constant ZF001 from table
AMT/KZF001
T511K
Compare the value held in the amount field for all
AMT? *
wage types
Compare the value held in the amount field for
AMT? /GPY
wage type /GPY
Compare the value held in the amount field
AMT?& ZAPR
against the constant ZAPR
Compare the value held in the amount field
AMT?0
against 0
Compare the amount against the value of the
AMT?E /167 amount held in the results table RT for wage
type /167
Compare the current amount against the limit held
AMT?IGRUEB
for the bank transfer
AMT+ /564 Add the amount from wage type /564 from the IT
Add amount field from wage type 0001 from
AMT+ 0001
Table IT (if wage type 0001 is available.)
Add amount field from wage type 9013 from
AMT+ 9013
Table IT (if wage type 9013 is available.)
Add the value held in the variable ZSAP to the
AMT+& ZSAP
amount for the current wage type being processed
Add the current amount to the RT and place in
AMT+E 910B
wage type 910B
Add Amt from wage type /ZPO into VORT
AMT+O /ZPO
(Summarised ORT)
Checks whether the currently held amount is less
AMT< /562
that that held in the wage type /562
This sets the amount = zero for the wage type in
AMT= *
question
Store the value in the amount field of wage type /
AMT= /111
111 in the amount field of wage type 2110
Store the value in the amount field of wage type
AMT= 1000
1000 in the amount field of wage type 2110
Let the amount equal the value held in the
AMT= BETRG BETRG (amount) field for the wage type in
question
Reset the amount on wage type xxxx to that held
AMT= PKWWR
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
Reset the amount on wage type xxxx to that held
AMT=& TASA
in the temporary wage type TASA
AMT=0 Let the amount equal zero
The amount is set to the value held in the table
AMT=A *
VAG - previous employee data
Lets the Amt = the Amt held for the current wage
AMT=E *
type in the RT
Lets the Amt = the Amt held for technical wage
AMT=E /167
type /167 in the RT
Set the amount = the value SAPLR held in table
AMT=KSAPLR
T511k
Lets the Amt = the Amt held for the current wage
AMT=L *
type in the LRT - last result table
Lets the Amt = the Amt held for the wage type
AMT=L /561
/561 in the LRT - last result table
Add the amount value in technical loan wage type
AMT=N /LBB /LBB (loan balance) to specific loan balance wage
type
Add the amount value in technical loan wage type
AMT=N /LOP /LOP (loan payment) to specific loan payment
wage type
Add the amount value in technical loan wage type
AMT=N /LRP /LRP (loan repayment) to specific loan repayment
wage type
Lets the Amt = the Amt held for the wage type
AMT=Q /GPY
/561 in the OCRT - old cumulative result table
AMT=ZERO Reduce the value in the amount field to zero
"Maximum formation: The greater value of * and
AMT>* the current value of the AMT field is determined
and written to the current AMT field."
Multiply the amount by -1 - I think this should be
AMT-1
subtract 1 from the amt
If the amount field value is smaller than 50, it is
AMT50 retained. Otherwise it is set at 50 (forming a
minimum amount).
Subtract the Amt value held in the RT for /167
AMT-E /167
from the currently stored amount
Take the value held against payroll constant
AMT-K43301
43301 from the annual salary
Subtract the Amt value held in the ORT for /167
AMT-O /167
from the currently stored amount
Amt for the current wage type less the value held
AMT-R 9019 in the RT for 9019 (Results wage types using
exact splits)
Subtraction to zero - the value cannot be less than
AMTS /564
zero.
Subtraction to 0 (not negative) for the current
AMTS*
wage type
Subtraction to 0 (not negative). Current wage type
AMTS* 9013
less 9013
Subtraction to 0 (not negative). Current wage type
AMTSE 9043
less Amt held in the RT for wage type 9043
"Sets the recipient data for bank transfers. Can
only be run after bank transfer data has been read
from an infotype. Data on wage type and amount
BTREC /558
are transferred from the current fields (OT) and
retained in the transfer table together with data on
the recipient of the record last read."
Compares the current amount with that held for
CMPER 0510
period 10 in year 05.
D Expect a decision in this line
The amount field value is compared with 0, and
D AMT?0 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
Divide the value in amount field by the value in
DIVID ARA
the rate field and put the result in the amount field
Divide the amount by the rate and store the
DIVID ARR
answer in the rate for the wagetype
Divide the number by the rate and store the
DIVID NRN
answer in the number field
ELIMI * Eliminate all splits
ELIMI A Eliminate splits - work center period (WPBP)
ELIMI K Eliminate splits - cost accounting
Eliminate the splits for cost accounting,
ELIMI KTX
alternative payments and variable assignment
Eliminate splits - employee sub-group grouping
ELIMI R
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
Restore the original values for the amount - i.e.
FILLF A 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.
FILLF N The values that were held for the number field in
the WT before any processing in this rule
Restore the original values for the number, rate
and amount - i.e. The values that were held for the
FILLF NRA
number, rate and amount fields in the WT before
any processing in this rule
Restore the original values for the rate - i.e. The
FILLF R 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
GBVRT
of wage type /MAE in table RT in case of a retro
calculation."
GCY ZUM2 Call PCR ZUM2
Calls PCR XALQ for all wage types - sets wage
GCYGXALQ
type to ****
GEWRT Elimination of WPBP split in the RT
New Changes Across End of Year solution active
GSXP2
for GBSXP phase 2
Check on Implementation Date of AVERA for
SxP AWE. Called in GG70 and ensures that the
GSXPD
old and new technical wage types for averages
don't both exist.
Evaluates the status of the LRT table. Processing
LRTST Y is only continued if the previous month falls in the
current year.
MEANV 01 Calculation of averages for 01 (from table T511A)
Calcualation of averages for 03 (from table
MEANVG03
T511A) - not sure what the G implies
Can use a 5 character message. Comes up whether
MESSGxxxxx the log is turned on or off. Can be used as a
customised error message.
Sets the modifier for Wage type generation
MODIF 1=02
(T510S) to 02 as the employee grouping
Sets the modifier for Constant valuations (T510J)
MODIF 2=01
to 01 as the employee grouping
Sets the modifier for the absence valuation rule
MODIF A=01
(T544C) to 01
Multiply the amount by the number and store as
MULTI ANN
the number field for the wage type
Multiply the value in number field by the value in
MULTI NRA
the rate field and put the result in the amount field
Process the next line. Placing an * in the last
column in the operation column has the same
NEXTR
effect as "nextr". Remember to put a letter or
number in the next line under the NL column.
Continuation line. A...Z followed by 0...9 Don't
NEXTR A forget to put in the letter following the NEXTR in
the continuation line of the next line.
Continuation line. A...Z followed by 0...9 Don't
NEXTR B forget to put in the letter following the NEXTR in
the continuation line of the next line.
Multiply the value in the number field by the
NUM* BSGRD 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
Add the value in the number field of wage type
NUM+ 3710 3710 to the number field in the WT being
processed
Adds the number held in the temporary variable
NUM+& ZNIL
ZNIL to the currently held value for the number
NUM+39 Add a value of 39 to the number field
Add to the NUM value from wage type 3000 held
NUM+C 3000 in the CRT table - to the NUM value of the WT
being processed
Adds the number held in technical wage type /852
NUM+E /852
to the currently held value for the number
Adds the number from the partial period
parameter for the paid absence measured in
NUM+TSAP**
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
NUM= 3000
type 3000
Transfers the value of the ANZHL field to the
NUM= ANZHL
number field.
Sets the number equal to the valuation basis per
NUM= BWGRL
hour
NUM = Capacity utilization level from P0007
NUM= EMPCT
(called record layout fields in SAP Help)
Sets the number equal to the position number of
NUM= PLANS
the employee
Sets the number equal to the number of hours
NUM= STDAZ
taken from IT 0007
Sets the number equal to the number held in the
NUM=& ZSHF
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
Sets the number equal to the daily hours worked
NUM=BTGSTD
by the employee
Sets the number equal to the weekly hours worked
NUM=BWOSTD
by the employee
Set the NUM = the value of /SSP held in the
NUM=E /SSP
results table
Sets the number equal to the working hours for
NUM=GSDIVP
the employee for the entire payroll period
Set the number = planned working time measured
NUM=GSSOLL 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 (?)
NUM-51 Reduce the hours held in the number field by 51
Take away the number for technical wage type
NUM-E /845 /845 held in the RT from the currently held
number
Current value in the number field less the total
working time measured in working hours taken
NUM-TSDIVP
from the total working time in payroll accounting
period
Evaluates operation indicator - used immediately
OPIND after a database record has been read. Multiplies
by -1.
Load Work Center and Basic Pay Data - payroll
OUTWPABART
area
Load Work Center and Basic Pay Data - country
OUTWPCTYMO
modifier
Decide which payroll accounting area the
OUTWPPAYSB
employee is in
Load Work Center and Basic Pay Data -
OUTWPPERSB
employee sub-group
Load Work Center and Basic Pay Data -
OUTWPPERSG
employee group
Load Work Center and Basic Pay Data -
OUTWPPLANT
personnel area
Load Work Center and Basic Pay Data -
OUTWPPLTSC
personnel sub-area
Load Work Center and Basic Pay Data - shift
OUTWPSHIFT
indicator
Load Work Center and Basic Pay Data - pay scale
OUTWPTRFAR
type
Load Work Center and Basic Pay Data - working
OUTWPWWEEK
week from IT 0007
Runs PCR X05D for all employee subgroup
PCY X05D*
groupings
PCY X93B Runs PCR X93B
Reads part period parameters: leavers during
PPPAR A
payroll period
Reads part period parameters: paid absences
PPPAR B
during payroll period
Reads part period parameters: new joiners during
PPPAR E
payroll period
Reads part period parameters: leavers on the first
PPPAR F
day of the next payroll period
Reads part period parameters: if the time unit for
PPPAR P the payroll area is different to the time unit for the
pay scale type and area
Reads part period parameters: is the employee is
PPPAR R
in an active work centre?
Reads part period parameters: basic pay changes
PPPAR S
during payroll period
Reads part period parameters: for unpaid absences
PPPAR U
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
Prints out the contents of the old results table
PRINTL
(LRT)
PRINTO Prints the summarised ORT (VORT)
Employee work centre is inactive, therefore do
R
nothing
You want to know if there is an entry in table
T51P1 with indicator 10 for the current IT wage
R51P1?10N
type. If an entry is found, processing should be
continued.
You want to read the entry in table T51P1 with
indicator 01 for the current IT wage type, and
R51P1=01R
store it in the OT table. If an entry is found it
should be rejected
"Operation R51P6 reads an entry from table
T51P6. This table determines the characteristics
R51P6A 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
Sets the splits back up again - has the opposite
RESET *
effect to the ELIMI * operation.
RESET 1 Resets the first national split (/SI)
Resets the amount and the rate - is the opposite of
ELIMI. Reset * - resets all the split indicators.
RESET AR
Give the meaning of all the other variables
elsewhere in the document.
Resets the cost accounting and employee
RESET KR
subgroup grouping values
Resets R - is the opposite of ELIMI - resets the
RESET R
employee subgroup groupings for the employee
Checks if the payroll run is a retroactive
RETRO
accounting run
Rounds off the AMT field - see SAP help for
ROUND
specifics
Rounds the AMT field up so that it is divisible by
ROUND 005
005
Rounds the AMT field to the next available
ROUND +100
number
Rounds off the NUM field - see SAP help for
ROUNDA
specifics
Rounds off the RTE field - see SAP help for
ROUNDB
specifics
Rounds off the AMT field - see SAP help for
ROUNDG
specifics
Multiply the value held in the rate by 33.33% - so
RTE%33.33
effectively multiply by .3333
Subtract the value held in the constant HALF
RTE-& HALF
from the rate
Multiply the value held in the rate by the capacity
RTE* BSGRD
utilization level field on infotype 0008
Multiply the rate by negative 1 - effectively
RTE*-1
switch the sign for the value
RTE*100 Multiply percentage held in rate field by 100
Multiply the rate by the constant GENAU held in
RTE*KGENAU
table T511k
Multiply the value in the rate field by the payroll
RTE*KGENAU
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/ planned working time measured in work
RTE/TASOLL
days
RTE/ Total working time measured in calendar
RTE/TKDIVI
days
Divide the value in the rate field by the worked
RTE/TSDIVI
hours for pay period being processed.
RTE/ total working time measured in working
RTE/TSDIVP
hours
Check to see how the current rate compares
RTE?& VLBS against the value held in the temporary variable
VLBS
Check to see how the current rate compares
RTE?0
against a value of zero
Adds the rate held in wage type 1001 to the
RTE+ 1001
currently held rate
Adds the rate held in the variable MM to the
RTE+& MM
currently held rate
RTE+* Adds the current rate to the IT
RTE+100.00 Adds a value of 100 to the currently held rate
Add the amount from table to the currently held
RTE+BBETRG
rate
Add the unpaid absences measured in calendar
RTE+TKAU10
days for counting class 10 from table T554C
Set the rate equal to the value held in the rate field
RTE= 1001
for wage type 1001
RTE= BETRG Set the rate equal to the amount
Set the rate equal to the capacity utilization level
RTE= BSGRD
held on infotype 0008
RTE= BWGRL Sets the rate equal to the valuation basis per hour
Sets the rate equal to the value held in the
RTE=& AB
temporary variable AB
RTE=0 Set the rate field to zero
RTE=10000 Store 10000 in the rate field of wage type xxxx
Set the rate equal to the amount pulled from the
RTE=BBETRG
table
Sets the RTE equal to the weekly hours worked
RTE=BWOSTD
by the employee
RTE=GKSOLL Set the rate as the planned calendar days
Store the value held against payroll constant
RTE=K30551 30551 in table T511 in the rate field of wage type
xxxx
RTE set to the value of GENAU from table
RTE=KGENAU
T511K (default set at 10 000)
RTE = Total working time measured in working
RTE=TADIVP
days
RTE = planned working time measured in work
RTE=TASOLL
days
RTE = Total working time measured in calendar
RTE=TKDIVI
days
Store the planned calendar days in the rate field of
RTE=TKSOLL
the wage type being processed
RTE = unpaid absence measured in working
RTE=TSAU07
hours for counting class 07
RTE = total working time measured in working
RTE=TSDIVP
hours
RTE=TSSOLL RTE = planned working time measured in
working hours
RTE=ZERO Reduce the value in the amount field to zero
Rate subtract the part period unpaid absences in
RTE-GKAU** calendar days for all unpaid absences (totalled
over all absence counting classes)
Rate subtract the part period unpaid absences in
RTE-TAAU** working days for all unpaid absences (totalled
over all absence counting classes)
Take away any unpaid absence, in calendar days,
RTE-TKAU** from the current rate (totalled over all absence
counting classes)
Take away any unpaid absence, in calendar days,
RTE-TKAU20 from the current rate (for absence counting class
20)
Take away any unpaid absence, in worked hours,
RTE-TSAU** from the currently held rate (totalled over all
absence counting classes)
COND=F IF The condition for function IF is false
Set condition for Function LPBEG when the
SCOND=T AL
condition is true
SCOND=T IF The condition for function IF is true
SCOND=T IF The condition for function IF is true
Set the work center - basic pay split for the wage
SETIN A=01
type as 01
SETIN R=1 Set the ESG for PCR as 1
You want to set X with number 01 as a variable
SETIN X=NX split; 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 in-
STATU 2P
period is entered in the variable key.
The return code set in the second example must be
SUBRC?SET
evaluated.
SUBRC=0 The internal return code is set to the value 0
Subtracts the current wage type - effectively
SUBWT *
changing the sign of the NRA.
Subtracts the current wage type (signs change)
SUBWT 1025
and stores it as 1025.
SUBWT&ZREG Subtracts the current wage type and stores it as a
temporary variable ZREG.
Subtracts the current wage type (sign change) of
SUBWTD*
the NRA in the difference table (DT)
Subtracts the current wage type and stores it in the
SUBWTD/551 difference table (DT) as a temporary variable
ZREG.
Flicks the sign for NRA of the currently processed
SUBWTE
wage type and stores it in the RT
Subtracts the current wage type (sign change) of
SUBWTE*
the NRA and stores in the results table (RT)
Flicks the sign for NRA of the currently processed
SUBWTE/121 wage type and stores it in the RT as technical
wage type /121
Flicks the sign for NRA of the currently processed
SUBWTI*
wage type and stores it in the input table (IT)
Flicks the sign for NRA of the currently processed
SUBWTI/101 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
Table query on data held in infotype 0014 -
TABLEP0014
recurring payments and deductions
Table query on data held in infotype 0015 -
TABLEP0015
additional payments
Place in the variable key - Y/N alternative
VAKEYALZNR
payment
Place in the variable key - extra pay indicator for
VAKEYAUFKZ
overtime
Place in the variable key - variable keys are held
VAKEYBNKSA
in a certain table
Place in the variable key - type of bank details
VAKEYBNKSA
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
Place in the variable key - premium indicator time
VAKEYPRAKN
ITs
Place in the variable key - variable key is filled
VAKEYTGRLE out based on the values in the TRFGR and
TRFST fields from the current PZ record
Place in the variable key - clearing key for
VAKEYVERSL
overtime
VAKEYZEINH Place in the variable key - time unit
Place in the variable key - payment key for bank
VAKEYZLSCH
transfers
The system checks to see whether a valuation
VALBS?
base exists
The system checks if a valuation basis is for the
VALBS?0 current wage type in table T512W. (That the "0"
line of view V_T512_B is read).
The current wage type is evaluated with the
valuation basis that is entered for the current wage
VALBS0
type itself. (That is, the "0" line of view
V_512W_B).
The system multiplies an entry that already exists
in the RTE field for the current wage type with
the percentage rate from a line 0 of view V_512W
VALBS0 *
and then replaces the wage type names of the
current wage type with the name of the wage type
from the same line in V_512W.
Same as VALBS0 * with the exception that the
VALBS0 B
data from infotype 2010 is used.
Replaces the current wage type with the statement
wage type that is entered in table T512W for the
VALBS1 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.
Place the table field "indicator for indirect
VARGBINDBW
valuation" in the variable key
Place the table field "premium number" in the
VARGBPRAKN
variable key
Place the table field "ES grouping for collective
VARGBTRFKZ
agreement provision" in the variable key
VWTCL 64 Interrogate processing class 64
Usually part of a decision - where the wage type
WGTYP?
is queried
WGTYP=* Passes through the wage type as unchanged
Decide if employee has had a pay change in pay
WPALL?LAST
period and if the one being processed is the last
Operation WPBPC distributes the amount of the
WPBPC current wage type to the active WPBP periods in
the payroll period.
This operation splits the amounts but does not
WPBPCW
distribute them to the different periods
Z Expect to call another PCR in this line
ZERO= AN Sets the AMT and NUM to zero
Set the values for the rate, number and amount
ZERO= RNA
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

 
 
Search Query
Search

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

Você também pode gostar