cancel
Showing results for 
Search instead for 
Did you mean: 

How to write SCHEMA to add a wage type?

Former Member
0 Kudos

In my company,there is a wage type 9001(allowance to all) every month,

the amount is difference for every month,but is same for all person.

we do not want maintan user master data because it is same to all user.

so I want to modify SCHEMA to add the wage type to all,and getting amount

from T510J.

How to modify the SCHEMA?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Colin

Another easy way to do this:

For your wagetype, flag it as special processing for processing class 47. This you do by going SE16> Table: V_512W_D > pick 'change' >position on your wagetype and maintain the processing class as special processing.

Now do SE38 >program RPDASC00 > expand the whole shema you are working with. To find the rule where processing class 47 is handled, do a find on VWTCL 47. It will take you to the rule within the schema.

Create a constant in Table T511K, for instance Z9001.

Now maintain the rule via PE02. In the rule, point to your wagetype and in the operation insert : AMT=KZ9001 ADDWT*

In T511 change the input options to 'no amount and no number/unit allowed'.

The master data for the employee can now be saved as a blank record and your schema should pick up the wagetype in the payroll processing and pass the value to the results.

Ask if you need some help.

Deon

Former Member
0 Kudos

Thank you very much.

I find P0014 CN11 and P0267 X011 include processing class 47,

and i add wagetype in CN11,but it doesn't work,

in log,i find it run fllowing **** not my wage type.

Should i create a new specifications for processing classes 47 and

assign the new specifications to my wage type?

I find no customer range for specification of PC 47.

Former Member
0 Kudos

Colin

For processing class 47 you should have (or create) an option that makes your wagetype unique so that the payroll can pick it up when processing takes place. Create for instance 'A - special processing' if there isn't an option like that.

Now as your wagetype comes into the payroll it of course carries this PC 47 as 'A' with it. So this is what you need to test for in your rule. I think CN11 is correct.

**(It seems like X011 have been copied to CN11 at your customer. This is correct. You should never change your SAP delivered schemas and rules. Always copy them to a customer rule or schema first and that will leave you with the SAP standard rules and schemas to refer back to if you screw it up.)**

Having said that, back to rule CN11:

In rule CN11 you should essentially perform two decisions:

First test for your processing option

In this case you would in layman's terms say:

IF the processing option = '' operation = ADDWT

IF the processing option = 'A ' (remember this is the option that you've assigned to wagetype 9001) then take another decision on wagetype

This is the point where you will enter special processing conditions

In your example you would for instance say:

IF wagetype = '9001' operation = AMT=K9001(from your constants table T511K) ADDWT*

Technically the rule would look like this

AMT= BETRGNUM= ANZHLNEXTR

1 D VWTCL 47

  • ADDWT*

A D WGTYP?

A **** ADDWT*

A 9001 AMT=K9001 ADDWT*

So when a wagetype with any processing option (other than 'A') in PC47 comes into this rule it will be written straight out into the input table (line 3)

All wagetypes with processing option 'A', but who are not explicitely pointed at will be written straight out into the input table.(line 5)

BUT because you explicitely point to wagetype 9001 the processing will run into T511, get your constant value, set amount equal to it, then write it out to the input table and ultimately right at the end of the schema into RT (results table).(line 6)

If you're not going to 'work' with the wagetype further down in your processing of the schema you could replace ADDWT* in line 6 with ADDWE*. This will write 9001 straight into RT and it won't be in your way so-to-speak during the rest of the schema processing. (Just a tip)

Hope this helps. This is the easiest way I could find to explain.........

Kind regards

Deon

Former Member
0 Kudos

Colin

You can give me an e mail address and I'll send you a proper screen shot of what the rule should look like. It seems in my post above that the layout of what the rule should look like doesn't come out too well in the text.

Deon

Former Member
0 Kudos

Thank you,

nkcaozy@gmail.com

Answers (1)

Answers (1)

Former Member
0 Kudos

hello colin,

enter once the WT in IT 0015 for all employees.

num field should be "1"

write a rule: Entering with your WT 9001

num=1

<

  • amt= B510J addwt *

regards

stefan

Former Member
0 Kudos

thank you ,

Can i enter in IT 0008 or IT 0014?

and is there way without maintaining user master data ?

Former Member
0 Kudos

you should use it0014, because with it 0014 you can use mass data function.

you can do it also without maintaining masterdata, but if s.o. does not get this amount you have to maintain an exception.

I would prefer maintaining masterdata.

regards