cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC Mapping error

Former Member
0 Kudos

I am tranferring data from R/3 using RFC adapter into SQL database using JDBC adapter. I am getting the following error:

2006-05-03 16:47:54 Success RFC adapter received sRFC for ZTSI_CUSTOMER_INFO from XRD/230. Attempting to send message synchronously

2006-05-03 16:47:54 Success Application attempting to send an XI message synchronously using connection AFW.

2006-05-03 16:47:54 Success Trying to put the message into the call queue.

2006-05-03 16:47:54 Success Message successfully put into the queue.

2006-05-03 16:47:54 Success The message was successfully retrieved from the call queue.

2006-05-03 16:47:54 Success The message status set to DLNG.

2006-05-03 16:47:55 Error Received XI System Error. ErrorCode: EXCEPTION_DURING_EXECUTE ErrorText: ErrorStack: During the application mapping com/sap/xi/tf/_MM_Customer_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~

2006-05-03 16:47:55 Error Returning synchronous error notification to calling application: Application:EXCEPTION_DURING_EXECUTE:.

2006-05-03 16:47:55 Error Transmitting the message using connection http://xxdmid01:8000/sap/xi/engine?type=entry failed, due to: Application:EXCEPTION_DURING_EXECUTE:.

2006-05-03 16:47:55 Error The message status set to FAIL.

Mapping is as follows:

RFC

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">

<xsd:element name="ZTSI_CUSTOMER_INFO">

<xsd:complexType>

<xsd:all>

<xsd:element name="ITAB">

<xsd:complexType>

<xsd:sequence>

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

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:all>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ZCUST_INFO">

<xsd:sequence>

<xsd:element name="KUNNR" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="10" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="NAME1" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="35" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

JDBC

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:SAPtoSQL:Timesheet:Masterdata" targetNamespace="urn:SAPtoSQL:Timesheet:Masterdata">

<xsd:element name="MT_CustomersJDBC" type="DT_CustomersJDBC" />

<xsd:complexType name="DT_CustomersJDBC">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

8e65fec0dad111da905d0011259b6ce8

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="Customers">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa0d08e11da9e5cdb75ac150b94

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="Customers">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa1d08e11dacaebdb75ac150b94

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="access" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa2d08e11dac1e9db75ac150b94

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="CustomerNumber" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa3d08e11da967fdb75ac150b94

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="CName" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa4d08e11daa7f4db75ac150b94

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="key1" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

b697f0c0d9e511daca27df79ac150b91

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="action" type="xsd:string" use="required">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4c433fa5d08e11da9200db75ac150b94

</xsd:appinfo>

</xsd:annotation>

</xsd:attribute>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

RFC result after mapping test:

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

<ns0:ZTSI_CUSTOMER_INFO xmlns:ns0="urn:sap-com:document:sap:rfc:functions">

<ITAB>

<item>

<KUNNR>Test</KUNNR>

<NAME1>Name</NAME1>

</item>

</ITAB>

</ns0:ZTSI_CUSTOMER_INFO>

JBDC result after mapping test:

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

<ns1:MT_CustomersJDBC xmlns:ns1="urn:SAPtoSQL:Timesheet:Masterdata"><Customers><Customers action="UPDATE_INSERT"><access><CustomerNumber>Test</CustomerNumber><CName>Name</CName></access><key1>CustomerNumber</key1></Customers></Customers></ns1:MT_CustomersJDBC>

Text preview:

/ns1:MT_CustomersJDBC=/ns0:ZTSI_CUSTOMER_INFO= /ns1:MT_CustomersJDBC/Customers/Customers/@action=const() /ns1:MT_CustomersJDBC/Customers/Customers/access=/ns0:ZTSI_CUSTOMER_INFO/ITAB/item= /ns1:MT_CustomersJDBC/Customers/Customers/access/CustomerNumber=/ns0:ZTSI_CUSTOMER_INFO/ITAB/item/KUNNR= /ns1:MT_CustomersJDBC/Customers/Customers/access/CName=/ns0:ZTSI_CUSTOMER_INFO/ITAB/item/NAME1= /ns1:MT_CustomersJDBC/Customers/Customers/key1=const()

Thanks,

Leanne

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

I have managed to fix a few of my mapping errors. My problems were that I was not mapping items at the correct level. I have managed to update the SQL database with my data, I however still get an error. I am somehow receiving a reponse back which I am not handling. I do not want a response back. Help....

Thanks

Leanne

Former Member
0 Kudos

Hi Leanne,

You mean to say that you want to just update the DB and donot want the response. Then why you are mapping response of JDBC to RFC response?

