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

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

Accepted Solutions (1)

Accepted Solutions (1)

laurent_burtaire
Active Contributor
0 Kudos

Hello,

check inheritance for attribute 'BUK' according to object using OOATTRCUST transaction.

Regards.

Laurent.

Answers (3)

Answers (3)

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

Former Member
0 Kudos

Bharathi,

Inheritance works from top to bottom. If Co Code IN11 is maintained at Org unit level then it will be inherited for all individual positions below it and will be available for all indibvidual positions. But, if the same comany code IN11 is maintained at individual position then inheritance will not show up as the value is same and the values maintained at individual position will overwrite the org level values (Inherited) if the value is same at both individual level and Org level.

If you maintain different Co Code (ex IN12) at individual position and IN11 at Org level then you will see both values at individual position.

It seems in your case you were trying to maintain same value at both Org and Position levels and hence system is showing only one that was maintained at Position level.

Hope the above explanations help you.

Thanks,

Jagadish

Former Member
0 Kudos

Hi Bharathi,

Please run the transaction BBP_BP_OM_INTEGRATE and synchronize the orginzation unit changes and then check.

With Regards,

Malay

bharathi_ponnusamy
Active Participant
0 Kudos

Hi Malay,

Thanks for your reply and i am sorry to say that it is not working.

Best Regards,

Bharathi