Skip to Content
author's profile photo Former Member
Former Member

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

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" ?>

- 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" ?>

- 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

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Nov 17, 2004 at 02:08 PM

    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

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      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

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.