on 02-25-2011 10:24 AM
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.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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 .
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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>
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
Hi Mr,
The Update statement on receiver channel running correctly?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.