RFC Look up Caching Results

Hello Experts,
            I am facing an issue in PI7.1 while using RFC Look up functionality. I use this in a high usage interface and now I see that it actually caches the results somewhere and does not actually make the RFC call to the backend system.
I refered some threads, but could not get answers. Has anyone else faced this issue ? If yes, could you let me know what the solution is to get around this issue?
Thanks,
Karthik

Thanks Arpil, We are calling the RFC look up once per mapping. We get results into a global variable and process it thereafter. But this interface that has this mapping itself gets called very frequently, around 30 calls per second.
We are using the RFC look up wizard in PI7.1 and hence not building any new java code etc..but the results are cached. If the data changes in the back end system, the RFC still fetches us old data and only a forced cache refresh is causing it to pick up the new results..

Similar Messages

  • Need help on RFC look up in PI 7.0

    Dear experts ,
    I am working on Jdbc to Abap Proxy  scenario where i need to perform a RFC Look up . I have searched in SCN  and found some help ful blogs, but still need more information in below points.
    My requirement is need to fetch Cost Center (KOSTL) by taking Personal number(PERNR)  as Input parameter.
    1) Do we have to create and import the RFC into PI ?
    2) Do we need to create a UDF ? If yes, Kindly provide some useful links.
    Thanks in Advance,
    Mohammed

    Hi indrajit,
      i had written :  java.util.Map map;" in the import secion of UDF. but still i am getting the following errors
    Source code has syntax error:  /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:3: cannot resolve symbol symbol : class map location: interface java.util.Map import com.sap.aii.mappingtool.tf3.*;import com.sap.aii.mappingtool.tf3.rt.*;import java.util.*;import java.io.*; import java.lang.reflect.*;import java.util.Map.map; ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:257: cannot resolve symbol symbol : class RfcAccessor location: class com.sap.xi.tf._MM_RMF_TO_SAP_ RfcAccessor accessor = null; ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:262: cannot resolve symbol symbol : class Channel location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Channel channel = LookupService.getChannel(BS_SAP_R3,CC_RFC_LOOK_UP_CRMNEXT); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:262: cannot resolve symbol symbol : variable BS_SAP_R3 location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Channel channel = LookupService.getChannel(BS_SAP_R3,CC_RFC_LOOK_UP_CRMNEXT); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:262: cannot resolve symbol symbol : variable CC_RFC_LOOK_UP_CRMNEXT location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Channel channel = LookupService.getChannel(BS_SAP_R3,CC_RFC_LOOK_UP_CRMNEXT); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:262: cannot resolve symbol symbol : variable LookupService location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Channel channel = LookupService.getChannel(BS_SAP_R3,CC_RFC_LOOK_UP_CRMNEXT); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:264: cannot resolve symbol symbol : variable LookupService location: class com.sap.xi.tf._MM_RMF_TO_SAP_ accessor = LookupService.getRfcAccessor(channel); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:268: cannot resolve symbol symbol : class XmlPayload location: class com.sap.xi.tf._MM_RMF_TO_SAP_ XmlPayload payload = LookupService.getXmlPayload(inputStream); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:268: cannot resolve symbol symbol : variable LookupService location: class com.sap.xi.tf._MM_RMF_TO_SAP_ XmlPayload payload = LookupService.getXmlPayload(inputStream); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:270: cannot resolve symbol symbol : class Payload location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Payload result = null; ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:275: cannot resolve symbol symbol : class DocumentBuilderFactory location: class com.sap.xi.tf._MM_RMF_TO_SAP_ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:275: cannot resolve symbol symbol : variable DocumentBuilderFactory location: class com.sap.xi.tf._MM_RMF_TO_SAP_ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:276: cannot resolve symbol symbol : class DocumentBuilder location: class com.sap.xi.tf._MM_RMF_TO_SAP_ DocumentBuilder builder = factory.newDocumentBuilder(); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:277: cannot resolve symbol symbol : class Document location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Document document = builder.parse(in); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:278: cannot resolve symbol symbol : class NodeList location: class com.sap.xi.tf._MM_RMF_TO_SAP_ NodeList list = document.getElementsByTagName("I_KOSTL"); // The lookupValue is available as WA tag in the response ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:279: cannot resolve symbol symbol : class Node location: class com.sap.xi.tf._MM_RMF_TO_SAP_ Node node = list.item(0); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:283: cannot resolve symbol symbol : variable returnValue location: class com.sap.xi.tf._MM_RMF_TO_SAP_ returnValue = node.getNodeValue(); ^ /usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map2d519647b0c211e39616000000844522/source/com/sap/xi/tf/_MM_RMF_TO_SAP_.java:290: cannot resolve symbol symbol : class LookupException location: class com.sap.xi.tf._MM_RMF_TO_SAP_ } catch (LookupException e) { ^ 18 errors
    so can you please explain, how can i import those files.

  • Urgent : Error in RFC  Look Up using JCO.

    Hi,
    I have a scenario od accessing a database table by passing the name through XI and also giving the Where condition ,passing the fieldnames and getting back the field values . The FM that id used for this on ABAP side is <b>RFC_READ_TABLE</b>. 
    For this Scenario I inserted a Java Code using JCO's in th UDF for the  RFC Look Up's.
    I got errors while activating the MM which i am not able to rectify.Please Help me in this.
    <b>Activation of the change list canceled Check result for Message Mapping MM_Notes_2_ED_Z_SDIDOC |
    Starting compilation  Source code has syntax error:  /usr/sap/EXD/DVEBMGS49/j2ee/cluster/server0/./temp/classpath_resolver/Map303c42607df411dc8b1d00e000c553d9/source/com/sap/xi/tf/_MM_Notes_2_ED_Z_SDIDOC_.java:1539: cannot resolve symbol symbol : method createClient (java.lang.String,java.lang.String) location: class com.sap.mw.jco.JCO JCO.Client mConnection = JCO.createClient("200","EN"); ^ /usr/sap/EXD/DVEBMGS49/j2ee/cluster/server0/./temp/classpath_resolver/Map303c42607df411dc8b1d00e000c553d9/source/com/sap/xi/tf/_MM_Notes_2_ED_Z_SDIDOC_.java:1578: cannot resolve symbol symbol : variable result location: class com.sap.xi.tf._MM_Notes_2_ED_Z_SDIDOC_ result.addValue(resultSet[pos]); ^ 2 errors</b>
    <b>This is an Urgent Requirement. Please reply ASAP.</b>
    Regards,
    Priyanka.

    Hi Priyanka,
    The error message says there are 2 errors:
    1. createClient
    2. result.addValue
    For the first one, I guess you might not have included all the API required for lookup
    For second one, please check what is the type of object you are adding to the resultset, maybe you can just say result.addValue(resultSet[pos] + ""); to typecast it.

  • Reg. RFC look up

    Hi All,
    I am working on RFC look up. My Scenario is IDoc to IDoc. The IDoc has a segment say E1 where the occurence is 0---5 and two fields inside that i.e. QUALF and IDTNR.  The requiremnt is like when QUALF  is equal to 002 then fetch the value of material number from SAP and map to IDTNR. Also this material number is picked only when QUALF is equal to 003 and the field IDTNR has some value i.e. article number in SAP. So I need to get value of the material number equal to this article number.
    I am using RFC look up for this mapping condition in order to fetch value from SAP.
    Can anyone help me on this to configure the RFC look up in PI?
    Thanks and Regards,
    Neethu

    Hi All,
    For my requirement I have used this UDF,
    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:ZSD_EAN_MATERIAL_GET xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><P_EAN11></P_EAN11></ns0:ZSD_EAN_MATERIAL_GET>" ;
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel("RD9","CC_RFC_RECEIVER_LOOKUP_I040");
    // 2. Get a RFC accessor for a channel.
    accessor = LookupService.getRfcAccessor(channel);
    // 3. Create a xml input stream representing the function module 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;
    While executing this UDF I am getting the output as:
    <?xml version="1.0" encoding="UTF-8"?><rfc:ZSD_EAN_MATERIAL_GET.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Materialnumber></Materialnumber></rfc:ZSD_EAN_MATERIAL_GET.Response></IDTNR>
      <KTEXT />
    instead of value
    Can anyone suggest me on this?
    Thanks and Regards,
    Neethu

  • Using RFC Look Up in Java Mapping

    Hi All,
    I need to do an RFC Look Up in a Java Mapping program. The response structure of the Function Module to be called consists of only one node called RESULT. In order to read the value exported by the function module in this export parameter RESULT, I am using the following code:
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = null;
    factory.setNamespaceAware(false);
    factory.setValidating(false);
    Document docResponse = null;          
    InputStream in1 = result.getContent();
    docResponse = builder.parse(in1);
    String output = docResponse.getDocumentElement().getFirstChild().getNodeValue();
    The function module works correctly and returns the expected result when tested in SE37. However, on running the above code, the statement docResponse.getDocumentElement().getFirstChild().getNodeValue(); always returns the value NULL and not the expected value that is actually returned by the RFC.
    Kindly let me know where could I be going wrong.
    Thanks in advance.

    Hi Sreehari,
    Your DOM code looks correct, it might be something with the overall code of java mapping. Just have a look at this blog /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    and compare you code with it. See whether you can fine tune your coding to get the rigth response.
    Regards
    Suraj

  • Simple RFC call not returning results

    Hi,
    I have created a VERY simple Dynpro project to return the results of a simple RFC.  I've created the JCO connections and they test fine but the RFC doesn't return results to my application.
    Steps:
    1. create the project
    2. import the RFC Adaptive Model specifying the JCO connections
    3. Create an application
    4. Add the rfc model to the "Models Used"
    5. Bind the model to the component
    6. Context map two variables to the view (one input and one output)
    7. Create the method on the component
    8. Bound the UI elements to the model
    9. Set up the JCO connections from http://portal:50000/webdynpro/welcome
    For the JCO Connection creation, I used "Application" type through a load balanced connection for the Model Data connection (WD_MODELDATA_DEST) and the "Dictionary" type for the Metadata connection (WD_RFC_METADATA_DEST).
    Code:
    1. In the wdDoInit() of the controller
    wdContext.nodeZ_Hr_Get_Perno_Input().bind(new Z_Hr_Get_Perno_Input());
    2. In the wdDoInit() of the view
    wdContext.currentContextElement():setLogin_id( "mylogon" );
    wdThis.wdGetRfcTestComponentController().executeZ_Hr_Get_Perno_Input();
    My gut tells me it's an issue with my JCO connections but I can't be sure.
    I'm using Developer Studio SP9 with Patch 1 connecting to EP6 SP9 Patch 6.  When I start the Dev Studio, however, it displays version 2.0.9, is this the same for everyone?
    I've tested the function module from SE37 and it definitely returns a value. Also, if I don't set the login_id in the wdDoInit() before executing, it gives me the error that the input variable has not been set. So, this tells me that it connected to R3 to know that the variable was not passed but it still doesn't return any value when the variable is passed.
    Any ideas??  HELP!!!!!!!!!!
    Thanks,
    Andrew

    Okay, I'm not going crazy.  The issue was with my "simple" rfc.  When I changed the input and output to char(), it returned as expected.  I just have to figure out why the Dictionary types from R3 caused an issue.
    Andrew

  • RFC Look Up with MultiMapping in PI 7.1

    Hi All,
    I have created a multimapping with one source & two target messages. I am using a RFC look Up for one of fields inside mapping.
    But, when I used this multimapping in interface determination in PI 7.1, at runtime i got an error.
    Error - is variable (Say XYZ) used while creating parameter for RFC look Up in message mapping doesn't exist.
    If I execute multimapping without RFC look Up, it worked absolutely fine.
    I have used RFC look Up in number of normal message mappings, it worked fine.
    Not sure, if this is a issue with PI 7.1, that multi-mapping with RFC look Up isn't supported at enhanced interface determination.
    Please provide inputs for this or if anybody has hands on experience using this with PI 7.1
    Thanks,
    Venkat

    Hi,
    Please go through the thread:
    Re: Global Variables declaration in PI 7.1
    and check whether its useful.
    Regards,
    Vineetha.

  • IDOC to IDOC....... RFC look up

    Hi Friends,
    Iam new to SAP XI and have some questions.Answers to this query will be my pleasure.
    my scenario:
    sender :idoc1 (delivery)
    receiver: idoc2 if customer present
                  else idoc3 to create "customer" and then idoc2 to create "sales order"
    Message mappings:
    1 for idoc1 to idoc2
    1 for idoc1 to idoc3
    and 2 interface mappings for the above message mappings.
    Please explain me how can i use one mapping if condition is false and then mapping2
    and how to use second mapping if condition is true.
    Also given below is mapping for a field .Please check and explain:
    source field:E1ADRM1-PARTNER_ID          
    Mapping/Transformation rule:E1ADRM1-PARTNER_Q = 'WE' Select KUNNR from KNB1where     ALTKN = E1ADRM1-PARTNER_ID and BUKRS = 'GR11'   Value = KNB1-KUNNR    and check that KNA1-STCD2 = 999839383 with KNA1-KUNNR=KNB1-KUNNR                        if no entry found in KNB1customer must be created     
    Target field: PARTN_NUMB
    Please explain.I got an answer previously that i have to use RFC look up, if so please explain where and how to write the RFC look up.
    Thanks in advance,
    Harish.

    Hi Kinthali,
    I think I am not getting your question correctly...
    You need to map from Idoc1 to idoc2 or if idoc 2 is not the idoc1 to idoc3... right??
    <i>>>Please explain me how can i use one mapping if condition is false and then mapping2 and how to use second mapping if condition is true.</i>
    Which condition are you talking about here?? Check the condition in the interface determination and then choose the needed interface...
    Regards
    Suraj

  • Cannot perform RFC Look UP

    Hi All,
    When I executed the RFC Look up function in the mapping could see the following error.
    "Run time exception when processing target field mapping. Cannot perform RFC Look Up".
    I performed the below steps but still could find the same error again:
    1.In the test tab of the message mapping I have assined a channel which I configured in the Interface determination of the configuration and also assigned a value to that channel.
    2. Has given the values for the parameters in the operation mapping and also the binding is done successfully.
    3. The function module I assined is also existing and could test the same for output values for the given input values.
    Please help me resolve the error.
    Thanks & Regards,
    Kumar.

    Hi,
    This is the error I could see in the communication channel monitoring of RWB.
    "Error in processing caused by: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: functiontemplate from repository was <null>"
    Help me with this error.
    Thanks,
    Kumar.

  • RFC Look Up APIs for a IDOC Receiver Communication Channel

    Hi,
    Can we use RFC Look Up APIs in UDF for a IDOC Receiver Communication Channel. (File to IDOC Scenario). Requirement is to send a notificaiton when IDOC got posted with IDOC number.
    Best Regards,
    Madan Agrawal

    As the name suggests, RFC lookup uses RFC receiver channel only. In mapping of your File to Idoc scenario, you may perform this lookup.
    Requirement is to send a notificaiton when IDOC got posted with IDOC number.
    Configure ALEAudit for this requirement. How were you planning to use RFC lookup for such a requirement?
    Regards,
    Prateek

  • Ibots are not retrieving cached results.

    Hello,
    I have scheduled the ibots on reports available on a dashboard page and added a list of users in the recipients tab. i want the results to be cached for these list of users.
    I get an email with the results of the dashboard report whenever the ibots finish to run. Then i tried to login as one of the users from the list of users in the recipients, but the reports seems to run again without retriving the cached results.
    Can anyone help me to understand why the results are not being cached?
    Thanks,
    sK.

    hi SK,
    check this
    http://www.artofbi.com/index.php/2010/03/obiee-ibots-obi-caching-strategy-with-seeding-cache/
    thanks,
    Saichand.v

  • RFC Debugging and Cache Admin not available in PPM 5.0

    Hi Experts,
    RFC Debugging  and Cache Administration is not available  in PPM 5.0 as compared to RPM 4.5. Is it due to single ABAP stack model of PPM 5.0 ? Complete transformation from java to ABAP webdynpro components  ?  Any idea on this ?
    Best Regards,
    Siva

    Siva,
    Yes, you are right, As enerything is moved to ABAP stack in SAP PPM 5.0. RFC Debugging and Cache Administration is not required in SAP PPM 5.0.
    Cheers
    Amit

  • WLS9.2 caching results of CallableStatement?

    Hello All,
    I've been flummoxed by a problem in which the results of a CallableStatement seem to be cached by our WebLogic 9.2 server. We have a connection pooled DataSource talking to Oracle8i (8.1.7.4.0), configured with 10 statements in a cache and the LRU algorithm, also 1 connection initially and a maximum of 15. We're using Oracle's ojdbc14.jar implementation and orai18n.jar.
    We're mostly executing CallableStatments for packaged procedures/functions that in turn call other procedures or run selects. What I'm geting at is, we're retrieving data rather than updating through our CallableStatement. The retreieved data we extract from the returned oracle ARRAY type using a homegrown map to the "shape" of each Struct underlying the ARRAY collection. In this problem, two CallableStatements are run and return data to our Java app, and at the start all is well. Then the underlying data is changed - via procedures in an oracle forms app on the database, not our Java app. Our Java app should display the changed data. The first CallableStatement runs again and an Eclipse remote debug shows the updated data, however the second CallableStatement continues to return the older data. We have oracle test harnesses that call the same procedures as our CallableStatements; both return the new data. If we leave it for sometime less than 45 minutes, the new data is then returned by both statements. Similarly, if we set the statement cache size to 0, the newe data is returned both times. We're closing the DB resources, (and in the right order: ResultSet, Statement and Connection)
    Has anyone come across this issue before? (From my searches it appears not). Secondly, is there a way of debugging into the WLS DataSource mechanism? I can go down as far as getting the ARRAY and no further, but if there's a switch/command line arg that I could use in the startWeblogic script that'd be great. I remember reading about a WebLogic attributeSpy, (or maybe spyAttribute?) and if I had to try the WLS driver for that I'd give it a go, but if Oracle have something similar that'd be fantastic.
    FWIW, changing the data via the oracle forms app changes the sysdate on the oracle database too.
    Variables from the debug that might be relevant:
    DataSource retrieved from jndi context of type WLEventContextImpl
    driversettings
    weblogic.jdbc.rmi.internal.RmiDriverSettings{verbose=false chunkSize=256 rowCacheSize=0}
    driverProps entrySet [EmulateTwoPhaseCommit=false, connectionPoolID=xxxxx, jdbcTxDataSource=true, LoggingLastResource=false, dataSourceName=xxxxx]
    Connection is PoolConnection_oracle_jdbc_driver_T4CConnection
    weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@5f1
    statement     is CallableStatement_oracle_jdbc_driver_T4CCallableStatement (id=nnnnn)     
    weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_T4CCallableStatement@5f2
    There is a StatementHolder too:
    weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_T4CCallableStatement@5f2=weblogic.jdbc.common.internal.StatementHolder@21cae26
    In the "stmts" table in "conn" in "stmt", there are the following two variables:
    jstmt     T4CCallableStatement (id=nnnnn) oracle.jdbc.driver.T4CCallableStatement@21cad44
    key     StatementCacheKey (id=nnnn)     { call my_pack_name.my_proc_name(?,?)}:true:-1:-1
    Thanks for any help that anyone might be able to shed on this!
    Best Regards,
    ConorD

    Hi Joe,
    Thanks for your reply; I'm delighted to see that you're still here helping WLS users under the Oracle banner :-)
    To answer your question, yes, we do get good behaviour when we set the statement cache size to 0. I ran a test on that where I set the Statement cache size to 0 and the initial number of connections to 0, then:
    *1)* Logged in through our Java/WLS app to a few test scenarios and saw the data
    *2)* Ran the oracle app on that DB outside of WLS which moved forward the state of the app, including sysdate
    *3)* Logged in again through our Java/WLS app to the test scenarios and saw the new data being returned from both CallableStatements
    I don't think that the initial number of connections had any effect on this, since WLS was running all the time and there was no retargetting of the DataSource, so IMHO it must have been the statement cache size.
    Where we hadn't got the Statement cache size 0, for step *3)* above one of the two CallableStatements continued to return the old data, (as if it had been told by the DB that the result hadn't changed, and it might as well return a cached result - if WLS does cache ResultSets?)
    Lastly, there is one case where we do see good behaviour even with a Statement cache size of 10:
    Between steps *2)* and *3)* above, if I untarget & activate, then retarget & activate the DataSource (to the same server/db that had just been untargetted) we see new data back from both statements on running step *3)*, even with the Statement cache size set to 10. My guess is that the untarget frees up any object in the Statement cache for collection and removes the remote DB session stubs that may be caching on the DB side.
    Thanks again and Best Regards,
    ConorD

  • Method Iteretor Cache Results Problem

    Hi all,
    I am executing a method and taking some results via method iterator.
    Method iterator Cache Results property is true. But i want to clear or remove all data from cache after completing my job.
    I am trying set to methodIteretor.result property to null in bindings. But this bindings property is unsettable property.
    Thanks to all.
    gokmeni

    Are you attempting to set the property with the Flat editor or within the XML file itself?
    --Ric                                                                                                                                                                                                       

  • RFC Look ups

    Hi all,
    I need to get a value for a field from the target system according to the soucre field.
    For Ex : material number 0001 is from source system and i need to find the corresponding material number from the target SAP system.
    Please let me know how it can acheived.
    Thanks
    Faheem

    1. Create a RFC in R/3 system that has ur desired functioanlity.
    2. Create RFC look up in the UDF.
    3. Map the UDF as follows
    Source- field-> UDF(RFC Look up)---> Target Field
    Refer this for more info
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72

Maybe you are looking for