cancel
Showing results for 
Search instead for 
Did you mean: 

Inherited attributes for position are not in Sync with the organizational unit

bharathi_ponnusamy
Active Participant
0 Kudos
900

Hello Experts,

I have a strange concern where the attribute (Company Code) has been assigned in the organizational unit but it hasn't got inherited in the position level. On further analysis, I found that the attribute (Company Code) has been assigned in the position initially and after that the same company code has been assigned in the organizational unit level. Hence the company code hasn't got inherited in the position level.

Please find the below scenario with the example.

Organization unit - O 20001000

Position - S 30001000

Attribute (Company Code) - IN11

Please note that the position is assigned under the above organizational unit only.

The IN11 has been assigned in the position initially. After some time, the same company code has been assigned in the organizational unit. Now the company code is not showing as inherited in position level but it is available in the position.

And if I delete the company code in position level, then it is automatically getting inherited. But it is not possible for me to do this in each and every position as the whole activity involves multiple cost centers, functional area, company code in multiple positions.

Kindly advise me if there are any easy ways to synchronize the inherited attributes. Many thanks in advance for your help.

Best Regards,

Bharathi

View Entire Topic
Former Member
0 Kudos

Hello,

Tables HRP1222 & HRT1222 are maintained whenever attribute values are added/changed at org/Position level.

So for a given Position,attribute values inherited from Org unit are not maintained in HRT1222. Inherited values are built up recursively at run time.

If you add a new value for say BUK attribute at position level or make an inherited BUK value as default at position level(a change), an entry is created in HRT1222.

Based on this, if you delete all values for BUK attribute for a given position from HRT1222, then the org unit and the position are in sync.

Now all you have to do is write a custom program which has for input criteria ranges of Position numbers and attribute names. This will do the trick for you.

Another way is use program RHRHDL00, enter object type S, range of position ids in Object id.

Choose Infotype as 1222 and subtype 0020.

This will completely delete all the personalized attributes at the position level and attributes at position and org unit will be in sync.

Let me remind you, if you use 2nd method, all your users will lose all the default values they have set for org attributes via SRM User settings.

Thanks,

Sushil.

yann_bouillut
Active Contributor
0 Kudos

Hello Sushil,

If "Inherited values are built up recursively at run time", is there any FM to list the node levels (O and S) where an attribute has a certain value (inherited value or local value) ?

Thx

Yann

laurent_burtaire
Active Contributor
0 Kudos

Hello Yann,

check function modules inside HR_GENAT_READ_ATTRIBUTES function module.

Regards.

Laurent.

Former Member
0 Kudos

Try FM BBP_READ_ATTRIBUTES

Look into output table ET_ATTR. You have flags indicating if its inherited/default etc.

yann_bouillut
Active Contributor
0 Kudos

Hello Laurent

FM HR_GENAT_READ_ATTRIBUTES or RHGA_READ_ATTRIBUTES require to input Org number to get attributes value.

What i am looking for is a FM where you input the attribute code and value and you get as output parameters org and position number.

Does it exist ?

Rgds

Yann

yann_bouillut
Active Contributor
0 Kudos

Hello Sushil

Please read my answer to Laurent where i explain more clearly what i am looking for.

Thx

Rgds

Yann

laurent_burtaire
Active Contributor
0 Kudos

Hello Yann,

i don't think any standard function module can cover your request.

Nevertheless, for local attributes, you could use ATTRIBUTES_FIND_LOCAL method from class CL_HR_GENAT_SCENARIO.

But, in fact, this method is just a SELECT INTO view HRV1222A...

Regards.

Laurent.

yann_bouillut
Active Contributor
0 Kudos

Hello Laurent,

I have tried your method/class but did not succeed

I will investigate other solutions.

Thx anyway for your help

Rgds

Yann