You can have a scenario(Asynchronous)

RFC(Request)--


>Mapping--


>Jdbc(Request)

So just a single message mapping and an Interface mapping would do. Is this the scenario that you are looking for?

Regards,

Sudharshan.

Former Member
0 Kudos

Hi Sudharshan,

I am only have one mapping. Yes the scenario is RFC mapping to JDBC (async), I still get an response, hence the message is in error status.

What is the problem?

Thanks,

Leanne

Former Member
0 Kudos

Hi Leanne,

How are you calling the RFC from sender. Hope You call it asynchronously.That may cause problems if u call it synchronously(Normal way of calling).What is the exact error u get in moni.

Regards,

Sudharshan.

Former Member
0 Kudos

Thanks

Former Member
0 Kudos

Hi,

<i>JDBC

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:SAPtoSQL:Timesheet:Masterdata" targetNamespace="urn:SAPtoSQL:Timesheet:Masterdata">

<xsd:element name="MT_CustomersJDBC" type="DT_CustomersJDBC" />

<xsd:complexType name="DT_CustomersJDBC">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

8e65fec0dad111da905d0011259b6ce8

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="Customers">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

<b>4c433fa0d08e11da9e5cdb75ac150b94</b></xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

....</i>

Is this a typographical error? or is it this way in your MT?

Guess the text highlighted in bold, is giving you the error.

Regards,

Smitha.

Former Member
0 Kudos

sorry!!!

please ignore the previous post!!

regards,

Smitha

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

have a look at my weblog on how to test

message mappings :

/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios

do as described in the weblog and I'm sure you'll find the error

Regards,

michal

Former Member
0 Kudos

Hi,

The mapping test does not help. The message in the XI monitor tool is in error (system error - red dot) with the message "During the application mapping

com/sap/xi/tf/_MM_Customer_ a

com.sap.aii.utilxi.misc.api.BaseRuntimeException

was thrown: RuntimeException in Message-Mapping

transformatio~"

Message:

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

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_MM_Customer_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>During the application mapping com/sap/xi/tf/_MM_Customer_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

Response message:

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

Thanks,

Leanne

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

is you scenario sync?

do you have rfc - jdbc - rfc ?

if so maybe the response mapping produces

the mapping error ?

if you scenario is sync then are you sure your

jdbc response has a correct message type ?

BTW

you should see it all in SXMB_MONI

(the message response)

Regards,

michal

Former Member
0 Kudos

Hi,

The scenario is RFC to JBDC async process. Sorry about not specifying this information.

Thanks,

Leanne

bhavesh_kantilal
Active Contributor
0 Kudos

hi,

as the error states, it is in the mapping. Would suggest you test your mapping as suggested by michal in his blog and see if it is working fine.

Regards,

Bhavesh

Former Member
0 Kudos

Hi,

I have tested the mapping in the mapping tool, it tests 100%. The error occurs during full testing.

I have checked the table and field names, etc.

Thanks,

Leanne

Former Member
0 Kudos

Hi Leanne,

Go to SXMB_MONI. Take the payload(xml) from there.Paste in test tab of your mapping and check. In this way check both your forward and reverse mappings using the respective payload xml messages from MONI.

Regards,

Sudharshan.

Former Member
0 Kudos

Hi,

I can not do what you are asking - as indicated I do not even get a payload to work with.

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

The mapping test does not help. The message in the XI monitor tool is in error (system error - red dot) with the message "During the application mapping

com/sap/xi/tf/_MM_Customer_ a

com.sap.aii.utilxi.misc.api.BaseRuntimeException

was thrown: RuntimeException in Message-Mapping

transformatio~"

Message:

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

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_MM_Customer_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>During the application mapping com/sap/xi/tf/_MM_Customer_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

Response message:

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

Thanks,

Leanne

Former Member
0 Kudos

Hi Leanne,

I dont know why you are not able to seethe payload in SXMB_MONI. If you click on the Entry in Moni it will display the inbound and outbound payload.

Any way.Since your MT to Database is MT_CustomersJDBC, the response MT would be MT_CustomersJDBC_Response. So check what is the name of the MessageType from DB(DB Response) and change it accordingly.Also check whether u have given row item in response Data type and not rows.

The response from DB would be like

<ns: MT_CustomersJDBC_Response xmlns:ns="">

<resultset>

<row>

.

.

</row>

<row>

.

.

</row>

</resultset>

</ns:MT_CustomersJDBC_Response>

Check your response MT and DT( From DB).

For further info:

<a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm</a>

Regards,

Sudharshan.