on 06-14-2007 3:23 PM
Hi,
We have been really struggling with this scenario. We have created a RFC that has 1 Import parameter (Order_ID) and table parameter (3 Columns: Order_ID, Partner_type, Partner_no).
When we call this RFC in SAP, it should make a connection to external database via JDBC and get multiple row data for every Order_ID. We are not using Oracle Stored Procedure, instead we are using simple Select statement. Did all the mapping and configured correctly. However, we are getting short-dump when we execute RFC. When we checked in XI, it says " Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at "
Has anyone tried getting multiple row information from external database(Oracle) using Select statement in XI ? IF so, can you pl let us know if we need to something different in Mapping ?
Niranjan
ok,
Thanks to all for your input. The request is now working with RFC. I had to make Statement <i>1..Unbounded</i> in request message. It was just 1.
I am getting back multi row information from Oracle database but there is some problem in mapping to RFC back. So, I am not getting back the result in table in RFC. I can see multi row information in SXMB_MONI. I have assigned all the fields of Response Meesage type to fields in table of RFC. It even says 0..unbounded at row level. I have also mapped upper 2 items; ZXI_GET_LIST_QUOTES_response TO MT_JDBC_SELECT_JDBC_RES <i>AND</i> ZQUOTE TO Statement_Response.
Anything else missing above ?
Niranjan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi udo,
I was able to upload XML into 'Test' tab of Message mapping of XI and I see RED dot now. Does it indicate that mapping is wrong ? I have just assigned Order_ID (Import parameter of RFC to Order_ID of Data type DT_ACCESS that has Order_ID as first field.
When I check by selecting 'All', I am getting message " Cannot produce target element /ns1:MT_JDBC_SELECT_JDBC_REQ/Statement/TableName/KEY/ORDER_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd Cannot produce target element /ns1:MT_JDBC_SELECT_JDBC_REQ/Statement/TableName/KEY/QUOTE_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd.
Niranjan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
> I was able to upload XML into 'Test' tab of Message
> mapping of XI and I see RED dot now. Does it indicate
> that mapping is wrong ? I have just assigned Order_ID
> (Import parameter of RFC to Order_ID of Data type
> DT_ACCESS that has Order_ID as first field.
Which mapping are you testing? Request or response? When you load the XML from MONI and you see the red symbol in IR, this implies that the XML does not match with the actual datatype / messagetype created.
Regards
Bhavesh
> and target-field mapping fulfills requirements of
> target xsd Cannot produce target element
> /ns1:MT_JDBC_SELECT_JDBC_REQ/Statement/TableName/KEY/Q
> UOTE_ID. Check xml instance is valid for source xsd
Hi,
Seems like, the data type that you have created and the one that is being sent to Xi are not matching I believe. You must have alter either of the one, so that they are in sync with each other. Then check for any mapping error (the red dots).
VJ
Hi Uno,
Thanks for the response.
1. Can you throw some more light on how we can avoid short-dump using exception ? Any sample code will help us.
2. Also, I am not clear how to upload message from SXMB_MONI into Message mapping of XI respository and test ? Again, if you can provide any steps, I would appreciate.
Niranjan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Niranjan,
Check this blog of mine to see how the datatype for Synchronous Select should be constructed,
https://weblogs.sdn.sap.com/pub/wlg/3928. [original link is broken] [original link is broken] [original link is broken] [original link is broken]
If this looks good, a few checks
1. Check the request inbound payload , i.e the RFC request in MONI. Is this as expected?
2. Check the output of the request mapping and check if this is as expected.
3. Check the response from JDBC, is this as per the datatype defined.
4. Check the mapping from JDBC response to RFC response.
To me this looks like an issue with the JDBC response structure.
Meanwhile to understand how to test mapping, check blog of michal,
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Regards
Bhavesh
Hi Niranjan,
Can you throw some more light on how we can avoid short-dump using exception ? Any sample code will help us
DATA: nachricht(80) TYPE c.
CALL FUNCTION MYFUNCTION
DESTINATION MYDESTINATION
EXPORTING
..
TABLES
..
EXCEPTIONS
system_failure = 1 MESSAGE nachricht
communication_failure = 2 MESSAGE nachricht.
IF sy-subrc <> 0.
WRITE:/ nachricht,/.
ENDIF.
<a href="/people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap-netweaver-xi Web Service SOAP Fault Responses in SAP NetWeaver XI</a>
>>>Also, I am not clear how to upload message from SXMB_MONI into Message mapping of XI respository and test ?
Right click on payload, view source, save as or download at navigation frame. At Message Mapping Modus Test and the green upload Button.
Regards,
Udo
Hi Niranjan,
>>>we are getting short-dump when we execute RFC
You can avoid that by defining an exception
>>>Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
Seems to be a mapping problem, assumedly you are using a Message Mapping. Download the incoming message from SXMB_MONI and test the mapping inside the Integration Builder Repository. Switch the trace to "all" for having good error description. If you load the downloaded file into test modus and some fields are red (on the left side), you have to reload the RFC (coz changed) and to restart the adaper (just change the description field of Com Channel and activate). If the mappings fails, look which requirements of target couldnt be satisfied.
Regards,
Udo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Go through this
/people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Regards
Hemant
Award points if find helpful
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
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.