cancel
Showing results for 
Search instead for 
Did you mean: 

1 Step Approver Process Controlled WF for Contract BUS2000113

former_member15918
Participant
0 Kudos

Hello Experts,

I am a workflow consultant and for the first time working on SRM WF. I have undergone through the documents for the same so logically understand the settings. We are working on SRM 7.0 Process controlled WF.

Now in my project requirement is to create 1 step approval WF for SRM Purchase Contracts (BUS2000113). There will be only 1 approver which will be selected from a Z table based on the product category and all items will have same product catergory so decision set has to be 2.

My query:

1) Since only thing need to be customized is agent determination, will activating BC set "/SAPSRM/C_CT_600_001_SP04" will solve the purpose?

2) If yes, please guide how to identify the BADI and do changes for the Agent determination. The input to the badi could be the Contract number and then internally idetifying the product catergory could be done.

3) If in case I can not actually activate this BC set then can you please guide me with the steps?

Your help will be really apprciated. Thanks in advance.

Regards,

Hema

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi ,

Welcome to the SRM world :).. Since your requirement is to find the approver's from Z table you can use standard BC set, you have to create a custom RR to determine the approver's from Ztable..Here is the standard Badi '/SAPSRM/BD_WF_AGENTS_CTR' which will give you more technical details about how to achieve your reqiurement. Please let us know if you need more information..

Saravanan

former_member15918
Participant
0 Kudos

Hello Experts,

Thanks a lot for your valuable answers. I still have few questions.

1) Default decision set is 1 in the BC as per documentation I can do any changes required in the SPRO after activating the BC set. Please confirm if there is any limitation?

2) In case we have any change in the requirement later is it possible to deactivate?

Regards,

Hema

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

Workflow BCSets are used for auto customize. BCSets just create entries in customizing tables. You can change those and no need to deactivate.

Regards,

Masa

former_member15918
Participant
0 Kudos

Hello Masa,

I am little confuse on Defining Agent and creating a new Implementation. I mean cant we use existing one.

1)Like BC set provide approver RR_MANAGER keep the same approve

2)implement class /SAPSRM/CL_IM_WF_RR_MANAGER

3)Change the method GET_AREA_TO_ITEM_MAP to get contract ID from its Importing parameter IS_DOCUMENT-DOCUMENT_GUID assign to global variable.

4)Change the method GET_APPROVERS_BY_AREA_GUID to retrieve approver for the product category of the contract ( Some business logic to get Approver once I get contract number)

In this case I dont have Define agent and create new implentation. The only reason I see behind not changing existing implementation is in case if we have different Process Schema for contract for 2 step apprrover and if there we want to RR_MANAGER for different reason then it will be difficult to differenciate its usage based on the Schema.

Please confirm if this is the reson behind creating new implementation. Also, let me know if there is another drawback in the way I want to implement.

Thanks in advance.

Regards,

Hema

Former Member
0 Kudos

Hi ,

1)Like BC set provide approver RR_MANAGER keep the same approve

In your first post, you want to use Z table to determine the approver's. That is the only reason we suggest to go with custom implementation. you can't use RR_MANAGER to determine the agent from Z table until you decide to implement implicit enhancement.

In this case I dont have Define agent and create new implentation. The only reason I see behind not changing existing implementation is in case if we have different Process Schema for contract for 2 step apprrover and if there we want to RR_MANAGER for different reason then it will be difficult to differenciate its usage based on the Schema.

You can still use RR_MANAGER in two different schema, in order to use you have to use Z function module to determine the schema definition dynamically..

Saravanan

former_member15918
Participant
0 Kudos

Hello Saravanan,

2)implement class /SAPSRM/CL_IM_WF_RR_MANAGER

3)Change the method GET_AREA_TO_ITEM_MAP to get contract ID from its Importing parameter IS_DOCUMENT-DOCUMENT_GUID assign to global variable.

4)Change the method GET_APPROVERS_BY_AREA_GUID to retrieve approver for the product category of the contract ( Some business logic to get Approver once I get contract number)

Here /SAPSRM/CL_IM_WF_RR_MANAGER is the implicit enhancement for RR_MANAGER and I was thinking to implement this and use Approver RR_MANAGER.

Please correct me if I have mistaken anything. I am just trying to analyse more to avoid issues. Thanks in advance

Regards,

Hema

Former Member
0 Kudos

Hi,

Did you implement implicit enhancment? DON'T DO IT.. you should not use implicit enhacement until there is no workaround to implement customer need.. You can simply implement custom implementation instead of changing the standard code. please create custom ehancement implementation.

Saravanan

former_member15918
Participant
0 Kudos

No I have not yet implemented it. I shall create custom one. Thanks for your inputs.

Answers (1)

Answers (1)

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

Here are steps to implement your requirement.

1. Activate BC set "/SAPSRM/C_CT_600_001_SP04"

2. Define Resolver name

3. Implement Agent BADI /SAPSRM/BD_WF_RESP_RESOLVER

4. Replace resolver name in Define Process level.

Regards,

Masa