Adapter Engine Prioritation for JDBC Adapter
Hi ,
I am currently working on an Idoc to Jdbc Scenario. The jdbc adapter is used to push the messages to three different legacy systems through three different scenarios. I need to prioratize the messages of the legacy systems(For Eg. Legacy System A is more critical than Legacy System B) in adapter engine or in adapter itself.
Regards,
UserPI
Hi
We are having the same problem. Once one of the interfaces which is using a JDBC communication channel is processing a bigger amount of messages, the JDBC adapter seems to be blocked exclusively for that interface. All other interfaces using the JDBC adapter are on hold (status "Scheduled" in Adapter Engine Message Monitoring). I set up message prioritization in RWB (Component: Adapter Engine), but it doesn't help (nothing different from before).
Does anybody has a hint on that?
Thanks
Philippe
Similar Messages
-
Multi Mapping for JDBC Receiver JDBC Adapter
Hi All,
I'm trying an IDoc to JDBC (canonical XML) scenario using multi mapping (single IDoc as source and two different JDBC messages in receiver end). But, this is failing in RWB with some parser error. So, am not sure whether multi mapping is allowed for JDBC Canonical XML format. Please clarify.
Thanks,
Hussain.Hi ,
JDBC Adapter supports multi mapping,so you can implement the same,but what do you mean by Canonical XML format??
Regards,
Raj -
"Recordsets per Message" for jdbc adapter
Hi all,
is "Recordsets per Message" kind of option is available for JDBC adapter.
Any help will be appriciated
Thanks
-KulwantHi Kulwant,
its not available.
You can a stored procedure whick picks only certain number of records per each call.
Regards
Inder -
Update statement problem for jdbc adapter
Hi all
In the jdbc sender adapter, I configured as follows:
Query statement
select * from pickdiff where tid is null
Update statement
delete from pickdiff where tid is null
I got following error message:
Database-level error reported by JDBC driver while executing statement 'delete from pickdiff where tid is null'. The JDBC driver returned the following error message: 'java.sql.SQLException: [SQLServer 2000 Driver for JDBC][SQLServer]Die Unterabfrage gab mehr als einen Wert zurück. Das ist ungültig, wenn die Unterabfrage auf =, !=, <, <= , >, >= folgt oder als Ausdruck verwendet wird.'. For details, contact your database server vendor.
If I change the Update statement to
update pickdiff set tid = 'sapxi' where tid is null
Then everything is ok.
Doese any one have some idea about this problem?
Regards
HuiHi,
The below statements are from SAP help...
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/frameset.htm
The UPDATE statement must alter exactly those data records that have been selected by the SELECT statement. You can ensure this is the case by using an identical WHERE clause. (See Processing Parameters, SQL Statement for Query, and SQL Statement for Update below).
● Processing can only be performed correctly when the isolation level for transaction is set to repeatable_read or serializable.
SQL statement for query: SELECT * FROM table WHERE processed = 0;
SQL statement for update: UPDATE table SET processed = 1 WHERE processed = 0;
processed is the indicator in the database.
please see if setting the isolation level would help....Also are you getting this error always or is it intermitent ?
Thanks,
Renjith -
About 2 questions for jdbc adapter.
1.
which transaction isolation level should i set for jdbc sender adapter to guarantee data to be selected correctly?
not error occurs.
2.
how to reslove time_out error for jdbc adapter. especially sync query in volume data case.Hi,
If you want to maintain the sequence and data consistency, then use isolation level "serializable" and QoS as EOIO.
Set / Increase the time_out parameter in the adapter module.
Regards,
Neetesh -
How to increase the thread count for JDBC adapter
Hi ALL,
Could someone advice me on how to increase the thread count for JDBC Adapter in Visual Admin:
JDBC_http://sap.com/xi/XI/System.Call.maxConsumers 5
JDBC_http://sap.com/xi/XI/System.Recv.maxConsumers 5
JDBC_http://sap.com/xi/XI/System.Rqst.maxConsumers 5
JDBC_http://sap.com/xi/XI/System.Send.maxConsumers 5
I need to increase them to 10.
Regards,
Xierhi check the below links:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/806e75a0-0e01-0010-2587-fc518de8ac1a
admin manual:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/fdb09490-0201-0010-e09e-a76388646ad0
note:reward points if solution found helpfull.....
regards
chandrakanth.k -
Multiple STATEMENT nodes in target structure for JDBC adapter
Hi All,
I have a file to JDBC scenario . At the receiver side we need to update two tables simultaneously .
So in the target structure for JDBC , is it possible to have two STATEMENT nodes , so that 2 tables can be updated simultaneously.
Please help.
Thanks & Regards,
Loveena.Hi,
U can do tht..please see below link..
http://help.sap.com/saphelp_nw04/Helpdata/EN/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
Regards,
Manisha -
Data Types for JDBC Sender/Receiver Adapter
HI experts,
I am very much confused how the data types shoudl be for the Sender/receiver for JDBC.
And is there any standard format where it should be used, or what is the strucutre to be used,.
Please let me know in clear and help me out in this regard,
Edited by: Amruth on Dec 4, 2008 6:11 AMHI Nagarjuna,
If my understanding is correct, When you trigger the Idoc from R/3 it thrown the error in XI.
If you want to send the same Idoc then go to WE19 in R/3 system enter the same Idoc number and execute the scenaio. It send the Idoc to XI system, but the message number will change.
Regards
Goli Sridhar -
Can we set an Alert for JDBC Connection Failures ?
Hi friends ,
Can we set an alert for JDBC Connection failure as mail as well as Alert ?
I am using JDBC Sender adapter to read the data from sql server table.
I am not using BPM .
I want to set an alert and mail to respective person when JDBC Connection failure .
If XI trying to read a database if connection failure or connection properties lost it won't come ti Integration engine itself right ?
I assume as we have to set alert at system level .
Can you please give me the step by step details to set this kind of alerts ?
Expecting your reply asap .
Best Regards.,
V.RangarajanRenga rajan,
This is what I tried to explain in yuor previous threads.
>>>If XI trying to read a database if connection failure or connection properties lost it won't come ti Integration engine itself right ?
In such cases, you will get <b>an error at adapter level</b> and the msg wont come into IE.
>>>I assume as we have to set alert at system level .
If you are above SP 14 in XI3.0, then you can raise alerts for adapter errors also.
No special config required for this.
To understand this, give it a try and you will get the concept.
Regards,
Jai Shankar -
Question about Sender and Receiver Structure for JDBC
Dear All,
I want to know why there is a fixed format for sender and receiver structure for JDBC. why cant we use the structure like what we want? explain me in detail.
ThanksGood Question:
We have to create our data structure based on the existing database table structure. While reading or writing , JDBC adapter convert our data type structure in to SQL Query Statements that matches Table structure. -
Where to add locale settings for JDBC adapter?
for example, i need
LC_ALL="ru_RU.ISO8859-5" export LC_ALLHi, Mikhail!
You have to add locale settings (language) at the settings of your operating system. it is not XI settings... and restart XI then.
With the best regards,
Natalia. -
Java Mapping for JDBC Interface
Hi,
please help on java mapping for my jdbc interface.
my java code for jdbc is:
Created on May 7, 2008
TODO To change the template for this generated file go to
Window - Preferences - Java - Code Style - Code Templates
package XiMappingDB2.com.xi.test;
@author miracle
TODO To change the template for this generated type comment go to
Window - Preferences - Java - Code Style - Code Templates
Created on May 2, 2008
To change the template for this generated file go to
Window>Preferences>Java>Code Generation>Code and Comments
package com.xi.test;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.api.MappingTrace;
import com.sap.aii.mapping.api.StreamTransformation;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import com.sap.aii.mapping.api.StreamTransformationException;
@author kotla
To change the template for this generated type comment go to
Window>Preferences>Java>Code Generation>Code and Comments
public class NameMerge implements StreamTransformation {
private Map param = null;
private MappingTrace trace = null;
public void setParameter(Map param){
this.param = param;
if (param == null) {
this.param = new HashMap();
public void execute(InputStream input, OutputStream output)
throws StreamTransformationException {
AbstractTrace trace = null;
String RESULT = new String();
trace =
(AbstractTrace) param.get(
StreamTransformationConstants.MAPPING_TRACE);
try {
//Create DOM parser
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
//Parse input to create document tree
Document doc = builder.parse(input);
trace.addInfo(doc.toString());
// Map the elements
Node root = doc.getFirstChild(); // gets the root element
NodeList children = root.getChildNodes();
for (int item = 0; item < children.getLength(); item++) {
if (children.item(item) instanceof Element) {
root = (Element) children.item(item);
NodeList ch = root.getChildNodes();
RESULT = RESULT.concat(ch.item(0).getNodeValue() + " ");
trace.addInfo(RESULT); }
catch (Exception e) {
trace.addDebugMessage(e.getMessage());
//Return the output document
String document_exit = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:Person2 xmlns:ns0=\"urn:xxxxx.com:test:mapping:lookups\"><RESULT>"
+ RESULT
+ "</RESULT></ns0:Person2>";
insertDB(RESULT);
try
output.write(document_exit.getBytes());
catch (IOException e1) {
trace.addDebugMessage(e1.getMessage());
public void insertDB(String DETAILS){
Statement stmt = null;
Connection conn = null;
try {
conn = getConnection();
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.execute("insert into KUMAR(DETAILS) values ('"DETAILS"')");
//System.out.println ('"DETAILS"');
conn.commit();
stmt.close();
conn.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
public Connection getConnection() throws Exception {
String driver = "com.ibm.db2.jcc.DB2Driver";
String url = "jdbc:db2://172.17.4.24:50000/SAMPLE";
String username = "miracle";
String password = "sairam";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
but we are getting the following error:Linkage error occurred when loading class JavaDatabaseApp/XiMappingDB2/com/xi/test/NameMerge (http://FILE2JDBC_US, 7d7b3141-f4d1-11dc-b25e-d5d5c0a80198, -1)
Start of test
LinkageError at JavaMapping.load(): Could not load class: JavaDatabaseApp/XiMappingDB2/com/xi/test/NameMerge
java.lang.NoClassDefFoundError: JavaDatabaseApp/XiMappingDB2/com/xi/test/NameMerge (wrong name: XiMappingDB2/com/xi/test/NameMerge) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.lang.ClassLoader.defineClass(ClassLoader.java:448) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingLoader.findClass(RepMappingLoader.java:175) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.load(RepJavaMapping.java:136) at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.execute(RepJavaMapping.java:50) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170).
please solve this issue.Uday,
May be you have uploaded class file into external definitions.
You need to Zip the class file into .jar and then upload into external definitions of integration repository
Regards,
Kiran Bobbala -
No script engine supported for 'JScript' error in OBIEE 11G ibots
Infrastructure: 64 bit OBIEE 11.1.1.5 on 64 bit Red-Hat Enterprise Linux 5.6
We tried using *.java to export the delivery content of an 'Agent' and place it in a shared folder on Windows.
We are able to use the .java file directly in putty and it works fine in creating a folder and copying the file from source to target, but when we put the same script as part of the actions in the 'Agent' properties, its fails with the error "[nQSError: 66023] No script engine supported for 'JScript'". The e-mail is triggered and the attachment is delivered fine.
We tried the same with a *.js file. The error is the same. I found people using *.js scripts and they say it worked for them at Re: How to send the content of an agent (PDF Report) to local machine in 11g
But I am not sure what are the other settings that should be done. The error seems very basic and fundamental and has something to do with java interpreter or something.
Any help if you have implemented the same, would be greatly appreciated.
Thanks!That example in the link shows creating an action at the end of 'Agent'. I am not sure if that is what the user meant by 'create an action'. If the user meant to create an 'action', how does and where we call that action at the end of an 'Agent'?
I did try creating an action by updating the 'UserScript.js' file, but the moment i update the file with a custom function, the server doesnot recognise the UserScript.js file anymore and i cannot even use the default functions in UserScript.js file. -
What are the needed tools for JDBC???
iam new to this field, i want to know what are the required tools for JDBC??
i know that i need java.sql and javax.sql packages, but how can i get them???
what about the drivers???
thnx in advanceYou need to go to the vendor's web site such as Oracle and download the jar file for that particular database. Example: ojdbc14.jar for an oracle database and copy it to the 'lib' folder of your project and then include it with your project. Within that jar file, you will have datasource, preparedStatement, resultSet objects. You will need to read up on how to instansiate the datasource for that database from the vendor's documentation.
-
What is the method of getUserName() for JDBC DataSource in JDeveloper 11g.
Hi All,
I am facing a issue about getUserName() Method.
The below method
getDBTransaction().getConnectionMetadata().getUserName()
working fine for JDBC URL While the same method not working for JDBC DataSource.
So What is optional method for getUserName() for JDBC DataSource, I need JDBC DataSource because in Our Standalone weblogic server we using data source.
MaroofHi Vohar,
JNDI is there then how we can get user name you have any idea?
Our Connection.xml look like below
user oraJDBC 1500 192.168.0.0 user1 thin
Maybe you are looking for
-
Mobile account rules are still being ignored!
We've been running Tiger server for a couple years in combination with mobile accounts for some years now, mostly without significant problems. Since the introduction with Leopard it started giving problems: all rules in the WGM mobile account setup
-
Hi, My SBO Server has crashed. Only thing I could recover is all mdf ldf files. Now I want to re-setup the system. Plz suggest me the steps that I should follow (Including patch upgrade). The installation file I've is SAP Business One 2005 B (7.40.24
-
Hi I would like to know if there is a way of get case insensitive results from database using CMP findBy methods ? Thanks Lavanya
-
Hi All, I just got EHP-1 installed. I would like to know more about Process Modelling using BPM. Please point out some documents that would serve as a good starting point to understand BPM. Why is the BPX Community different than SDN ? Thanks, ~Veena
-
Hello all, I had my iPhone 4 synced to a Macbook and was using iTunes and iPhoto for my media. Well the hard drive in my Macbook crashed and now all of my Photos and Music are only on my iPhone. How can i extract the iPhoto library/albums from the ph