Well, the reason why I creaete this blog is to mark all the questions reagrding to user data, such as language, email, timezone, etc, to be synchronized in all places. I will constantly update the content of this blog to include all related topics.
Today, I will talk about language in user settings and su01 data.
In su01, there is two languages, one language under 'Address' tab and one logon language under 'Defaults' tab.
However in SRM User Settings, we only have one language under 'User Account' tab.
This is hard-coded in the method /SAPSRM/IF_PDO_MO_USER_ACCOUNT~GET_USER_ACCOUNT_DETAILS.
Here it takes ls_defaults-langu instead of ls_address-langu. For language in default tab, it is mainly used for user logon. The language in address tab might be used in business processing such as email notification.
Of course, if you have your own business requirement, you may consider using enhancement to change this behavior, which is also quite easy.
Today I would like to talk about the address synchronization between ppoma_bbp and trx BP.
If I make changes for address tab in ppoma_bbp, this change will be synchronized to trx BP, because ppoma_bbp will update both tables HRP1028 and ADRC. Thus this change will be reflected to BP, too.
If I make address changes in trx BP, this won't reflect to ppoma_bbp. This is due to trx BP will only update table ADRC.
HRP1028 is a table where address of organizational unit is stored, and sometimes this address will be replicated from HR system. So this is a leading table. If there is any change in this table, it should be synchronized to table ADRC where all kinds of addresses are stored to keep consistent.
However trx BP is only an internal transaction which is not suggested to be used by customer. It will only update the table ADRC. So it is not neceaary to synchronize this to table HRP1028 which will lead to confusion from leading system.