cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with Multiple Match Records

Former Member
0 Kudos

Hi,

We have scenario like RFC<--->XI<---->SOAP, we are able to send the request and get the response from webservice.

Auctully this scenario works based on Match records . If we send the exact match record to SOAP, webservice would give only one result with exact details, otherwise Webservice would return multiple match records. We need to catch all these results and send it to SAP via RFC.

it should be like : Request Map is 1:1 and Response Map N:M.

Currently we are struggling for send the Multiple records to RFC. How RFC could take this?

So please let us know:

1. How we are going to handle MessageType for receiver side?

2. Does it required Multimap in Response ? How we are going to handle this multimap?

3. Does it required any BPM for this?How do I make BPM design?

4. How do I make receiver determination?

Please put your design ideas on this and give me brief steps for handle this situvation.

Thanks for your time .

- Ravi

Edited by: Ravi on Jun 5, 2008 12:50 AM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

change your RFC and collect all the responses into an internal table and handle them in R/3 again.

Check these forum replies

Ref: this blog that i guess should try and give you an idea about a sync scenario.

/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1

/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2

Thanks,

Vijaya.

Former Member
0 Kudos

Thanks Vijaya laxmi..

We have similar sync scenarios are working fine, except this one.

We are able to see messages payload in Moni..thing is the response contains another strings which are coming from webservice. There XI couldn't understand how to map response fields to RFC.respone!

We need to hide extra strings which we got from Webservice , then we could able to map WS resonse to RFC response.

Currently we are getting this resonse from WS on moni:

-


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

- <!-- Request Message Mapping

-->

- <AddressValidatorResponse xmlns="http://tempuri.org/geostan3/AddressValidator" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

- <AddressValidatorResult>

- <xs:schema id="AddressCheck" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

- <xs:element name="AddressCheck" msdata:IsDataSet="true">

- <xs:complexType>

- <xs:choice maxOccurs="unbounded">

- <xs:element name="Address">

- <xs:complexType>

- <xs:sequence>

<xs:element name="Addline1" type="xs:string" minOccurs="0" />

<xs:element name="Addline2" type="xs:string" minOccurs="0" />

<xs:element name="URB" type="xs:string" minOccurs="0" />

<xs:element name="Lastline" type="xs:string" minOccurs="0" />

<xs:element name="Location" type="xs:string" minOccurs="0" />

<xs:element name="OutBlock" type="xs:string" minOccurs="0" />

<xs:element name="OutCBSA" type="xs:string" minOccurs="0" />

<xs:element name="MatchCode" type="xs:string" minOccurs="0" />

<xs:element name="LocationCode" type="xs:string" minOccurs="0" />

<xs:element name="DPVConfirm" type="xs:string" minOccurs="0" />

<xs:element name="DPVFalse" type="xs:string" minOccurs="0" />

<xs:element name="FootNote1" type="xs:string" minOccurs="0" />

<xs:element name="FootNote2" type="xs:string" minOccurs="0" />

<xs:element name="FootNote3" type="xs:string" minOccurs="0" />

<xs:element name="Msg" type="xs:string" minOccurs="0" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

- <AddressCheck xmlns="">

- <Address diffgr:id="Address1" msdata:rowOrder="0" diffgr:hasChanges="inserted">

<Addline1>220 W MAIN ST</Addline1>

<Addline2 />

<URB />

<Lastline>LOUISVILLE, KY 40202-1395</Lastline>

<Location>-85754010, 38256144</Location>

<OutBlock>211110049001067</OutBlock>

<OutCBSA>31140</OutCBSA>

<MatchCode>SE1</MatchCode>

<LocationCode>AS0</LocationCode>

<DPVConfirm />

<FootNote1 />

<FootNote2 />

<FootNote3 />

<Msg>OK</Msg>

</Address>

</AddressCheck>

</diffgr:diffgram>

</AddressValidatorResult>

</AddressValidatorResponse>

But Auctully this response required for response mapping(example for you, I have modified according to our scenario from above auctual payload):

-


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

- <!-- Inbound Message

-->

- <AddressValidatorResponse xmlns="http://tempuri.org/geostan3/AddressValidator" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<AddressValidatorResult>

<Addline1>220 W MAIN ST</Addline1>

<Addline2 />

<URB />

<Lastline>LOUISVILLE, KY 40202-1395</Lastline>

<Location>-85754010, 38256144</Location>

<OutBlock>211110049001067</OutBlock>

<OutCBSA>31140</OutCBSA>

<MatchCode>SE1</MatchCode>

<LocationCode>AS0</LocationCode>

<DPVConfirm />

<FootNote1 />

<FootNote2 />

<FootNote3 />

<Msg>OK</Msg>

</AddressValidatorResult>

</AddressValidatorResponse>

let me know how to hide extra strings in respone form WS?

- Ravi

Edited by: Ravi on Jun 9, 2008 7:07 PM

Former Member
0 Kudos

Hi,

Refer the Adapter-Specific Message Attributes & Conversion parameters in the below link that will help you to supress the Header fields of response from SOAP.

http://help.sap.com/saphelp_nw2004s/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm

below links will also be useful

/people/varadharajan.krishnasamy/blog/2007/01/09/troubleshooting-soap-message--xi

/people/thomas.jung3/blog/2005/06/05/web-services-the-case-of-the-missing-soap-action-header

http://help.sap.com/saphelp_nw04/helpdata/en/3d/a41540904c8f5ce10000000a155106/frameset.htm

Thanks

Swarup

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ravi,

u have problem with sending multiple records through RFC

this can be done using UDF or BPM

pls chk this link it will be helpfull

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/4050128a-e370-2910-73b9-e29edc3c...

/people/prasadbabu.nemalikanti3/blog/2006/02/27/collecting-and-bundling-vendor-records-from-different-multiple-interfaces-file-systempeoplesoft-and-sending-to-sap-r3-system-part-2

Thanx

Sampath

Former Member
0 Kudos

Venkat,

The weblog might be useful for me...auctully receiver side multiple records going to RFC from SOAP.

Thanks for your effort.

- Ravi