cancel
Showing results for 
Search instead for 
Did you mean: 

BADI required for BP transaction

Former Member
0 Kudos

Hi Experts,

My requirement is:

When a BP is created or changed, then the user should be able to add only 2 roles - ( BP General and Prospect ) to the BP. The BP tcode should not allow the user to add any other roles while creating or changing the BP.

Please let me know whether a BDT is required or a BADI.

If a BADI is required, please let me know the name of the BADI.

Regards,

Sangeeta.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Sangeeta,

The easiest way to do this by using authorizations.

Use object B_BUPA_RLT, and allow the user to only work on roles General and Prospect.

In transaction PFCG, for the authorization role, in tab Authorizations, Maintain the data as :

Cross-application Authorization Objects

Business Partner: BP Roles (this is B_BUPA_RLT)

Activity Create or generate, Change, Display

BP Role 000000, BUP002

Another solution is to hide all other roles on the UI. You can do this by changing hte role settings in V_TB003. However, hiding the roles will affect the transaction for all users. Authorizations will work specific to a user.

Hope this helps.

Cheers,

Rishu.

Former Member
0 Kudos

Hi Rishu,

Thanks for the reply.

But please tell me any BADI for this.

Also, I saw the authorization steps but from there how to proceed I don't know.

Regards,

Sangeeta.

singhsmi
Advisor
Advisor
0 Kudos

Hi Sangeeta,

Have you tried using application transactions used exclusively for one role. You can find all such transaction under BUSF. For Prospect, the transaction are BUI1, BUI2, BUI3.

Thanks and warm regards,

Smita.

Former Member
0 Kudos

Hi Smita,

Thanks for the reply but I want to activate this functionality only for BP type organisation.

So, I don't think application transaction will be helpful.

Regards,

Sangeeta.

singhsmi
Advisor
Advisor
0 Kudos

Hi Sangeeta,

check the following link below.

This addresses a similar requirement.

But the best way to do this will be to use authorization object as suggested by Rishu.

Warm regards,

Smita.

Edited by: Smita Singh on Jun 2, 2009 10:45 AM

Former Member
0 Kudos

Hi Sangeeta,

The BADI approach will be a little complicated to program...but you can use BADI BUPA_INITIAL_SCREEN.

This has interface IF_EX_BUPA_INITIAL_SCREEN, which has method INITIAL_SCREEN, with parameter EV_REQUEST.

EV_REQUEST can hold a lot of information on how the opening screen should look - and you need to fill this information in your implementation. E.g : it has method SET_BUPA_PARTNER_ROLE - using which you can ensure that the screen opens in a certain predefined role .

If you want to use this solution only for organizations, then you cna only preset the type using SET_BUPA_CREATION_TYPE.

THis is the BADI that will help you. Maybe you can have a look at the std implementation of this BADI for further tips. Also look at FM BUP_PARTNER_MAINTAIN,and its where-used list, which gives you tips on how to fill EV_REQUEST.

Cheers,

Rishu.

Ps: The application transaction suggested by Smita is a great solution. If you only want to use it for organization, just disable creation of person for role Prospect (or through minor changes to UI).

Former Member
0 Kudos

Thanks for all the valuable reply.

I have implemented PARTNER_UPDATE badi and now it's working fine.