cancel
Showing results for 
Search instead for 
Did you mean: 

Question about RFC without proxy

Former Member
0 Kudos

Hi,

it is possible to send in on File two Data Records to on DataSource? ,per RFC without Proxy?

Communication is File --> xi --> BW

The file i will send is a xml file!

thanks yves

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hallo Christine,

yes in the WDSL tab stand in the code 0...unbounded, that is correct.

My problem ist the structure of the XML-File I send.

I post it see above.

How must I construct it, to send to records in on file?

thanks yves

Former Member
0 Kudos

Hi Yves,

as you will do a mapping between your XML and BW RFC, you can construct it as you like it. Normally the structure depends on the system where the data is sent from. If you are just doing a demo scenario and constructing the file manually, i would suggest to use a similar structure to the RFC.


...
<Header>...</Header>
<Data>
<item>content of item 1</item>
<item>content of item 2</item>
</Data>
...

In this sample Header and Data nodes would have occurrence 1 and item would have occurrence 0..unbounded.

Best regards

Christine

Former Member
0 Kudos

Hallo Christine,

thank you for you help, you are great, the szenario run.

by yves

Answers (2)

Answers (2)

Former Member
0 Kudos

HI Kraus,

I assume you have good reasons to not use proxies in your scenario. However, some things to consider before you proceed with this approach:

RFC is normally used for synchronous calls i.e. request/response. Which means you will be using more resources from both systems. Besides that you (actually the RFC adapter does this for you) will need to convert your file from XML to RFC and the other way around. This is again a drawback for your performance.

With ABAP proxies you can also easily reuse XI objects (data types, message types) in your interfaces. For instance; you could reuse the data structure you use on the file side to generate the inbound proxy on BW.

ABAP proxies are more flexible than RFC calls, in the sense that they can be used in XI but also as independent web services in the system where they are deployed. This functionality also fits in a SOA or ESA architecture which should be the final target of any organization using SAP NetWeaver.

Hope you find this explanation useful.

Cheers,

Roberto

Former Member
0 Kudos

Hi Yves,

if you use an RFC that has been created by BW automatically it will have the structure

RFC

--> Datasource

--> Data

---> item

-


> Value1

-


> Value2

Where item is of occurrence 0..unbounded.

If you map the items of your XML File to the substructure item of thr RFC accordingly, you will be able to send more than one item per RFC call.

If you check in SE37 the RFC you will also notice that DATA is a table parameter. This parameters are translated to the above structure with items in RFC XML.

Best regards

Christine

Former Member
0 Kudos

Hallo,

ok the rfc is created automatically, that is right!

Where set 0..unbounded in XI, in the Datatype! Yes it is!

The RFC structure have not 0..unbounded, only the sender datatyp! It is wrong?

Must the rfc 0..unbounded have?

The xml file code of one data record is:


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

<ns:PlaintMaintenanceMessagetype xmlns:ns="http://doehler.com/sapxi/krausdemosender">
  <Datasource>6ATESTDEMOYVES</Datasource>
  <Data EquipmentID="1234" FunctionalLocation="Wasser" Date="20060105" Time="122030" />
</ns:PlaintMaintenanceMessagetype>

For two data records?

Thank you for help!

yves

Former Member
0 Kudos

Hi Yves,

if you import the RFC to the Repository, it will not show any occurrence in the RFC screen, however if you use the RFC as target message in a mapping, you should see the structure as i wrote in my last post. Alternatively you can check on WSDL tab of the RFC: search for item, it should find a XML tag like:

<xsd:element name="item" type="ZOXTBW0002" minOccurs="0" maxOccurs="unbounded" />

In BW DATA is a table parameter and so in RFC XML it will automatically have multiple occurrence, there is nothing additionally to be done. Just make sure, that you create multiple items in your message mapping.

Best regards

Christine