JDBC to RFC- Error in RWB
Gurus,
Background :We have fresh installation of SAP PO 7.3 (Single Stack ) on SQL Server 2013.
Scenraio is : JDBC to RFC async scerio; i can pull data from SQL database but not able to post to SAP
Please advise what to do.
I always provide points for helpful answers
Hi V Jay - Did you check the below thread?
RfcClientException: functiontemplate from repository was <null>
Q 16: While sending a message to the RFC Adapter the error "... functiontemplate from repository was <null>" is shown. What is the reason?
A: After receiving a message from the Adapter Engine, the RFC Adapter extracts the payload from the message. Normally this should be an XML document in the RFC-XML format. In this format the root element of the XML document represents the name of the function module and is enclosed in the fixed RFC namespace 'urn:sap-com:document:sap:rfc:functions'. But this only will be checked at a later point, when the conversion from XML to native RFC is done. As prerequisite of this conversion the structures and types of the function module parameters has to be known. This is also called metadata or function template. To get this function template the name of the function module is extracted from the root element of the XML document and is queried against the metadata repository of the communication channel. If the metadata repository doesn't have a function module with this name, the exception named above is thrown. Possible reasons are
The XML document, which was sent to the RFC Adapter, is not a RFC-XML document. So the root element name of this document is not the name of a function module and thus can't be found in the metadata repository.
The metadata repository doesn't contain an entry for this function module name. Normally the metadata repository will be an R/3 system and it's function module repository can be searched with the transaction SE37
Reference : 730870 - FAQ XI 3.0/ PI 7.0/ PI 7.1/ PI 7.11/ PI 7.2/ 7.3 RFC Adapter
Similar Messages
-
My scenario is Idoc to jdbc..
I m able to successfully send the idoc from R3 and it is received in XI also.
However the message does not reach to database and am getting the following error in RWB of XI.
"Error when attempting to get processing resources: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: DriverManagerException: Cannot establish connection to URL 'jdbc:oracle:thin:@172.25.XX.XXX:1521:<SID>': SAPClassNotFoundException: oracle.jdbc.driver.OracleDriver"
Kindly tell me where the problem is.Hi,
refer the below link for step by step process:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70ffd890-0201-0010-708f-d5dad2dfcf3a
Thnx
Chirag -
Error in RWB For File 2 RFC 2 FIle ?
Hi Experts
I Got a error in RWB -> Configuration - >
No ports that send to the Integration Server could be found for the following ALE logical systems:<br>PIDCLNT120: Name or password is incorrect (repeat logon) .Hi
In Sender RFC check --> SM59 --> Test Connection (Also Check if user got locked by this time)
In receiver RFC check in the configuration
Rgds
srini -
Dear All,
I'm creating JDBC to RFC Sync scenario.
Configured according to below link,
http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/12/04/jdbc-to-jdbc-synchronous-scenario-with-rr-beans-and-without-bpm-and-rfc-lookup
Sender JDBC structure is
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_JDBC_To_RFC_Source xmlns:ns0="http://FiletoFile.com">
<row>
<A>12</A>
<B>34</B>
</row>
</ns0:MT_JDBC_To_RFC_Source>
But in Test tab of MM_REQ is showing Red.
Why its showing red?
PFA the attached Screenshot.
Thanks,
ArthitaHi Arthitha
You cannot create structure of some kind and use completely different kind of input payload.
If your expected payload is of format
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_JDBC_To_RFC_Source xmlns:ns0="http://FiletoFile.com">
<row>
<A>12</A>
<B>34</B>
</row>
</ns0:MT_JDBC_To_RFC_Source>
Then your Data type should be created as below
Regards
Osman -
RFC error communication exception
Hi all,
My scenario is Jdbc -- XI -- RFC(Z_BAPISALESORDER with two BAPI's 1.BAPI_SALESORDER_CREATEFROMDAT 2.BAPI_TRANSACTION COMMIT).
I am using RFC reciever adapter.While configuring the RFC adapter I have two options.
1.SAP system 2.External RFC server
If i select SAP system , I did not get any errors.It is showing successful message in SXMB_MONI and also in RWB. But Sales order is not created.
Message in RWB ...
.>RFC adapter received an asynchronous message. Attempting to send tRFC for Z_SALESORDERCREATEFROMDAT_XI with TID XIWVaSqBlY4TccBW0GtFmRhW
.>The message status set to DLVD.
.>The message was successfully delivered to the application using connection AFW.
But If i use External RFC system, I am getting excepion.In RWB it is showing following excetion.
...>Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not get a client from JCO.Pool: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: CPIC-CALL: CMRCV LOCATION CPIC (TCP/IP) on host sapx
...>Delivery of the message to the application using connection AFW failed, due to: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not get a client from JCO.Pool: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: CPIC-CALL: CMRCV LOCATION CPIC (TCP/IP) on host sapx.
which option is used for calling the BAPI to create the sales order?
Could anybody help me out...?
Thanks,
sekhar.Try this code. This works perfectly for us:
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN = SALESDOCUMENTIN
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = ORDER_HEADER_INX
SENDER = SENDER
BINARY_RELATIONSHIPTYPE = BINARY_RELATIONSHIPTYPE
INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT
BEHAVE_WHEN_ERROR = BEHAVE_WHEN_ERROR
LOGIC_SWITCH = LOGIC_SWITCH
TESTRUN = TESTRUN
CONVERT = CONVERT
IMPORTING
SALESDOCUMENT = SALESDOCUMENT
TABLES
RETURN = RETURN
ORDER_ITEMS_IN = ORDER_ITEMS_IN
ORDER_ITEMS_INX = ORDER_ITEMS_INX
ORDER_PARTNERS = ORDER_PARTNERS
ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN
ORDER_SCHEDULES_INX = ORDER_SCHEDULES_INX
ORDER_CONDITIONS_IN = ORDER_CONDITIONS_IN
ORDER_CONDITIONS_INX = ORDER_CONDITIONS_INX
ORDER_CFGS_REF = ORDER_CFGS_REF
ORDER_CFGS_INST = ORDER_CFGS_INST
ORDER_CFGS_PART_OF = ORDER_CFGS_PART_OF
ORDER_CFGS_VALUE = ORDER_CFGS_VALUE
ORDER_CFGS_BLOB = ORDER_CFGS_BLOB
ORDER_CFGS_VK = ORDER_CFGS_VK
ORDER_CFGS_REFINST = ORDER_CFGS_REFINST
ORDER_CCARD = ORDER_CCARD
ORDER_TEXT = ORDER_TEXT
ORDER_KEYS = ORDER_KEYS
EXTENSIONIN = EXTENSIONIN
PARTNERADDRESSES = PARTNERADDRESSES
**checking if the BAPI returned some errors*****
LOOP AT return ASSIGNING <bapiret>.
IF <bapiret>-type = 'E' OR <bapiret>-type = 'A'.
success = space.
EXIT.
ENDIF.
ENDLOOP.
IF success = 'X'.
****in case of success commit the BAPI*********
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = wa_bapiret.
ELSE.
ROLLBACK WORK.
ENDIF.
Also you need to pass on the information for "inx" structures. What I mean is , if you are sending data to field REF_1 in header_in, then ref_1 in header_inx needs to be passed witha value of 'X'.
The update flag in inx structure needs to be 'C' for create.
If have items in your sales order, then you have to pass the values for item_in and item_inx. Additionally you need to pass values for schedule lines also.
Hope this helps.
Thanks,
Bhaskar -
Hi all,
I am getting the following error in
RWB-->configuration. com.sap.aii.proxy.framework.core.BaseProxyException: User XIISUSER has no RFC authorization for function group SXI_PMI_CONFIG ., error key: RFC_ERROR_SYSTEM_FAILURE Logon Data For nw4sr1.corp.miraclesoft.com
It is giving authorization error while trying to login using sapuser.
Is configuration related to alerts and alerts configuration?
Could anybody idea about this issue ?
Thanks & Regards,
sekharHi michal,
we did not change the password.
We are facing one more problem with alert configuration.
I am able to create alert categeory through the direct transaction(alrtcatdef). But while creating through RWB it is giving the following error.
URL http://nw4sr1.corp.miraclesoft.com:8000/sap/public/bc/its/mimes/system/99/page/hourglass.html call was terminated because the corresponding service is not available.
Could u help me to solve this issue..?
Thanks,
sekhar. -
JDBC Adapter throws error for Null Data
Hi All,
I am running a interface Proxy to JDBC. But in case if proxy has no new data, the message which goes to the database is:
<b> <?xml version="1.0" encoding="utf-8" ?>
- <ns1:MT_Material xmlns:ns1="urn:sce-com:xi:fi:UnitEstimateData">
- <Insert_Material>
- <dbTableName action="INSERT">
<table>SCEI_UE_MATERIALS</table>
</dbTableName>
</Insert_Material>
</ns1:MT_Material></b>
and I get the error in RWB as <b>Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SCEI_UE_MATERIALS' (structure 'Insert_Material'): java.sql.SQLException: FATAL ERROR document format in structure 'Insert_Material': expected 'access' tag(s) not found</b>.
Is there a way so that the JDBC adapter doesn't throw any error if there is no access node??
Pls advice...
XIerXier,
Why it will create multiple Insert_Material nodes? Use like this
Mandatory segment ->Remove context->Collapse Context ---> Exists -
>insert_material.
Try the above and let me know if it doesn't helps!!
raj. -
Hi,
I am tryiing JDBC TO RFC SCEANRIO.
XI is picking data from MS SEQUEL SERVER but
the same data is not getting mapped into RFC
I am not getting any error as such.
Following are the details.
made a datatype
resultset
row
EmployeeID
LastName
FirstName
message mappping
RFCFORJDBC
resultset outab
row item
EmployeeID----
Empno
FirstName
concatenate--- Empname
Lastname
But for some odd reason
the OUTTAB FOR RFC
is coming like this in message
<?xml version="1.0" encoding="UTF-8" ?>
- <p3:ZZTESTXIJDBC xmlns:p3="urn:sap-com:document:sap:rfc:functions">
<OUTAB />
</p3:ZZTESTXIJDBC>
while payload is getting picked correctly
<?xml version="1.0" encoding="utf-8" ?>
- <resultset>
- <row>
<EmployeeID>9</EmployeeID>
<FirstName>Anne</FirstName>
<LastName>Dodsworth</LastName>
</row>
</resultset>
Kindl help with the sameHi,
t' was namespace.
It solved issue.
Besides
the sql statement
select EmployeeID , FirstName ,LastName from Employees where EmployeeID > 7
and the output is
<?xml version="1.0" encoding="UTF-8" ?>
- <p3:ZZTESTXIJDBC xmlns:p3="urn:sap-com:document:sap:rfc:functions">
- <OUTAB>
- <item>
<EMPNO>8</EMPNO>
<EMPNAME>Laura Callahan</EMPNAME>
</item>
- <item>
<EMPNO>9</EMPNO>
<EMPNAME>Anne Dodsworth</EMPNAME>
</item>
</OUTAB>
</p3:ZZTESTXIJDBC>
but I see only one record is getting updated
<EMPNO>9</EMPNO>
<EMPNAME>Anne Dodsworth</EMPNAME>
what could be the reason for that -
JDBC to RFC Scenario large data
Hi,
I have jdbc to rfc scenario. I have no problem with the small size data (about 10 mb ). if resultset is very large ( about 80 -120 mb ) , i received resultset and proceess it but when PI try to send these data to RFC it stucks status Scheduled in sxmb_moni , and in rwb is to be delivered and doesn't send to rfc.
What can i do ?Since you are using JDBC as sender, I would think you query from the sender and resultset is mapped to RFC for the target system. PI gives optimum performance upto 5 mb message size. YOur message size is pretty big.
Suggestion:
A) Make a minor change and do the query to result less records.
Example: Select Fields from tablename where rownum < 500 and
in update statement set flag = true for the read records so that next time you will not reread those old records again and every time you query only for 500 or 300 or your desired number records and keep the mesg size always constant irrespective of data available.
Hope that helps. -
Receiver RFC error- RfcClientException: functiontemplate from repository wa
Hi All,
I am in an R/3(IDOC) - XI - 3rd party(File) scenario. Need to do a lookup to R/3 from XI before file is sent to 3rd party system.
For RFC, I followed various blogs( currently using Michaels blog https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439 )
However I get the error in RWB:
"Error in processing caused by: 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>"
Came across note : 730870 and it talks of metadata refresh. So I reimported the function module into IR, reactivated the comm channel but still the same error.
Do you guys have any idea why it could be happening.
To sum up,for RFC lookup I have created
1. RFC enabled FM in R/3
2. Comm Channel in ID
3. UDF (supplied the above comm channel and Buss syst name here and FM xml signature)
4. Used the UDF in existing Message mapping
( I have not created any separate Interface mappings for this...is it OK)
( My RFC function module will return a single field, but when I import RFC FM in IR, I do not see the return field, it has only the FM incoming fields...is that OK.....??? )
Any help/pouinters are welcome
Many thanks
ShirinHi Praveen,
Yes its an R/3 - XI - 3rd Party scenario.
To cut the story short, I am doing lookup to R/3 Due to some file sequencing requirements. This is the only option left as getting this data in the IDOC initially didnt help.
As you have pointed, can you help let me know how can I correct it in the UDF. (I am a javao novice, so appreciate if you could help me with it)
I have attached the UDF code below.
Many thanks
Shirin
Imports: java.io.*;com.sap.aii.mapping.lookup.*;
//write your code here
String content = "";
MappingTrace importanttrace;
importanttrace = container.getTrace() ;
//Filling the string with our RFC-XML (With Values)
String m = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:ZIFMS_GET_NEXT_NUMBER>xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><I_NR_RANGE_NR>01</I_NR_RANGE_NR><I_OBJECT>ZIFMS_INT</I_OBJECT></ns0:ZIFMS_GET_NEXT_NUMBER> ";
RfcAccessor accessor = null;
ByteArrayOutputStream out = null;
try
//1. Determine a channel (Business System, Communication channel)
Channel channel = LookupService.getChannel("BS_IFMS_GENIUS_UAT" , "CC_RFC_LOOKUP");
//2. Get a RFC accesor for a channel.
accessor = LookupService.getRfcAccessor(channel);
//3. Create a xml input stream representing the FM request message.
InputStream inputstream = new ByteArrayInputStream(m.getBytes());
//4. Create xml Payload
XmlPayload payload = LookupService.getXmlPayload(inputstream);
//5. Execute Lookup
Payload result = accessor.call(payload);
InputStream in = result.getContent();
out = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
for (int read = in.read(buffer); read > 0; read = in.read(buffer)) {
out.write(buffer, 0, read);
content = out.toString();
catch(LookupException e)
importanttrace.addWarning("Error while lookup " + e.getMessage() );
catch(IOException e)
importanttrace.addWarning("Error " + e.getMessage() );
finally
if (out!=null) {
try {
out.close();
} catch (IOException e) {
importanttrace.addWarning("Error while closing stream " + e.getMessage() );
// 7. close the accessor in order to free resources.
if (accessor!=null) {
try {
accessor.close();
} catch (LookupException e) {
importanttrace.addWarning("Error while closing accessor " + e.getMessage() );
//returning the result u2013 RFC-XML.response
return content; -
JDBC to RFC synch RFC call not executing.
Hi,
I am working on the synchronous JDBC to RFC without BPM. After completing design and config when I test the complete scenario the data from databse is not getting updated in R/3. And I do not see any errors in MONI. But when compared the moni logs I observed the following between the working scenario and not working scenario.
<u>Working scenario log in MONI:</u>
<SAP:Receiver>
<SAP:Party agency="" scheme="" />
<SAP:Service>ECS300</SAP:Service>
<SAP:Interface namespace="<b>http://sap.com/xi/XI/System</b>">InterfaceCollection</SAP:Interface>
- <SAP:Mapping notRequired="S">
<SAP:ObjectId>YYgNVKC9PTCW4JlMapfxZQ==</SAP:ObjectId>
<SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
<u>Not working log from the MONI:</u>
++++++++++++++++++++++++
<SAP:Receiver>
<SAP:Party agency="" scheme="" />
<SAP:Service>ECS300</SAP:Service>
<SAP:Interface namespace="<b>http://my_Own_namespace</b>">JDBC_Rfc_Synch_MI</SAP:Interface>
- <SAP:Mapping notRequired="M">
<SAP:ObjectId>28ZZbGggOw6UcnigDXMD7A==</SAP:ObjectId>
<SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
<SAP:SP>-1</SAP:SP>
</SAP:Mapping>
Could some body point me where I am doing wrong ?
Thaks
Steve.Hi Steve,
I think the error is because your database table is expecting some kind of input and the input you are passing has some error in it.Just cross check the table using DESCRIBE <tablename> with the data you are trying to enter.
Also Just look at Query SQL Statement part ubnder this link,
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
Regards,
abhy -
Hello,
I'm trying out a proxy-JDBC scenario. I'm getting a error in my receiver JDBC adapter. i got the foll. error in RWB.
java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
Addtional information: JDBC driver 'oracle.jdbc.driver.OracleDriver' loaded successfully, additional driver information:
Available JDBC drivers:
oracle.jdbc.driver.OracleDriver, 1.0 JDBC compliant
sun.jdbc.odbc.JdbcOdbcDriver, 2.1 JDBC compliant
I'm trying to connect to an Oracle 8i database.
My connection string is: jdbc:oracle:thin:@IPadress:port:databasename.
I have installed ojdbc14.zip driver on my XI server.
Regrads,
SekarSadasivan,
The oracle document should give more info on the error, see if the info below helps troubleshooting your issue.
databasename - must be the SID of the database; most often ORCL !!
from oracle:
TNS-12505 TNS:listener could not resolve SID given in connect descriptor
Cause: The SID in CONNECT_DATA was not found in the listener's tables.
Action: Check to make sure that the SID specified is correct. The SIDs that are currently registered with the listener can be obtained by typing "LSNRCTL SERVICES listener_name". These SIDs correspond to SID_NAMEs in TNSNAMES.ORA, or DB_NAMES in the INIT.ORA file.
Regards
Saravana -
Scenario:
In JDBC to RFC
Output of above sender adapter will pass through 1:N mapping to generate individual records as separate message.
Each individual records is passed to attached XSLT to genarate RFC format message
RFC response has to be evaluated for errors. If there are errors there should be an email to a support group (we have to use email adapter here)
Along with the email, if there are errors, we need to update the source table.
How to acheive this using bpm?
i mean how many
Data Types,Message Types,Service Intrefce (obibabs),message mapping & operation mapping in IR
SenderAgreement,ReceiverAgreement,InterfaceDetermination,and ReceiverDetermination in ID
Thanks
SriHow to trigger a mail adapter from BPM??
I need to fetch the data from database table through XI, and mapping to Synchronous RFC. Then, RFC response is send to both JDBC and email also. I am using BPM scenario for this. Please, let me know, how can I map with RFC response to email and JDBC. How can I handled in BPM scenario.
Can you please suggest me steps.
Thanks You
Edited by: Srilak on Mar 8, 2011 3:49 AM -
Help on RFC to JDBC and JDBC to RFC
Help on RFC to JDBC and JDBC to RFC
Hi Gurus
I have the scenario where an RFC will be triggered in SAP , to write to a DB2 database and insert new records in a table
and vice versa the JDBC has to read som data from a table based on a primary key, mark them as read for not be read next time and send the data to an RFC where a table in SAP will be updated.
I have never worked with JDBC before , pls advice.
is there any new issue to consider in PI 7.0 regarding JDBC
Thanks.The requirement looks standard,
SEARCH IN SDN FOR JDBC scenarios,you will find many docs for sender as well as Receiver.
>
> is there any new issue to consider in PI 7.0 regarding JDBC
>
no issue with PI7.0.
Regards,
Raj -
RFC error when trying to add transport request in queue in STMS..
Hi,
When I try to add a Transport request in queue in STMS transaction. I get RFC error saying some problem with tp program.
But when I go and check the RFC connection through STMS in system overview -> Communication -> RFC setting, it says RFC connection Ok.
What may be the issue ? I really need some light on this..
Regards,
Rajesh.Hi Rajesh,
At times when u try to add the TR to a queue there would be 2 reasons.
1. If u have imported a TR into a system say QTY and it needs to be re imported, then we delete it fromthe STMS queue and add it again to re import it.
2. If u have some transport from external sap system to be imported here we place the data and Co files in the trans directory and then add the TR to this queue.
A TP failure happens if the data and co files does not exist in the TP directory or else, the TR target system is incorrectly mentioned.
Hope it helps.
Br,
Sri
Award points for helpful answers
Maybe you are looking for
-
How can I acces Secure Notes from Keychain on my other Macs?
I have build up many Secure Notes in Keychain with important stuff and I'd like to be able to access these notes on my four Macs and other Apple devices. Is this possible? If not, maybe a poor alternative would be to create a secure .txt file and sto
-
I want to do a code formatter for COBOL , but have no idea how to do it. I want to plug it in eclipse (but that is the easy part ) . I was wondering if anyone has ever done or at least has an idea how to do the formatter. Not specifically for COBOL,
-
When I BUY an in-app item for a game, a message appears after i click "buy" Your purchrse could not be completed Contact with iTunes support service to complete this purcharse. Please help me on how to complete my purcharse.
-
How much would it cost to replace my iPad 2?
The screen cracked
-
AAA authorization show run in priv 7
Hi,Any one can help... I have set up AAA on my network. aaa authentication login default group tacacs+ group security local aaa authorization exec default group tacacs+ group security local aaa accounting exec default start-stop group tacacs+ group s