cancel
Showing results for 
Search instead for 
Did you mean: 

RFC to JDBC "No messages available for selection"

Former Member
0 Kudos

Hi Guys

I am testing my RFC to JDBC scenario, and on sxmb_moni I get error: "No messages available for selection"

on SE37 I have ran my RFC with a data.

On SM59 I created and test my RFC destination its working fine, on the SM58 no errors, I am using

BAPI_BANK_GETLIST as my sender and my DataBase table (SQLServer) is my receiver

On my MM I have set access to constant INSERT

What am I not doing right?

Thanks

Yonela

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Correction on the previous question ACTION on ACCESS

Hi Guys

I am testing my RFC to JDBC scenario, and on sxmb_moni I get error: "No messages available for selection"

on SE37 I have ran my RFC with a data.

On SM59 I created and test my RFC destination its working fine, on the SM58 no errors, I am using

BAPI_BANK_GETLIST as my sender and my DataBase table (SQLServer) is my receiver

On my MM I have set ACTION to constant INSERT

What am I not doing right?

Thanks

Yonela

daixiong_jiang3
Active Participant
0 Kudos

GO TO COMMUNICATION CHANNEL MONITORING URL:

http://<host>:50000/mdt/channelmonitorservlet

to see if there is any message shown in the log

Former Member
0 Kudos

On my http://xxxxx:50000/mdt/channelmonitorservlet

I don't get a massege and another thing is that my scenario is ASYNCHRONOUS, does this have an effect

RFC target sys in SE37: I got a SYSTEM_FAILURE

My SM59 connection is of type T

Thanks

Yonela

daixiong_jiang3
Active Participant
0 Kudos

yes, you can not test asychronus scenario via SE37.

You need to execute the following code in your test report:

change the function name and destination as per your scenario.

CALL FUNCTION '  '
 IN BACKGROUND TASK 
 DESTINATION  '    '
.......


IF SY-SUBRC = 0.
  COMMIT WORK.   " HERE WILL TRIGGER THE RFC SENDER
ELSE.
  MESSAGE.
ENDIF.

stefan_grube
Active Contributor
0 Kudos

check SM21 for a detailed error message.

Former Member
0 Kudos

I have refreshed every thing on my IR and ID now when testing I got below error: on http://xxxx:50000/mdt/channelmonitorservlet

Error in processing caused by: com.sap.aii.af.mp.module.ModuleException: call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_MAPPINGPROGRAM_FOUND: caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_MAPPINGPROGRAM_FOUND:

On the moni the status is red and my payload:

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

- <ns1:MT_RFC_to_JDBC_IN_response xmlns:ns1="http://yonela.com">

- <STATEMENT_response>

<insert_count>1</insert_count>

</STATEMENT_response>

</ns1:MT_RFC_to_JDBC_IN_response>

I have tested my mapping it working on the MM and IM

Thanks

Yonela

stefan_grube
Active Contributor
0 Kudos

You can ignore this, as the error states that there is no mapping program for the response.

This happens, when you test an async interface in sync mode.

The response message states, that 1 message was inserted in table, so I assume that your scenario works as desired.

daixiong_jiang3
Active Participant
0 Kudos

The error is caused by the way you called the function, you should add a statement IN BACKGROUND TASK as i mentioned before, otherwise PI will still consider your scenarion as a synchronus one, which will require a mapping program about the response and the mapping program actually does not exist.

former_member241146
Active Participant
0 Kudos

Hi Yonela.

It is a return message of your INSERT command. Once your interface is ASSYNC it doesn't have response mapping program. You must execute your RFC "in background task with destination XXXXX" then after use COMMIT WORK to close LUW.

Good luck.

Bruno

Former Member
0 Kudos

Hi Guys

As Bruno have specified I decided to reverce my scenario now it JDBC to RFC Synch but now the problem I am facing with is that I dont get a response back. I want it to return one field from my table.

I am using the BAPI_BANK_GETLIST and BAPI_BANK_GETLIST.Response, SQL Server as my database server.

On my http://xxxxx:50000/mdt/channelmonitorservlet the JDBC sender is working fine but when testing the RFC Receiver I get the below error and went through lots of blogs still no luck.

Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>

On my sxmb_moni my fllag is black and white which is what I wanted to see.

Your suggestions will be helpful,

Thanks

Yonela

stefan_grube
Active Contributor
0 Kudos

JDBC to RFC synch is not possible. Even technically allowed, the response message of RFC is not used.

Besides the process should be triggered from SAP system via batch job, so your first approach would be better.

former_member241146
Active Participant
0 Kudos

Hi Yonela.

For scenarios JDBC2RFC you can't use Synch, only Assync interfaces.

Now, if your scenario is RFC2JDBC you can use Sync or Assync interfaces.

Regards.

Bruno

Former Member
0 Kudos

Hi Guys

I am working on RFC to JDBC Scenario, now how can I log the message into my SQL Database table and get a response using JAVA function. (e.g.) Successful if the message is logged to the table or Failed if not.

Could you please point me to sample scenario

RFC is a sender and JDBC is a receiver.

Thanks

Yonela

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

> on SE37 I have ran my RFC with a data.

Did you get a response, or an error?

Did you apply the correct RFC target sys in SE37?

Is SM59 connection coorect type T?