cancel
Showing results for 
Search instead for 
Did you mean: 

Is XI Mapping dependent on the Adapter Type ??? JDBC versus File Adapter

Former Member
0 Kudos

Gretings,

I am setting a scenario JDBC (Access) -> XI -> Idoc ->R3.

First I set up the scenarion File ->XI ->IDOC. Everything worked fine, and the I tried to use JDBC adapter instead of the File Adapter. The JDBC adapter is able to retrieve the data from the Access Database but I got a mapping problem only the Idoc control record was filled, the data segment are empty.

This mapping was working fine in the case of a File adapter !!!

Here is the XML File in a case of File Adapter :

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

- <ns:POS_TRANSACTION xmlns:ns="http://aramco.com/XI/POS_OIL">

<DATE>11/17/2004</DATE>

<TIME>08:25:03</TIME>

<TRANS_CODE>01</TRANS_CODE>

<CUSTOMER>1235</CUSTOMER>

<AMOUNT>105</AMOUNT>

<POS_ID>1000</POS_ID>

</ns:POS_TRANSACTION>

And then The XML file in a case of JDBC adapter :

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

- <ns:POS_TRANSACTION xmlns:ns="http://aramco.com/XI/POS_OIL">

- <row>

<DATE>11/17/2004</DATE>

<TIME>00:00:07</TIME>

<TRANS_CODE>01</TRANS_CODE>

<CUSTOMER>23456</CUSTOMER>

<AMOUNT>1456</AMOUNT>

<POS_ID>1000</POS_ID>

</row>

</ns:POS_TRANSACTION>

what is really strange is SAP XI mapping process should be adapter independent ! why am I having this problem ?

Any help is more than welcome.

Regards,

Mustapha

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Mustapha,

the SAP XI mapping process is adapter independent. But (you see the 'row' tag) the adapter deliver different inbound XML. If you use the file adapter with mode=FILE2XMBWITHROWCONVERSION you should get a 'row' tag as well. See the documentation of the adapter engine.

You have to adjust the mapping.

Andreas

Former Member
0 Kudos

Hello Andreas,

Is there a way to avoid this <row> tag ? I suppose if I send the same XML message to XI my mapping will stay valid.

Thanks for your help.

Mustapha

Former Member
0 Kudos

Hallo Mustapha,

as far as i know, it is currently not possible to omit the row tag. Looking at the technique behind it, it makes sense: the JDBC Adapter polls a database with an SQL Statement and what gets back from the database is a resultset with zero, one or more rows (compare JDBC Classes, where you have java.sql.ResultSet). I guess, that maybe in later versions, it could be possible to customize the row tag to any name you want, but it will never be possible to completely omit it, as SQL statements can retrieve several rows and then you need to be able to differentiate between the rows.

best regards

Christine