cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC to JDBC scenario error

Former Member
0 Kudos

Hi techies,

I am trying out the scenario JDBC to JDBC.

I have mapped the

CC_JDBC_SENDER

Data Base Connection

JDBC Driver oracle.jdbc.driver.OracleDriver

Connection jdbc:oracle:thin:@<<ip>>:<<port>>:<<hostname>>

User Name kiran

Passowrd *****

Processing parameters

Query SQL Statement SELECT * FROM STUDENT WHERE FLAG = 'TRUE'

Document DBExtract

Update SQL statement UPDATE STUDENT SET FLAG = 'FALSE' WHERE FLAG ='TRUE'

CC_JDBC_RECIVER

Standard configuration

Mapping

Sender

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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://jdbc_2_jdbc" targetNamespace="http://jdbc_2_jdbc">

<xsd:element name="mt_sender" type="dt_sender" />

<xsd:complexType name="dt_sender">

<xsd:annotation>

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

0b0fdc6840c211e09d490000004d9c8e

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="row">

<xsd:annotation>

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

7eca0f413fcb11e08a2800270e0eb886

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="NAME" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

7eca6d3e3fcb11e0b9da00270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="ID" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

7eca6d3f3fcb11e0c34f00270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="ADDRESS" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

7eca6d403fcb11e0a4fa00270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="FLAG" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

7eca6d413fcb11e0a72300270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

Reciver

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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://jdbc_2_jdbc" targetNamespace="http://jdbc_2_jdbc">

<xsd:element name="mt_reciver" type="dt_reciver" />

<xsd:complexType name="dt_reciver">

<xsd:annotation>

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

0b1e084240c211e08a7f0000004d9c8e

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="STATEMENT">

<xsd:annotation>

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

81fd5e1d3fdb11e0980b00270e0eb886

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="ROW">

<xsd:annotation>

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

81fd5e1e3fdb11e0c89000270e0eb886

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="action" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

81fd5e1f3fdb11e0bcea00270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

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

<xsd:annotation>

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

81fd5e203fdb11e0b15c00270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

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

<xsd:annotation>

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

81fd5e213fdb11e0980000270e0eb886

</xsd:appinfo>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name="LIBID" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

81fd5e223fdb11e0c80500270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="LIBNAME" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

81fd5e233fdb11e0baf800270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="LIBADDRESS" type="xsd:string" maxOccurs="unbounded">

<xsd:annotation>

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

81fd5e243fdb11e0838400270e0eb886

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

Sender communication channel is working fine and I am able to access data from Oracle. And also I am able to change the flag status to false.

At receiver end I am having this error

com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_mm_mapping_: RuntimeException in Message-Mapping transformatio~

Exception of class CX_XMS_SYSERR_MAPPING.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I am bit confused after looking into your Target generated XML .

1. are u doing MultiMapping ???

2. On your receiver side , Receiver is JDBC ??? if JDBC . Why aint u using JDBC receiver Structure DataType?

Former Member
0 Kudos

Hi ,

Seems U have Problem in Message Mapping .

Better to test first Message Mapping first . ( Go to SXMB-MONI -> INTERFACE DETERMINATION - > PAYLOAD - > MAIN DOCUMENT - >RIGHT CLICK ON LOWER RIGHT WINDOW - > VIEW Source -> Save the data . CTRL +C

Now check your message mapping with same data. ( On test Tab . test it with same source data ) checkk if ny error is coming .

If Coming Post . Check your Message Transformation .

Former Member
0 Kudos

Hi prabhat,

Thanks alot for your reply,

While testing the xml message copied from paylod screen, this error iam getting

Cannot produce target element /ns0:Messages. Queue does not have enougth values in context. Target xsd requires a value for this element but target field mapping does not produce one. XML instance is not invalid for source xsd, or the target field mapping does not fulfill the requirement of the target xsd.

Payload xml details

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

<DBExtract>

<row>

<NAME>MSCKIRAN</NAME>

<ID>1895400</ID>

<ADDRESS>BHEL</ADDRESS>

<FLAG>TRUE</FLAG>

</row>

<row>

<NAME>DVKMOHAN</NAME>

<ID>1883682</ID>

<ADDRESS>BHEL</ADDRESS>

<FLAG>TRUE</FLAG>

</row>

</DBExtract>

Message Mapping XML details which is working fine while testing

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

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:mt_sender xmlns:ns1="http://jdbc_2_jdbc">

<row>

<NAME>MSCKIRAN</NAME>

<ID>1895400</ID>

<ADDRESS>BHEL</ADDRESS>

<FLAG>TRUE</FLAG>

</row>

</ns1:mt_sender>

</ns0:Message1>

</ns0:Messages>

baskar_gopalakrishnan2
Active Contributor
0 Kudos

HI Chaitanya

Your receiver structure is wrong. I see row tags... How do you map the output of jdbc sender to jdbc reciever structure.

Are you doing insert / update or SELECT Query in the receiver jdbc? If you do select on the receiver side, are you looking for response from the target jdbc side?

Follow this link

http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

Edited by: Baskar Gopal on Feb 25, 2011 9:28 AM

Former Member
0 Kudos

Hi Mr,

The Update statement on receiver channel running correctly?

former_member463616
Contributor
0 Kudos

Hi,

It seems to like error in mapping. Mandatory element should be map into your message mapping. And see the below link , it will help to you, how to configure JDBC Structure. Properly configure receiver JDBC Structure.

http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

Regards,

P.Rajesh