cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Structure Message

Former Member
0 Kudos

Hello ,

I am implementing a simple sync scenario HTTP to RFC and response back . The standard RFC that every R/3 will have is : RFC Name: RFC_CUSTOMER_GET

Input Parameters :

KUNNR (Customer Number)

NAME1 (Customer Name)

Normal situation the Source message structure will be :

<?xml version="1.0" encoding="UTF-8"?>

<ns:FileRequest_MT xmlns:ns="http://abc.com/file2rfc">

<CNumber />

<CName />

</ns:FileRequest_MT>

********************

Now i am using SP 15 , and the source is of this form :

<ns:FileRequest_MT xmlns:ns="http://abc.com/file2rfc">

<Node 1>

<CNumber />

<CName />

</Node 1>

<Node 2>

<CNumber />

<CName />

</Node 2>

<Node 3>

<CNumber />

<CName />

</Node 3>

</ns:FileRequest_MT>

-


And for each of the node structure i need to call RFC separately whats the way ? please suggest

Reddy

Accepted Solutions (0)

Answers (2)

Answers (2)

bhavesh_kantilal
Active Contributor
0 Kudos

Bujji,

Change the occurence of your RFC REQUEST message in Mapping from HTTP request to RFC request to 0 to unbounded.

This way, you can map each of the source message to the RFC request message.

Next, when mapping RFC RESPONSE to HTTP, change the occuerence of RFC response to 0 to unbounded.

Use a BPM with a PAR for EACH and make a SYNCHRONOUS RFC call.

Regards,

Bhavesh

Former Member
0 Kudos

Hello guys i am confused , two posts with two diff directions , i also heard there are some more features in Sp15 that will reduce some part of using bPM ?

Please suggest

Reddy

moorthy
Active Contributor
0 Kudos

Hi Bujji,

Don't confuse it..

In your source message , you are getting multiple messages ,and you need to call RFC for each message right ? If so then BPM is required to make use of ParForEach loop. i.e for each message you ar egoing to call RFC and here multiple RFC calls are involved.. ie again based on the number of messages.

The other post telling about , if you want to send multiple RFC messages at a time to the R/3 then you can change the occurence of the message structure(RFC structure) In this case one RFC call...

Hope this helps,

Regards,

Moorthy

Former Member
0 Kudos

Thanks for your response,

In the second case of sending multiple messages in one RFC call will i get responses for all the messages sent ?

Like in the above scenario of querieng the RFC with Cust no and it responds back with all of its records , in this case will the above design work ?

If not , What exact steps need to be used in BPM ? Please suggest

Reddy

moorthy
Active Contributor
0 Kudos

HI Bujji,

<i>In the second case of sending multiple messages in one RFC call will i get responses for all the messages sent ?</i>

It is depending on the RFC ... how it is written..you may require to have wrapper function for this..if you are using standard RFC

If it is a BPM.then

1) Receive the message

2) Execute the Transformation Step

3) Use ParForEach Block and inside this use Send Step

4) Get the Response and map this to the Sender Response..

Example is here for the same.

http://help.sap.com/saphelp_nw2004s/helpdata/en/f6/e1283f2bbad036e10000000a114084/frameset.htm

Thanks,

Moorthy

moorthy
Active Contributor
0 Kudos

Hi Bujji,

One of the option is Use BPM and inside this use ParForEach loop so that for each message you can call RFC and get the Resposne..

About this-

http://help.sap.com/saphelp_nw2004s/helpdata/en/f6/e1283f2bbad036e10000000a114084/frameset.htm

Before going to this, also think if possible send the entire message once to RFC and get the Resposne to use effectively .. (Performance/Resource Utilization is concerned)

Hope this helps,

Regards,

Moorthy