Can I Determine classpath during Runtime?

If I start java with "java -classpath build;etc;myDir se.company.Main" how can I -- from my java code -- check what JAR files and/or directories are part of the classpath??

System.getProperty("java.class.path")

Similar Messages

  • Set Classpath during runtime

    How can we set classpath to a .jar file during runtime. Is it possible to set classpath not other than editing a .bat file or by manually editing the global variables list????

    You need to implement you own Class Loader if you want to load a jar at runtime. Why would you like to do that in AS?

  • Setting classpath during Runtime

    hi,
    here's what i want to archive:
    i have a directory (not! the starting dir) containing classes
    the location of that directory i don't know until runtime
    the classes have to be accessible by the Class.forName("class").newInstance(); method
    no, i can not write a classloader instead of the forName() <- this is fix
    i tried with System.setProperty("java.class.path", newclasspath);
    and with a classloader, that loads the classes, before the forName() method is invoked (i hoped forName() would find already loaded classes)
    didn't work
    i'm deeply thankful for every hint

    It's not exactly Pure Java (not at all, really).. But
    couldn't you do a:
    String myOldClasspath,myNewClasspath;
    myOldClasspath =
    System.getProperty("java.class.path");
    Runtime.getRuntime().exec("SET
    CLASSPATH="+myNewClasspath);
    // Perform Operations
    Runtime.getRuntime().exec("SET
    CLASSPATH="+myOldClasspath);Probably not.
    First 'set' is a shell command so the program wouldn't run at all. You would need to provide a shell.
    Second anytime you use exec() it starts another process space. Anything that happens to the environment in that process only affects that process. So this solution would only work if it was acceptable to have two running java applications. The first sets up the environment and the second does the real work.

  • Classpath during runtime.

    Is there any way to check the classpath for the JVM at runtime ?
    The reason for doing this is that I got an exception, that the JVM can't find a specific class, even though I can do a class.forName on the class when starting up the application.
    Later it suddenly can't find the same class...
    Regards
    /Andreas

    If you have a exception in the contructor of a class,
    i may be removed from the class loader.
    Use try catch block in the contructor if required.
    . (Compiler may not inform you about it, since you
    may have runtime exception at the contructor.)No. It will not remove the class from the classloader due to an exception in an instance constructor/initializer. See my reply #1.

  • How can I determine VMArgs at runtime?

    Is there any way at runtime to list off all of the VM Args that were used to start up the JVM?

    import java.lang.management.ManagementFactory;
    import java.lang.management.RuntimeMXBean;
    import java.util.List;
    public class ArgsEg {
             * Test with:
             *     java -cp . -Xincgc ArgsEg foo
        public static void main(String[] args) {
            RuntimeMXBean rtBean = ManagementFactory.getRuntimeMXBean();
            List<String> rtArgs = rtBean.getInputArguments();
                // prints -Xincgc
            for(String arg :rtArgs) {
                System.out.println(arg);
    }

  • How to map nodes to an embedded Component during runtime?

    Hi,
    I embed a Component (<i>BasisComponent</i>) in a new created Component (<i>MyComponent</i>) to use some funcionality from it. Therefor, I have to map some ValueNodes from <i>MyComponent</i> to <i>BasisComponent</i> during designtime to transfer the data. I thought, I could use External-Context-Mapping for that. That means I've created a ValueNode in <i>BasisComponent</i>'s InterfaceController and declared it for ExternalContextMapping (let's call it <i>ExtNode</i>.
    Because I want to use this basis functionality from different embedding Components (<i>MyComponent1, MyComponent2</i>, etc.), I can't declare the structure of <i>BasisComponents ExtNode</i> yet, it's just an empty ValueNode.
    Now, I want to map from my using Components their different ValueNodes to <i>BasisComponents ExtNode</i>.
    How to do that? Or is there another possibility to put different value-nodes from different components to the same Node in my <i>BasisComponent</i>? Can this be done during designtime? I believe it can be definitively done during runtime....
    kr, achim

    Achim,
    Let me use your example and explain what in fact will work when you are creating attributes/nodes only at design time.
    Let us define context in BasicComponent as:
    - MyRoot (0..n, selection 0..1, singleton)
    |-MyInt (int)
    |-MyString (string)
    Say, ComponentA has the following context structure:
    - rootNode (0..n, selection 0..1, singleton)
    |-attA (int)
    |-attB (string)
    |-attX (string)
    --attC
    Then you can easly map rootNode of ComponentA to MyRoot of BasicComponent, attA -> MyInt, attB -> MyString, attX left is not used for mapping.
    =============
    Same is true for ComponentB with
    - RootOfBNode (0..n, selection 0..1, singleton)
    |-attIgnored (date)
    |-attA_INT (int)
    |-attB_STR (string)
    |-attY (string)
    --attZ
    ComponentB.RootOfBNode -> CU of BasicComponent.MyRoot, attA_INT -> MyInt, attB_STR -> MyString, attY and attIgnored are not used for mapping.
    =============
    However, if context of ComponentA is defined as
    - rootNode (<b>0..1</b>, selection 0..1, singleton)
    |-attA (int)
    |-attB (string)
    |-attX (string)
    --attC
    ...then you are out of luck -- wrong cardinality of node.
    Moreover, this case also fails
    - rootNode (0..n, selection 0..1, singleton)
    |-attA (string)
    |-attB (string)
    |-attX (string)
    --attC
    Here all attributes are strings so mappings will be incomplete. To fix this you need at least fake attribute in rootNode.
    And mostly important fact: if you can't map nodes in designer due to mismatch context structures the any dynamic (at run-time) mapping will fail as well in majority of cases.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

  • How to determine the target system during runtime of a Generic DS?

    Hi Experts, good afternoon.
    I am coding a Generic Extractor using Function Module. I have to select the field TIMESTAMP on table ROOSPRMSC. To do so, I need the value of RLOGSYS that is the BW system that is calling the Extractor.
    Do anybody knows how to determine via ABAP the RLOGSYS (Remote Logical System) during the runtime of the Generic DataSource Function Module?
    The table ROOSPRMSC keep the TIMESTAMPs values of the last delta upload for each DataSource and for each BW target system. As I have 2 BW's loading data from the same SAP ECC system, I need to know, during runtime of my Generic DataSource, the actual system that is requesting the delta. That's the reason why I need to know the BW's logical system name that is "runnig" the delta InfoPackage.
    Plese, help!!!
    Thanks in advance!
    Leandro Vani

    Leandro,
    The calling program of your FM should have a local variable I_RLOGSYS which is populated with the BW server ID.
    If you don't know how to access a variable in a program that is in call stack using field symbols, search SDN.
    I haven't tested this, so you may have to explore a little.
    Good luck.

  • Can I create a dynamic number of inputs during runtime?

    Can I create a dynamic number of inputs during runtime?
    Oracle 11g
    Application Express 4.0.2.00.06
    Here is my problem:
    We have a table that holds metadata about files (hardcopy or softcopy files).
    We expect we may need more columns in the table at some point and don't want to modify the table or the application.
    So in order to do this I would like to create:
    A table called TBL_FILE with the columns:
    TBL_FILE_ID               NUMBER                (This will be the primary key)
    TBL_FILE_NAME          VARCHAR2(1000) (This will be the name of the file)
    A second table will be called TBL_FILE_META with the columns:
    TBL_META_ID               NUMBER               (This will be the primary key)
    TBL_FILE_ID               NUMBER                (This will be the forign key to the file table)
    TBL_META_COLUMN     VARCHAR2(30)     (This is what the column name would be if it existed in TBL_FILE)
    TBL_META_VALUE          VARCHAR2(1000) (This is the value that record and the 'would be' column)
    So a person can have as much meta data on the file with out having to add columns to the table.
    The problem is how can I allow users to add as much data as they like with out having to re develop the page.
    Other things to note is that we would like this to be on a single page.
    I know how to add we can create multi-row inserts by using a SQL Query (updateable report),
    however the TBL_META_VALUE column in the TBL_FILE_META will sometimes be a select list and other times a text box or number field.
    So I don't see now a SQL Query (updateable report) would work for this and I can't create an array of page items at run time can I?
    Any idea's how I could accomplish this? Is there a better way of doing this?
    Also is there a term or a name for what I am doing by creating these 'virtual' columns in another table?
    I found this method when looking at Oracles Workflow tables.

    Welcome to the Oracle Forums !
    >
    Can I create a dynamic number of inputs during runtime?
    Oracle 11g
    Application Express 4.0.2.00.06
    Here is my problem:
    We have a table that holds metadata about files (hardcopy or softcopy files).
    We expect we may need more columns in the table at some point and don't want to modify the table or the application.
    So in order to do this I would like to create:
    A table called TBL_FILE with the columns:
    TBL_FILE_ID NUMBER (This will be the primary key)
    TBL_FILE_NAME VARCHAR2(1000) (This will be the name of the file)
    A second table will be called TBL_FILE_META with the columns:
    TBL_META_ID NUMBER (This will be the primary key)
    TBL_FILE_ID NUMBER (This will be the forign key to the file table)
    TBL_META_COLUMN VARCHAR2(30) (This is what the column name would be if it existed in TBL_FILE)
    TBL_META_VALUE VARCHAR2(1000) (This is the value that record and the 'would be' column)
    So a person can have as much meta data on the file with out having to add columns to the table.
    The problem is how can I allow users to add as much data as they like with out having to re develop the page.
    >
    Creating Page Items dynamically is not available. You will have to create excess items and hide/show , etc. But you cannot change the Item Type. All in all, too many limitations in this approach.
    >
    Other things to note is that we would like this to be on a single page.
    >
    The 100 item limit will hit you if you go with extra item on page. With Tabular Form that should not be a limitation, unless you are exceeding the 50 item limit of APEX_APPLICATION.G_Fnn items, and the 60 column limitation of Report region with "Use Generic Column Names (parse query at runtime only)" of Dynamic region.
    >
    I know how to add we can create multi-row inserts by using a SQL Query (updateable report),
    however the TBL_META_VALUE column in the TBL_FILE_META will sometimes be a select list and other times a text box or number field.
    >
    If the type if item is variable it only means you need a way to store the item type. Meta Data of the Meta Data.
    >
    So I don't see now a SQL Query (updateable report) would work for this and I can't create an array of page items at run time can I?
    >
    Yes, you can do it. Updatable report/ Tabular Form query can be constructed from the Meta Data using PL/SQL Function Returning SQL Query . It will be a bit of coding in PL/SQL where you use the Meta Data and the Meta Data of the Meta Data to piece together your SELECT with the right APEX_ITEMs. It might have a performance penalty associated with it, but will not be a serious degradation.
    >
    Any idea's how I could accomplish this? Is there a better way of doing this?
    Also is there a term or a name for what I am doing by creating these 'virtual' columns in another table?
    I found this method when looking at Oracles Workflow tables.
    >
    I guess that is just a good TNF. It is the Master-Detail Design Pattern, that sound more modern ? ;)
    Regards,

  • How can i change/create F1 doku text during runtime

    Hi everybody,
    I have a problem.
    During runtime the user should be able to create a documentation. This documentation must be stored in the F1 help of a data type.
    It's easy to get the created help text out of the F1 help.
    But is there any possibility to set the help text of a data type during runtime without calling and displaying the document maintenance initial screen?
    Can anybody help me?
    Thanks & Regards

    Hi Max,
    thank you for your answer. But I think I don't realy understand.
    The documentation should be created for a pattern which is created by the user. I just schould be stored in the F1 help of a data type.
    So there is no field on the screen for which i can use this event.
    Is there a function or something like this i can call to open the document maintenance starting with the "change" screen?
    Thanks & Regards,
    Christian

  • Can we manipulate the Show Horizontal Scroll Bar property during runtime?

    Hi
    i have set the Show Horizontal Scroll bar to true in the property palette during design time but i want to set to false during run-time based on certain conditions.
    it is possible to set the Show Horizontal Scroll Bar property of the forms window to true or false during runtime?
    if yes, how do you do it?
    any help is appreciated. thx.
    Siti

    Hi there
    thank you for the reply.
    so is resizing of canvas using set_canvas_property('CANVAS6',WIDTH,690)
    possible during run-time based on certain conditions? thx.
    Siti

  • Edit Graph label during runtime

    Hi,
    Is it possible to edit the label of the Graph during runtime? I know there is a property node to change the name, but I want to edit it by clicking on it, just like I can change the range of the scale.
    Thanks,
    Ritesh

    How do you have the user resizing the graph?  I have never seen that capability built into the graph before.
    You were talking about the graph label, which to me meant the label that shows above the graph.  But now you are talking about an axis label, which is a different entity altogether.
    An axis label can be programmatically changed, but can't be changed by a user clicking on a graph during run time.  I question why you would want to give a user of your program the ability to do that anyway.  The axis labels should be determined by the programmer since they are directly related to the data that is being displayed on the graph.  Giving the user the ability to edit a graph label could be dangerous as it could give the impression that the graph is displaying some completely different data set than it actually is.

  • A question about how to change a button in a JPanel during runtime

    I am a beginner of GUI. Now I am trying to change a specific component, a button, when the application is running. For example, I have 3 buttons in a JPanel. Each button has its onw icon. If I click one of them, it will change its icon, but the other two don't change. I don't know if there is any method for changing a specific component during runtime. If any one knows please let me know, I will appreciate that very much!!!

    What you're going to have to do is loop inside the actionlistener but still have accessability to click while its looping. I don't know much about it, but I think you're going to need a thread. Try something like this... (it doesn't work yet, but I have to take off)
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    class buttonxdemo extends JFrame implements ActionListener{
      Buttonx mybutton;
      //set it all up, make it look pretty  =]
      public buttonxdemo()
           mybutton = new Buttonx("default");
           getContentPane().add(mybutton.thebutton);
           mybutton.thebutton.addActionListener(this);
           this.setDefaultCloseOperation(3);
           this.setSize(200,200);
      public void actionPerformed(ActionEvent ae){
        if (ae.getSource() == mybutton.thebutton)
             if (mybutton.keepGoing)
               mybutton.keepGoing = false;
                else if (!mybutton.keepGoing)
                     mybutton.keepGoing = true;     
          mybutton = new Buttonx(/*Icon,*/"My Button");
          //getContentPane().remove(mybutton);
          //getContentPane().add(mybutton.thebutton);
          mybutton.startstop();
      }//actionperformed
      static void main(String args[])
           new buttonxdemo().show();
    } //movingicondemo
    class Buttonx extends Thread{
      public boolean keepGoing;
      //public Icon ICx;            //perhaps an array, so you can loop through?
      public String strbuttonx;
      public JButton thebutton;     //may have to extend JFrame?
      public Buttonx(/*Icon IC,*/ String strbutton){
        //ICx = IC;
        strbuttonx = strbutton;
        thebutton = new JButton(strbuttonx);
      public void startstop()
        int i = 0;
        while (keepGoing)
          thebutton.setLabel(strbuttonx.substring(0,i));
          //if an array of Icons ICx
          //thebutton.setIcon(ICx);
    i++;
    if (i > strbuttonx.length() - 1)
    i = 0;
    try
         Thread.sleep(1000);
    catch (InterruptedException ie)
         System.out.println("sleep caught: " + ie);
    }//startstop()
    }//buttonx
    kev

  • How do I create multiple objects during runtime?

    I don't know how to create multiple objects during runtime, here's my problem:
    I get a String as input. Then I create an object called newobject. I put the object in a hashtable with the above string as key.
    Then comes the problem, in order to create a new object, I have to rerun the same class, which uses the same name (newobject) to create a 2nd object. Now my hashtable doesn't reference to my 1st object anymore...
    Is there anyway I can fill up the hashtable with different objects, and make each key point to each object it was supposed to?
    For those who want to see a bit of the program:
    public class PlayBalloon{
    public Hashtable ht = new Hashtable();
    for(){
    Balloon pB = newBalloon;
    newBalloon=new Balloon(pB);
    ht.put("Some input from user", newBalloon);
    for(){
    ht.get(s).draw;<= s=string, draw=own meth. in Balloon
    }

    I think i can see the problem that you are having. You have, in effect, duplicate keys in your hashtable - ie, two strings used as keys with the same name.
    The way that a hashtable works is as follows...
    When you ask for a value that is mapped to a key it will go through the table and return the first occurence it finds of the key you asked for. It does this by using the equals() method of whatever object the key is (in your case it is a String).
    If you cant use different Strings for your keys in your hashtable then i would consider writing an ObjectNameKey class which contains the String value that you are trying to put in the hashtable and an occurrence number/index or something to make it unique. Remember to override the equals method in your ObjectNameKey object or else the hash lookup will not work. For example
    class ObjectNameKey {
        private String name;
        private int occurence;
        public ObjectNameKey(String name, int occ) {
            this.name = name;
            this.occurence = occ;
        public String getName() {
            return name;
        public String getOccur() {
            return occurence;
        public boolean equals(Object o) {
            if (!(o instanceof ObjectNameKey)) {
                return false;
            ObjectNameKey onk = (ObjectNameKey)o;
            if (onk.getName().equals(name) && onk.getOccur() == occurence) return true;
            return false;

  • How to update cgicmd.dat file during runtime?

    I'd like to know how do update cgicmd.dat file during runtime. For example, I run a report one.jsp as
    http://<machine>:<port>/reports/rwservlet?one.jsp&USERID=uid/pwd@db&DESTYPE=cache&mode=bitmap&desformat=htmlcss
    within this report there is a hyperlink to open another report named two.jsp.
    before creating this hyperlink, I'd like to update cgicmd.dat file with passed in userID, pwd, and connection, so two.jsp can use this key for userinfo
    so I can create hyperlink as follows
    srw.set_hyperlink('/reports/rwservlet?report=two.jsp'||
    '&cmdkey=userinfo&DESTYPE=cache&mode=bitmap&desformat=htmlcss');
    Thanks

    To my knowledge the cgicmd.dat is only read when the OC4J starts, so you would have to come up with another solution. Using Single-Sign-On (SSO) is quite a good idea, and it's there for cases like this.
    Regards,
    Martin Malmstrom

  • Mapping error during runtime

    Hi,
    I have scenario like JDBC sender and file receiver.
    I am able to poll with JDBC sender adapter and message has success in adapter engine.
    but i am getting following error while mapping runtime.In sxmb_moni status error during mapping runtime.
    Below i am giving the trace file:
    <Trace level="1" type="T">Interface Mapping urn:iwaysoftware:adapter:iworacle:tablerequest jdbc_im</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_jdbc_mp_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:PO_HEADER/PO_HEADERS_INTERFACE/INTERFACE_HEADER_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:303) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor414.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy153.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:169) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:156) at com.sap.mw.jco.JCO$Server.dispatchRequest(JCO.java:7650) at com.sap.mw.jco.MiddlewareJRfc$Server.dispatchRequest(MiddlewareJRfc.java:2275) at com.sap.mw.jco.MiddlewareJRfc$Server.listen(MiddlewareJRfc.java:1614) at com.sap.mw.jco.JCO$Server.listen(JCO.java:8009) at com.sap.mw.jco.JCO$Server.work(JCO.java:8129) at com.sap.mw.jco.JCO$Server.loop(JCO.java:8076) at com.sap.mw.jco.JCO$Server.run(JCO.java:7992) 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) Root Cause: com.sap.aii.mappingtool.tf3.IllegalInstanceException: Cannot produce target element /ns0:PO_HEADER/PO_HEADERS_INTERFACE/INTERFACE_HEADER_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:178) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor414.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy153.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:169) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:156) at com.sap.mw.jco.JCO$Server.dispatchRequest(JCO.java:7650) at com.sap.mw.jco.MiddlewareJRfc$Server.dispatchRequest(MiddlewareJRfc.java:2275) at com.sap.mw.jco.MiddlewareJRfc$Server.listen(MiddlewareJRfc.java:1614) at com.sap.mw.jco.JCO$Server.listen(JCO.java:8009) at com.sap.mw.jco.JCO$Server.work(JCO.java:8129) at com.sap.mw.jco.JCO$Server.loop(JCO.java:8076) at com.sap.mw.jco.JCO$Server.run(JCO.java:7992) 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)</Trace>
    I tried with all options using mapping functions.But the same eror is coming.
    When i tested my mapping program its successfully running in map bulider without any errors.
    The error occuring at runtime.
    Source strcture :
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:resultset xmlns:ns0="urn:iwaysoftware:adapter:iworacle:tablerequest">
       <row>
          <interface_header_id>928822</interface_header_id>
       </row>
    </ns0:resultset>
    Target structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:PO_HEADER xmlns:ns0="urn:iwaysoftware:adapter:iworacle:tablerequest"><PO_HEADERS_INTERFACE><INTERFACE_HEADER_ID>928822</INTERFACE_HEADER_ID></PO_HEADERS_INTERFACE></ns0:PO_HEADER>
    Can any body suggest what causing the problem.
    Regards
    Usman

    Hi Usman,
    Test your mapping in IR with the payload from SXMB_MONI. You can refer michal's weblog on <a href="/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios to test your mapping (in real life scenarios)</a>
    In other words you copy the XML message from monitoring and exectute the mapping in Integration Builder with maximal trace to get the reason.
    So what you can do is check ur runtime payload in sxmb_moni with,
    IR>message mapping>test tab>give values>test-->source xml
    Also i thought i will give you some details on what ur doing, so maybe you can compare it with what uhave done and see where you have gone wrong.
    A JDBC sender adapter has 2 essential fields,
    1. SQL Statement
    2. Update Statement
    Your SQL statement will contain your SELECT statement and once your SQL statement is executed, UPDATE statement is executed. This is done so that records that have been selected by the SQL statement should not be selected again as the JDBC sender adapter will poll over the database for every poll interval.
    If you want to SELECT something from your Database, then you will have to go for a JDBC sender adapter.
    This is how a SENDER JDBC Adapter works,
    When you are using your JDBC as a sender, then your JDBC will poll over your database and select the rows that satisfy your Select Query.
    In your case, as you are dealing with multiple tables, you can write a stored proceudre for your Database, and call this stored procedure in your Sender JDBC adapter in the SELECT field of your JDBC adapter.
    Go through this blog for stored procedures.
    /people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
    For Configuring the Sender JDBC Adapter refer go through <a href="http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm">Configuring the Sender JDBC Adapter</a>
    Also go through this blog and see if it helps you.
    /people/prasadbabu.nemalikanti3/blog/2006/02/27/collecting-and-bundling-vendor-records-from-different-multiple-interfaces-file-systempeoplesoft-and-sending-to-sap-r3-system-part-2
    To access any Database from XI, you will have to install the corresponding Driver on your XI server.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    I hope this helps...
    Regards,
    Abhy
    Message was edited by: Abhy Thomas

Maybe you are looking for