cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in giving two interface as request in synchronous call inside a BPM

Former Member
0 Kudos

Hi

I have a scenario where I am using BPM for Synchronous call to a BAPI. But I am getting the inputs for the BAPI from two different message type. So I have created a message mapping with both the message type as source and BAPI as target. I have also created two abstract message interfaces for these two message type and also containers for them. But in the BAPI synchronous call step, I can only specify one container as the request message. So I am now unable to give the input to BAPI from two different interfaces. Is there any way to solve this problem??

regards,

Biranchi

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi:

You have created your mapping program that merger two types of message into one.

Then you need to have a transformation step to call the mapping program before calling BAPI.

After you transformation step, you will just have one message type passed as request message for you BAPI call.

Liang

Former Member
0 Kudos

Hi

Thanks for the reply.I have followed the similar steps as per all of your instruction. But now I am facing a problem in the transformation step.

I am using the transformation step inside a block. So the input containers should be added to the block (container - block). But the one of the input interface for this transformation is produced and used by previous steps outside the block and hence is defined as a process container. Hence It is not working properly inside the block. is there any way to solve this problem?

regards,

Biranchi

dharamveer_gaur2
Active Contributor
0 Kudos

Process Container varible work fine also inside block step.

Former Member
0 Kudos

Hi,

When you have such transformation step, since you have two interfaces in source side, basically you merge messages into one. You have to based on correlation condition, so these two messages are related each other.

In your case, one container element is in process level, one is block level. If your block is default type, it should not matters. The other thing is make sure your system has latest patch applied, there are some problem mentioned in SAP notes if your system is not with latest patch.

Regards.

Liang

Answers (3)

Answers (3)

former_member181985
Active Contributor
0 Kudos

Hi,

Can you elaborate your scenario?

Thanks,

Gujjeti

Former Member
0 Kudos

Hi,

As i understand, you have two different message types which you need to use for making a sunchronous BAPI call.

Well it seems you are trying a worng approach. Before making the synchronous call you will have to use a transformation step in your BPM where u will call the message mapping (two source messages and one target). This mapping will merge the data from both the sources into a single structure. Now use this output message structure in your synchronous BAPI call.

As a simple technique, you can use the reuqest type of BAPI as the output type for your message mapping and then use as a abstarct interface in your BPM.

Please let me now in case of any problems. I can expalain more if required.

Regards,

Anurag Mahendru.

Former Member
0 Kudos

Hi

I think u forgot to add the Abstract interfaces for both the message types in the Interface mapping. check that

You have to specify the both the interfaces in the Interface mapping by clicking on the "+" icon in the Source tab

regards

krishna