I have the following requirement: depending on the user an address can be only displayed, or modified and displayed. I have found out the authorization objects S_ADDRESS1, S_ADDRESS2, S_ADDRESS3. The key field for these authorization objects are the Activity and the Address group (you can see table TSAD7). I have seen that all the addresses that are created by BP transaction are saved within 'BP' address group. Thus, for achieving my requirement I have thought to create a new address group for each useful address usage and when the user move an address to a particular Address Usage I could (through a short development) change the address group for this address and assign the address group used for this address usage. Thus, only the users who has a profile with the correct data authorization: it means correct address group with activity '02' in the authorization objects, could modify this address.
My question is the following: is it possible? Is a good approach? or if I change the address group, these addresses won´t be visible from BP transaction?
In the event that be possible: how could I change the address group? I have found a function module to do that: ADDR_GROUP_CHANGE' but I don´t know from where should I call it. I means, I must do it when the user assign an address usage for an address, but I don´t know if an event is raised (from BUS7 transaction) or something like that.
I thank any suggestion. I would appreciate any recommendation.