Logical parser

how can i parse and calculate an expression like
" !((a | b) | b & c & !(d) & ((a | !(a) & b)|b) & e) " ?
a,b,c,d...... is boolean.
Sorry for my English.
i need your help!
Thank you..

I take it, that your experience with parsers is small, and you want to do it yourself (there are grammar based parsers around). That is at least laudable.
Write a recursive descent grammar; I find that the easiest way.
Every parse function accepts some grammatical construct: operator, variable.
If it accepts a grammatical construct, it advances the position.
The result can be a syntax tree.
abstract class Node {
    public boolean evaluate();
class BinaryOp extends Node {
    public BinaryOp(Node lhs, Node rhs) {
class AndOp extends BinaryOp ....The parsing should be done on an token input stream (reading entire words),
that again is done on a normal java.io.InputStream.
Finally if you've done all that, it is time to do nice things:
canonical forms, no binary nodes, but &(x, y, z, ...).

Similar Messages

  • 'Best practice' - separating packages, classes, methods.

    I'm writing a few tools for handling classical propositional logic sentences.
    I currently have a parser (using JavaCC)
    Various reasoning methods (e.g. finding whether sentences are satisfiable or a contradition, whether two sentences are equivalent, converting to conjunctive/disjunctive normal form etc.)
    I can export/import sentences to/from XML
    I'm now coming to a tidying up stage. I'm using Eclipse 3.3 and within the project have 4 packages: logic, parser, xml, testing.
    The tree data structures are created using the JavaCC parser - because I want to leave the JavaCC generated code alone as much as possible I've created a 'LogicOperations' class containing the methods.
    I also have an 'Interpretation' class that holds a TRUE/FALSE value for each atom, e.g. if storing an example where a sentence is satisfiable (= evaluates to true).
    Most of the methods that take an Interpretation as an argument are held inside the 'LogicOperations' class too currently.
    So in a test class I might have
    LogicParser parser = new LogicParser(new StringReader("a | (b & c) => !d"));
    SimpleNode root = parser.query();
    //displays the above String in it's tree form
    root.dump();
    // List atoms in sentence
    System.out.println(Arrays.toString(LogicOperations.identifyAtoms(root)));
    // Show models (interpretations where sentence is TRUE)
    LogicOperations.printInterpretations(LogicOperations.models(root));
    // is the sentence satisfiable?
    System.out.println("Satisfiable: " + LogicOperations.isSatisfiable(root));
    // is the sentence a contradiction?
    System.out.println("Contradiction: " + LogicOperations.isContradiction(root));
    // Is the sentence consistent (a tautology)
    System.out.println("Consistent: " + LogicOperations.isConsistent(root));
    System.out.println("CNF: " + LogicOperations.printCNF(root));
    System.out.println("DNF: " + LogicOperations.printDNF(root));Question is - does separating out methods, classes and packages in this way seem the 'correct' way of doing things? It works, which is nice... but is it sloppy, lazy, bad practice, you name it...
    If any example code is worth seeing let me know, but I'm mainly after advice before I go about tidying the code up.
    Thanks in advance
    Duncan

    eknight wrote:
    My intuition would be to be able to call:
    root.isSatisfiable()Instead of having to go through a helper Method. The Functionality could still remain in LogicOperations, but I would encapsulate it all in the SimpleNode Class.
    - Just MHOThe SimpleNode class is one of a number of classes generated by JavaCC. My thinking was that if there are any modifications to the grammar then SimpleNode would be regenerated and the additional methods would need to be added back in, whereas if they're in a separate class it would mean I wouldn't have to worry about it. In the same vein, I have the eval() method separate from SimpleNode, and most other methods rely on it for their output.
    public static Boolean eval(SimpleNode root, Interpretation inter) {
         Boolean val = null;
         SimpleNode left = null;
         SimpleNode right = null;
         switch (root.jjtGetNumChildren()) {
         case 1:
              left = root.jjtGetChild(0);
              right = null;
              break;
         case 2:
              left = root.jjtGetChild(0);
              right = root.jjtGetChild(1);
              break;
         default:
              break;
         switch (root.getID()) {
         case LogicParserTreeConstants.JJTROOT:
              val = eval(left, inter);
              break;
         case LogicParserTreeConstants.JJTVOID:
              val = null;
              break;
         case LogicParserTreeConstants.JJTCOIMP:
              val = (eval(left, inter) == eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTIMP:
              val = (!eval(left, inter) || eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTOR:
              val = (eval(left, inter) || eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTAND:
              val = (eval(left, inter) && eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTNOT:
              val = !eval(left, inter);
              break;
         case LogicParserTreeConstants.JJTATOM:
              val = inter.get(root.getLabel());
              break;
         case LogicParserTreeConstants.JJTCONSTFALSE:
              val = false;
              break;
         case LogicParserTreeConstants.JJTCONSTTRUE:
              val = true;
              break;
         default:
              val = null;
              break;
         return val;
    }

  • Bypassing work status lock in FX Restatement

    Hi,
    We have a requirement to bypass the work status lock when we run an FX Restatement as part of our budgeting process.  I was hoping to achieve this by writing my own BPC Process Type and piggy-backing off standard code.  However, hereu2019s my problem:
    1.  The currency conversion is part of the main consolidation program logic.
    2.  This program calls the main WRITE BACK logic to write the data back to the application once the conversions have been performed.
    3.  The WRITE BACK logic (method cl_ujr_write_back->write_back_int) has a parameter (I_BYPASS_LOCK) which, when set to TRUE, allows the work status locks to be bypassed.
    4.  However, the consolidation program calls the WRITE_BACK in such a way that the parameter is not set, which means the default value is taken, which is FALSE, which means the locks are respected:
    So, from what I can see, my only options are:
    A.  Implement the WRITE_BACK BAdI and use it to bypass the lock in the special circumstance that a currency conversion is being performed (Iu2019m not even sure this is possible u2013 will need to check).
    B.  Create my own version of the Consolidation and Currency Conversion program by inheriting from CL_UJP_CURR_CONVERSION (annoyingly itu2019s a FINAL class) and redefining the method that calls the write back.  The problem with this will be how to get the script logic parser to call my class, instead of the standard class.
    Has anyone faced the same problem and found a solution?
    Thanks,
    Tristan

    Hi Tristan,
    I may be confirming what you already know that it is not possible to bypass the work status in NW version. At one of our implementations, where the customer had OLS 4.2, had a keyword which is used then in a script logic to check the work status code along with the script.
    We had a solution which worked in our case as we have opened up the DM method in work status code 'Submitted' where the managers could run the packages. Not sure if this would also be applicable in your scenario.
    Thanks,
    Sreeni

  • WSDL Read error while testing through HTTP analyzer Jdev 11g

    Hi,
    I am trying to create and test JAX WS web service using the wizard Web service from WSDL in Jdeveloper 11g. The web service got created successfully. But when I am trying to test that web servcie with HTTP analyzer it is displaying a message box with the error :
    The web servcie can not be invoked because the WSDL document of the selected service cannot be read. The details that has been provided is
    Invalid XML in document at: http://localhost:7101/AppEJBWLS1-WS-context-root/UserProvServiceSEI?WSDL, line: 1, column: 1: Start of root element expected.: oracle.xml.parser.v2.XMLParseException: Start of root element expected.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:323)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:345)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:307)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:212)
         at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:155)
         at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:111)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readDocument(WSDLReaderImpl.java:394)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:331)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:570)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:548)
         at oracle.jdeveloper.webservices.wsdl.CachedWSDLReader.readWSDLDirect(CachedWSDLReader.java:306)
         at oracle.jdevimpl.webservices.tcpmonitor.WebServiceTester$2.run(WebServiceTester.java:517)
         at java.lang.Thread.run(Thread.java:619)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readDocument(WSDLReaderImpl.java:439)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:331)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:570)
         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:548)
         at oracle.jdeveloper.webservices.wsdl.CachedWSDLReader.readWSDLDirect(CachedWSDLReader.java:306)
         at oracle.jdevimpl.webservices.tcpmonitor.WebServiceTester$2.run(WebServiceTester.java:517)
         at java.lang.Thread.run(Thread.java:619)
    The wsdl is in application source path and I am trying to test it on integarted WLS. As the web service got created successfully so my idea is that WSDL is correct. Do I need to add/remove some libraries or I am missing any step while generating the web service? Is it due to Oracle V2 parser. If yes, Can anyone help me to configure default web logic parser or any third party parser in Jdeveloper11g? I have tried to create the same JAX WS web service in TP4, there it is working fine.
    Thanks in Advance

    Hi
    You can find the SSL port of the Admin Server using the Admin Console (eg, http://localhost:7001/console).
    Environment -> Servers
    Click AdminServer(admin)
    SSL Listen Port: 7002 (default).
    You should check the "SSL Listen Port Enabled" check box to connect to this admin server with ssl port.
    For your informationWhen you configure the Application Server Connection from the JDeveloper, you need to check the 'Always use SSL' check box and enter the SSL port. You can create the Application Server Connection for your sSSL port from the JDeveloper.

  • Error while parsing wsdl while creating logical port

    Hi all,
    I have a ABAP consumer proxy created. Now I want to create a logical port in SOAMANAGER.
    When parsing the wsdl, the error is:
    SRT Framework Ausnahme. Fehler beim WSDL-Parsen: Fehler in Base-URI: Relative URI testtt.wsdl erfordert Angabe einer absoluten Base-URI
    which is in english something like:
    SRT Framework exception:Error parsing WSDL: Error in Base-URI: Relative URI requires absolute base-URI
    Do you have any idea? The wsdl is very simple, just one binding, no nested schemas, no reference to https site.
    Thanks in advance,
    Rolf
    Edited by: R.M. on Dec 1, 2011 4:54 PM

    Further investigation gave SAP_note 1327511 (Limiations and common problems in ABAP WSDL processing). Did not find any problems with that.
    I also checked the wsdl with the report RSSIDL_DESERIALIZE_DEMO - it's ok!
    BTW, the system is of Release 700-Level 25. Here's a part of the wsdl:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://domain.de/b1tt/schema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://domain.de/b1tt/schema" targetNamespace="http://domain.de/b1tt/schema">
      <wsdl:types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://domain.de/b1tt/schema">
        <element name="SendRequest">
             <complexType>
                  <sequence>
                       <element name="name" type="string">
                       </element>
                       <element name="ordertype" type="string">
                       </element>
                       <element name="orderno" type="string">
                       </element>
                       <element name="workflow-id" type="string">
                       </element>
                       <element name="file" type="base64Binary">
                       </element>
                       <element minOccurs="0" name="signature-file" type="base64Binary">
                       </element>
                  </sequence>
             </complexType>
        </element>
    ...omitted some more elements equally defined...
    </schema>
      </wsdl:types>
      <wsdl:message name="SendRequest">
        <wsdl:part element="tns:SendRequest" name="SendRequest">
        </wsdl:part>
      </wsdl:message>
    ...omitted some more messages equally defined ...
      <wsdl:portType name="TestTT">
        <wsdl:operation name="Send">
          <wsdl:input message="tns:SendRequest" name="SendRequest">
        </wsdl:input>
          <wsdl:output message="tns:SendResponse" name="SendResponse">
        </wsdl:output>
        </wsdl:operation>
      </wsdl:portType>
      </wsdl:definitions>
    Edited by: R.M. on Dec 2, 2011 1:41 PM

  • URGENT: Parse Logical Operator.

    Hi there:
    I'm having some difficulties to parse some conditoional operator. My requirements is:
    Constants value: int a=1,b=2,c=3
    Input/Given value: 2
    conditional operator expression: d=(a|b|c)&d
    Expected result method:false
    Summary: I like to receive a boolean from any conditional operator expressions defined, which check against Input/Given value.
    Note: The expression are various from time to time, based on user's setup, the method is smart enough to return boolean based on any expression.
    Let me know if you have any concerns.
    Thanks a million,
    selena

    Hi Guys:
    I have modified your program to cater the "(" or ")" precedence. My techniques are:
    For eg : formula = (a|b|c)&d
    1. I substring the those expression with "(" and close with ")".
    2. Then, i store the substring value into a list.
    3. Inside the list will have 2 rows: (a|b|c), x&d (note: x is the input value store in the hashtable)
    4. Therefore basically, the first row (a|b|c) will return a true boolean, then i will store inside result list, and same goes to the result of x&d, which is false.I will get the last operand to store inside the list as well.
    5. The result list will have 3 rows with
    true
    false
    Question here:
    How can parse the rows in a single if statement ? I was tried to retrieve out and form a string, but i can't do that ....
    p/s my code maybe lousy, but pls guide me along the away, again i wish to learn from you :-).
    Again, duke dollars will be awarded when the solutions is firm.
    Thanks a millions,
    selena
    import java.util.List;
    import java.util.ArrayList;
    public class Parser
    public static HashMap symbol_table = new HashMap();
    public Expression parseList(List expList)
    ExpressionImpl e = new ExpressionImpl();
    StringBuffer strBuffer = new StringBuffer();
    List listFlag = new ArrayList();
    boolean result = false;
    String s = new String();
    String x = "";
    if( expList != null){
    for(int y=0;y<expList.size();y++){
    s = (String)expList.get(y);
    System.out.println("==> s: "+s);
    if(s.length()==2){
    s = "x"+s;
    System.out.println("==> after s: "+s);
    e.oper1 = String.valueOf(s.charAt(0));
    System.out.println("==> e.oper1: "+e.oper1);
    if (s.length() == 1){
    return e;
    }else if (s.length() > 2){
    e.operant = String.valueOf(s.charAt(1));
    System.out.println("==> e.operant: "+e.operant); e.tail = recursiveParse(s.substring(2));
    System.out.println("==> AFTER e.operant: "+e.operant);
    try{
    System.out.println(e.eval(2));
    result = e.eval(2);
    }catch(Exception ex){
    ex.printStackTrace();
    if(s.length() == 3){
    listFlag.add(e.operant);
    listFlag.add(Boolean.valueOf(result));
    System.out.println("==> s.length(): "+s.length()); System.out.println("==> e.tail: "+e.tail);
    }//end for
    }//end if
    if(listFlag !=null){
    for(int y=0;y<listFlag.size();y++){
    if(y==1){
    String operand = (String)listFlag.get(y);
    System.out.println("operand: "+operand);
    }else{
    if(y==0){
    boolean temp1 = ((Boolean)listFlag.get(y)).booleanValue();
    System.out.println("temp1: "+temp1);
    }else{
    boolean temp2 = ((Boolean)listFlag.get(y)).booleanValue();
    System.out.println("temp2: "+temp2);
    }//end for
    System.out.println("result: "+temp1 && temp2);
    /* if(temp1 operand temp2){
    return e;
    }//end method
    public Expression recursiveParse(String s)
    ExpressionImpl e = new ExpressionImpl();
    e.oper1 = String.valueOf(s.charAt(0));
    if (s.length() == 1){
    return e;
    }else if (s.length() > 2)
    e.operant = String.valueOf(s.charAt(1));
    e.tail = recursiveParse(s.substring(2));
    }else
    throw new IllegalArgumentException("invalid input " + s);
    return e;
    public static void main(String[] args) throws Exception
    Parser p = new Parser();
    Parser.symbol_table.put("a", new Integer(1));
    Parser.symbol_table.put("b", new Integer(2));
    Parser.symbol_table.put("c", new Integer(3));
    Parser.symbol_table.put("d", new Integer(4));
    Parser.symbol_table.put("x", new Integer(2));
    //The formula
    //Expression e = p.parse("(a|b|c)&d");
    //Split the String if found brackets and add into list
    String s= "(a|b|c)&d";
    String str = new String(s);
    int startIndex = str.indexOf("(");
    System.out.println("starting index with ( ==> "+startIndex);
    int endIndex = str.indexOf(")");
    System.out.println("endding index with ) ==> "+endIndex);
    String startString = str.substring(startIndex, endIndex+1);
    String endString = str.substring(endIndex+1, s.length());
    String firstSplit = s.substring(1,(startString.length())-1);
    System.out.println("1st split bracket value ==> "+firstSplit);
    System.out.println("endString ==> "+endString);
    System.out.println("endString length==> "+endString.length());
    List formulaStr = new ArrayList();
    formulaStr.add(firstSplit);
    formulaStr.add(endString);
    Expression e = p.parseList(formulaStr);
    //5.To evaluate the value of "2"
    //System.out.println(e.eval(2));
    public class ExpressionImpl implements Expression
    public String oper1;
    public String operant;
    public Expression tail;
    /* (non-Javadoc)
    * @see parser.Expression#eval()
    public boolean eval(int value) throws Exception
    int val1 = getValue(oper1); //Get the value of "a"/"b"/"c"/"d"
    if (null == tail)
    System.out.println(val1 + ":" + value);
    return (val1 == value);
    else
    if (OR.equals(operant))
    return (val1 == value || tail.eval(value));
    else if (AND.equals(operant))
    return (val1 == value && tail.eval(value));
    else
    throw new Exception("unsupported operant " + operant);
    private int getValue(String operator) throws Exception
    Integer temp = ((Integer)Parser.symbol_table.get(operator));
    /*if (null == temp)
    throw new Exception("symbol not found " + operator);
    return temp.intValue();
    public String toString()
    if (null == operant) return oper1;
    return oper1 + operant + tail.toString();
    public interface Expression{
    String OR = "|";
    String AND = "&";
    String START_BRACKET="(";
    String CLOSE_BRACKET=")";
    public boolean eval(int value) throws Exception;

  • Verifying and parsing "query" in cm:select query="..." ...

    I'm writting a session EJB that's passed a param (String query) which is supposed
    to be any valid "query" string passed to the cm:select tag (see "http://edocs.bea.com/wlcs/docs31/p13ndev/jsptags.htm#1057716"
    for more info on this tag and the query param).
    My problem is this: I don't think I should write ALL the stuff to validate and
    parse this string because bea has already done it in: com.beasys.commerce.foundation.expression.*;
    but the only source of documentation available on those classes is the Javadoc(which
    isn't that complete). Has anyone used these classes before(Search, Expression,
    Criteria, Logical)? Does anyone know of some documents on how to use them?
    Please help if you can. I'd really appreciate it. Thanks.

    rajan please just google or search SDN. there are large number of post for this..
    to give you a head start: for using a particular index in the select query a %_HINTS ORACLE 'INDEX clause is added

  • Spatial query w/ logical operators in a subquery on Linux using Oracle 1

    Hello...
    I'm being given XML that I need to parse and create SQL from it. Below my signature is the SQL that I generate (its a simple example) and can be more elaborate due to the logical operators (AND and OR) given in the XML.
    The problem that we're seeing is performance-based: when one of the logical operator queries is Spatial-based, like below. Running it in JDBC, the query never returns.
    The spatial query just by itself returns ~300 rows (takes approximately 0.2 seconds). The "PERCENTAGE" query by itself returns about ~40000 rows (takes approximately ~.8 seconds).
    If we run the query below with 2 non-spatial subqueries, the result returns and performance is very acceptable (~ 0.9 seconds)-- the result set is about 80000 rows.
    Thanks,
    Jim
    =========================
    SELECT
    COLUMN_WE_WANT , RESULTS
    FROM
    TABLE_A
    WHERE
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_A
    WHERE
    SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,
    SDO_GEOMETRY(2003,
    4326,
    null,
    SDO_elem_info_array( 1 , 3 , 1 ),
    SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 )
    ) = 'TRUE'
    OR
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_B
    WHERE
    SOME_PERCENTAGE_RATE_COLUMN < 90
    )

    Its difficult to comment without seeing the execution plan. You should trace this query to get a better idea of exactly what's happening.
    Depending on the complexity of the logical operators, I would look at doing this using set operations. So for an OR you might have...
    SELECT COLUMN_WE_WANT, RESULTS
    FROM TABLE_A
    WHERE COLUMN_WE_WANT IN (
         SELECT COLUMN_WE_WANT
         FROM TABLE_A
         WHERE SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,SDO_GEOMETRY(2003,4326,
         NULL, SDO_elem_info_array( 1 , 3 , 1 ),
         SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 ) )) = 'TRUE'
    UNION
         SELECT COLUMN_WE_WANT
         FROM TABLE_B
         WHERE SOME_PERCENTAGE_RATE_COLUMN < 90)For an AND, you would use INTERSECT.
    Edited by: Reggie to remove the extra INTERSECT

  • Spatial query w/ logical operators in a subquery on Linux using Oracle 10g

    Hello...
    I'm being given XML that I need to parse and create SQL from it. Below my signature is the SQL that I generate (its a simple example) and can be more elaborate due to the logical operators (AND and OR) given in the XML.
    The problem that we're seeing is performance-based: when one of the logical operator queries is Spatial-based, like below. Running it in JDBC, the query never returns.
    The spatial query just by itself returns ~300 rows (takes approximately 0.2 seconds). The "PERCENTAGE" query by itself returns about ~40000 rows (takes approximately ~.8 seconds).
    If we run the query below with 2 non-spatial subqueries, the result returns and performance is very acceptable (~ 0.9 seconds)-- the result set is about 80000 rows.
    Thanks,
    Jim
    =========================
    SELECT
    COLUMN_WE_WANT , RESULTS
    FROM
    TABLE_A
    WHERE
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_A
    WHERE
    SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,
    SDO_GEOMETRY(2003,
    4326,
    null,
    SDO_elem_info_array( 1 , 3 , 1 ),
    SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 ) )
    ) = 'TRUE'
    OR
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_B
    WHERE
    SOME_PERCENTAGE_RATE_COLUMN < 90
    )

    There is a spatial forum. You will likely have a far better experience there.

  • Logical delete in database adapter

    Hello
    I was wondering if someone has solution the problem with polling database. You can specify the logical delete column and you can give values for READ, UNREAD and RESERVED states. The problem is that when for example ESB project polls some specific table and starts an instance for every new row with specified logical delete field with value UNREAD, when something unexpected happens and something goes wrong the database adapter updates the row with READ value. This is problematic if we have thousands of rows, and we would like to separate the errored rows from the successfully read rows. Is there anyway (easy) way to update those rows that went wrong to some other value than READ?
    I don't know if anyone understood me, but just for clarification here's a example:
    I have a ESB-project which poll specific database table and parses and XML from the data. After this the ESB-project sends the data to some Web Service. The database table has column CONDITION_CODE in which value 0 means unread and value 1 means read. Now if everything goes fine there is no problems. But if the Web Service is unavailable or the data is malformed, the database adapter still updates the CONDITION_CODE to 1! We have no ways (except to listen ESB_ERROR topic and implement some error handling there) to know what rows were successfully delivered and which were not...
    Hope I was able to clarify the problem... And I hope someone could be able to provide me with answer.
    Best Regards Tuomas

    Did you use the RESERVED value property? How about the transaction mechanism? Do you have global transactions? I gues you would have to use them!

  • Is there a logic:match equivalent for JSTL?

    In a search page I execute a query which returns an array of objects (All objects are of the same object type and are cast to Object[]) and each object has many attributes. I tried using <logic:iterate>, but I was never successful in having it display any results. I believe this had something to do with the entire array being passed via session scope instead of just one record and me not specifying it properly with <logic:iterate>. I was able to successfully use <c:forEach> and it worked right away. I stuck with using that because of its "just works" ability in addition to using a lot of other JSTL code. However, one of the attributes that is being printed out needs to be parsed and is of the form "Yxxx". <logic:match> covers this very nicely, but when I specify it in the below code it is not able to find my variable in any scope.
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
        <logic:match parameter='${myResults}' property='pin' value='Y'>
            <c:out value="Preeti"/>
        </logic:match>
    </c:forEach>I have done several google searches, but I haven't found a JSTL equivalent for <logic:match>. If there is one could someone please tell me what it is? In addition, although <logic:match> is great I still need to print out a substring of that attribute. Could someone tell me how to do that? If this is not possible could someone please tell me if its possible to use <logic:iterate> with an array of objects like I was attempting to do initially so that I could use <logic:match> at least?
    Thanks to all of you for your time.

    Yes you can use the logic:iterate tag. I think you have to specify the type of the exposed variable though. I prefer the forEach loop.
    I think you are using the wrong attribute in the logic:match tag. You should be using the "name" attribute rather than "parameter"
    Parameter attribute refers you to a request parameter, and I pretty sure you don't want that.
    So given the collection of objects in the session attribute "result"
    This should loop through them all, and see if they start with the letter 'Y'
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
        <logic:match name='myResults' property='pin' value='Y'>
            <c:out value="Preeti"/>
        </logic:match>
    </c:forEach>As for the latter bit, are you using a JSP2 container and JSTL1.1? It would appear so seeing as you are trying to use EL expressions in the logic:match tag.
    If so, you could make use of the JSTL function library:
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
       <c:if test='${fn:startsWith(myResults.pin, "Y")}'>
          <c:out value="${fn:substring(myResults.pin, 1, -1)}"/>
        </c:if>
    </c:forEach>And I've just spotted a very cool function in there: substringAfter
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
          <c:out value='${fn:substringAfter(myResults.pin, 'Y')}'/>
    </c:forEach>Cheers,
    evnafets

  • Logic to select Report name based on User's input.

    Hi Guru's
    Good Morning!
    I have a requirement to create a XMLPUBLISHER Report Whihc is Called as ITEM COUNT SUMMARY + ITEM COUNT DETAIL REPORT Following below
    are my ParameterS
    0.REPORT NAME
    1.ORG
    2.ORG COUNTRY
    3.ITEM SELECTION
    4.ORDER TYPE
    5.STATUS
    6.RECEIPT DATE FROM
    7.RECEIPT DATE TO
    8.TRANSIT DAYS
    REPORT NAME: PARAMETER WILL LET THE USER to select the requrired Reports to be run.
    ORG: is the Names of the SHIP FROM ORG
    ORG COUNTRY: is a Dependent Parameter based on the ORG (i.e When a SHIP FROM ORG is Selected the ORG CHOICE Should have the CHoices for the selected ORG and when Nothing Selected from that ORG it should run for every ORG COUNTRY in that SHIP FROM ORG Currently we have two ORG COUNTRY PER SHIP FROM ORG say(USA, CANADA)
    ITEM SELECTION: We need to Run this Report based on Item Selection ( The Logic should handle a total item selection whihc are comma seperated for upto 29
    items)
    ORDER TYPE : Types of Order Again this can be a List of Comma Seperated Values for order Types
    STATUS: STatus should be Comma Seperated (ENTERED,WAVED,NOTWAVED,SHIPPED)
    TRANSIT DAYS: Transit Days
    RECEIPT DATE FROM: This is the Starting DATe range for the REport to be run
    RECEIPT DATE TO: This is the END DATe range for the REport to be run.
    The ITEM COUNT SUMMARY Report should allow the users to run the report 3 ways
    1.ITEM COUNT RUN BY ORDER TYPE ( for all the STATUS)
    2.ITME COUNT RUN BY STATUS ( FOR all the ORDER TYPES)
    3.ITEM COUNT RUN BY TRANSIT DAYS
    And My approach is I have three Queries Created for the above and in the DATA DEFINITION File
    I have them Listed my DATA DEFININTION ( Sorry as my Query's GO More than 70+ LINES for Each Query I thought I will just paste the Order How i have arranged my queries in the Tempalte)
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <dataTemplate name="TPC_ITEM_COUNT_SUMMARY" description = "TPC_ITEM_COUNT_SUMMARY" version="1.0">
    <properties>
         <property name="xml_tag_case" value="upper"/>
    </properties>
    <!-- parameters for the Report -->
         <parameters>
         <parameter name="report_name" dataType="varchar2"/>
         <parameter name="item_selection"          dataType="varchar2"/>
         <parameter name="order_type"               dataType="varchar2"/>
         <parameter name="pstatus"               dataType="varchar2"/>
         <parameter name="org_name"               dataType="varchar2"/>
         <parameter name="org_choice"               dataType="number"/>
         <parameter name="first_receipt_date"     dataType="date"/>
         <parameter name="last_receipt_date"     dataType="date"/>
         <parameter name="from_date"               dataType="date"/>
         <parameter name="to_date"                    dataType="date"/>
         <parameter name="transit_days"          dataType="number"/>
         </parameters>
    <dataQuery>
    <sqlStatement name= "HDR">
    <![CDATA[
    SELECT UPPER('The ABC Corporation, Ltd.')     AS "COMPANY"
                   ,'Item Count Summary - '||INITCAP(:report_selection)||' for Company '||:org_name AS "REPORT"
                   ,'Order Types - '||UPPER(:order_type) AS "ORDER_TYPE"
                   , SYSDATE AS "RUN_DATE"
         ,'Receipt Date'||' '||TO_CHAR(NVL(TO_DATE(:first_receipt_date,'DD-MON-YYYY'),SYSDATE),'YYYYMMDD')                     ||' '||'thru'||' '||TO_CHAR(NVL(TO_DATE(:last_receipt_date,'DD-MON-YYYY'),SYSDATE),'YYYYMMDD') AS "RANGE"
    FROM DUAL;
    ]]>               
    </sqlStatement>
    <sqlStatement name= "BY_STATUS">
         <![CDATA[
    Query for ITEM COUNT SUMMARY by STATUS
    ]]>
    </sqlStatement>
    <sqlStatement name= "BY_ORDERTYPE">
         <![CDATA[
    Query for ITEM COUNT SUMMARY by ORDERTYPE
    ]]>
    </sqlStatement>
    <sqlStatement name= "BY_TRANSITDAYS">
         <![CDATA[
    Query for ITEM COUNT SUMMARY by TRANSITDAYS
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_HDR" source="HDR">
              <element name="COMPANY" value="COMPANY" />
              <element name="REPORT" value="REPORT" />
              <element name="ORDER_TYPE" value="ORDER_TYPE" />
              <element name="RANGE" value="RANGE" />
    </group>
    <group name="G_BY_STATUS" source="BY_STATUS">                
              <element name="RCPT_DT" value="RCPT_DT"/>
    <element name="ITEM"     value="ITEM" />
              <element name="ITEM_DESCRIPTION" value="ITEM_DESCRIPTION" />
              <element name="ENTERED"     value="ENTERED" />
    <element name="WAVED"     value="WAVED" />
    <element name="NOTWAVED"     value="NOTWAVED" />
    <element name="SHIPPED"     value="SHIPPED"/>
    </group>
              <group name="G_BY_ORDERTYPE" source="BY_ORDERTYPE">                                         
    <element name="ITEM"          value="ITEM" />
              <element name="ITEM_DESCRIPTION" value="ITEM_DESCRIPTION" />
              <element name="RCPT_DT"     value="RCPT_DT"/>
              <element name="ORDER_TYPE"     value="ORDER_TYPE" />
    <element name="QUANTITY" value="QUANTITY" />
              </group>
    </dataStructure>
    </dataTemplate>
    Now My Problem is How Do i Get a Logic to Let the Report Name Selection To be REferenced in the Data Definition file..
    I would like to request you to Please help me out in arriving at a Solution for Implementing the Logic
    When the USer selects ITEM COUNT SUMMARY BY ORDER TYPE I want "BY_ORDERTYPE" to be Executed and so on..
    Is there a Way That I can Write in my Data definition file as
    DECODE(:REPORT_NAME ,'ITEM COUNT SUMMARY BY ORDERTYPE', Run query for BY_ORDERTYPE,
    ,'ITEM COUNT SUMMARY BY STATUS', Run query for BY_STATUS,
    ,'ITEM COUNT SUMMARY BY TRANSIT DAYS', Run query for BY_TRANSITDAYS,run query for DETAIL REPORT);
    Also My Item Description Contains Special Characters like Registered Symbol, Copyright Symbol How would I force my XML Parser to Still consider them as TEXT's
    May I Directly Specify <?xdofx:DECODE :REPORT_NAME = 'ITEM COUNT SUMMARY BY ORDERTYPE' THEN BY_ORDERTYPE ?> in the DATA DEFINITION file , I think this is only allowed in RTF please Help,
    Thanks
    vasanthanand

    Thanks for the Reply sir,
    When you say Write the Code, you are referring to the Package is that correct,unfortunately I am not implementing this via PL/SQL Package.
    you mentioned that I can Implement the Logic in the Data definition file( which is a XML file), how and Where I have print use that IF construct (or) Can you Please Print the Code snippet in the Model XML template that i have pasted in my Post.
    May i know what is this
    ln_req_id := fnd_request.submit_request -- for XML1 For...
    Sorry about my ignorance...

  • "Eval Parsed Formula Node VI" does not return outputs in predefined order

    I make a data analysis program, where the data consists of some million events and each event has e.g. 4 channels and 1-5 hits on each channel. 
    I would like the user to select different expressions of these channels to give coordinates to plot in a 2D histogram (increment a bin in Intensity Graph), e.g. for some experiment you want to show x=ch1-ch2; y=ch1+ch2+ch3+ch4; while in another experiment you want x=ch1-123; y=123-ch2;
    There are other VIs that use static LabView-code for the normal things, but now after a few years of adding to this program I find that it would be quite good with a general plotter and let the user specify simple expressions like this. Also with the "normal" static plots, there is a need to filter out bad data and then it would be much simpler both to program and use if you could write text expressions with boolean logic to combine multiple filters. Making a LabView code and GUI that allows AND/OR/parenthesis combinations of expressions will be quite an effort and not very reusable.
    So, with the above motivation, I hope you see that it would make sense to have a useable string formula evaluator in LabView. I find some info about MathScript's user-defineable functions, but haven't managed to get MathScript working in LV2010 yet (maybe some licensing or installation issues, I think I had it in 8.6). But I think it would be possible to do most of what I want for the display-part (not the filtering) with the simpler Eval/Parse Formula Node VIs and suitable use of the limited variable name space. So I started testing, and found a quite annoying issue with how the evaulator works.
    To the parser, you are expected to send an array of output variable names. But then it ignores this array, and returns one output per assignment/semicolon in the formula, in the order of the formula text. Since the static parts of my program need to know what the output values mean (which of them is x and which is y), I would have to rely on the user not using any intermediate variable and defining x before y. The attached screenshot demonstrates the problem, and also that it has been solved by NI statff in the "Eval Formula Node VI" which does the appropriate array-searching to extract only the pre-defined outputs, in their expected order. But using that VI is about 100 times as slow, I need to pre-compile the formula and then only use the evaulator in the loop that runs over a million events.
    I don't know if I'll take the time to make my own tweks to the parsing stage (e.g. preparation of array-mapping to not have to repeat the search or maybe hacking the output list generated by the parser) or if I'll have to make it in a static Formula Node in the block-diagram (which supports more functions), so that the user has to run with development environment and stop the program to change the plotting function. But I wanted to share this trouble with you, in hope of improvments in future LabView versions or ideas from other people on how I could accomplish my aim. I have MATLAB-formula node possibility too, but is far as I have seen the only place the user could update the formula would then be in a separate .m file, which is re-read only when typing "clear functions" in the Matlab console window. (Having this window is also an annoyance, and perhaps the performance of calling Matlab in every iteration is not great.) 
    Besides this issue, it also seems very strange there is virtually no support for conditional expressions or operators in Formula Node evaulated formulas (called Mathematics VIs in the documentation). Maybe using (1+sign(a-b))/2 you can build something that is 0 when a<b and 1 when a>b, but it is not user friendly! Would it really be diffcult to add a function like iif(condition, return_value_if_true, return_value_if_false) to replace the unsupported "condition ? if_true : if_false" operator? Would it really be difficult to add support for the < <= >= > == || && operators? Although compiled to an assemply language, this can't exactly be difficult for a CPU.
    Attachments:
    LV script test.png ‏62 KB
    LV script test.vi ‏18 KB

    (1) You can put any kind of code inside an event structure with the limitation that it should be able to complete quickly and without user interaction.  For example a while loop for a newton-raphson method is fine, but an interactive while loop where the stop condition depends on user iteraction is not recommended. By default, event structures lock the front panel until the event completes, so you would not even be able to stop it.
    (2) Yes, you can do all that. LabVIEW has no limitation as a programming language. Use shift registers to hold data and state information, the manipulate the contents as needed.
    (3) I would recommend to use plain LabVIEW primitives instead of formula nodes. Show us your code so we can better see what it's all about. Obviously you have a mismatch betweeen scalars and arrays. It is impossible from the given information where the problem is.
    (4) Yes, look inside the nonlinear curve fit VI (you can open it an inspect the code!). One of the subVIs does exactly that. Just supply your model VI.
    LabVIEW Champion . Do more with less code and in less time .

  • Web Logic 10.3.6 (64bit) - Could not load the sitemesh filter and library

    Installed Web Logic 10.3.3 (32bit) and Java JDK 1.6.0_21 (32bit) in a customer's server (Windows Server 2008 R2 and 64-bit Operating System). The web page can be displayed with header and side menu.
    However installed Web Logic 10.3.6 (64bit) and Java JDK 1.6.0_31 (64bit) on that same server. The web page cannot be displayed with header and side menu, it is just displayed with a blank background. Refer to the below "ERROR LOG", found the application could not load the sitemesh filter and library properly. We are using sitemesh-2.3.jar.
    Have tried installed Web Logic 10.3.6 (64bit) and Java JDK 1.6.0_31 (64bit) in a test server (Windows Server 2008 R2 and 64-bit Operating System). The web page can be displayed with header and side menu.
    Please assist on this issue. Thanks.
    Below is the sitemesh that is declared and configured.
    WEB-INF/web.xml
    <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>          
    </filter-mapping>
    WEB-INF/decorators.xml
    <decorators defaultdir="/template/decorators">
    <decorator name="plain" page="plain.jsp"/>
    <decorator name="printable" page="printable.jsp"/>
    <decorator name="standard" page="page_template_std.jsp">
    <pattern>/*.jsp</pattern>
    </decorator>
    <excludes>
    <pattern>/include/*</pattern>
    <pattern>/js/*</pattern>
    <pattern>/Login.jsp*</pattern>
    </excludes>
    </decorators>
    WEB-INF/sitemesh.xml
    <sitemesh>
    <property name="decorators-file" value="/WEB-INF/decorators.xml"/>
    <excludes file="${decorators-file}"/>
    <page-parsers>
    <parser content-type="text/html"
    class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
    <parser content-type="text/html;charset=ISO-8859-1"
    class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
    </page-parsers>
    <decorator-mappers>
         <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">
              <param name="property.1" value="meta.decorator" />
              <param name="property.2" value="decorator" />
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">
              <param name="match.MSIE" value="ie" />
              <param name="match.Mozilla [" value="ns" />
              <param name="match.Opera" value="opera" />
              <param name="match.Lynx" value="lynx" />
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
              <param name="decorator" value="printable" />
              <param name="parameter.name" value="printable" />
              <param name="parameter.value" value="true" />
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper">
              <param name="decorator" value="robot" />
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
              <param name="decorator.parameter" value="decorator" />
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">
         </mapper>
         <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
              <param name="config" value="/WEB-INF/decorators.xml" />
         </mapper>
    </decorator-mappers>
    </sitemesh>
    ERROR LOG
    ####<May 8, 2012 5:38:49 PM SGT> <Error> <HTTP> <BHQKPK10060> <cms_cimbmy> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1336469929804> <BEA-101165> <Could not load user defined filter in web.xml: com.opensymphony.module.sitemesh.filter.PageFilter.
    com.opensymphony.module.sitemesh.factory.FactoryException: Cannot construct Factory : com.opensymphony.module.sitemesh.factory.DefaultFactory: java.lang.reflect.InvocationTargetException
         at com.opensymphony.module.sitemesh.Factory.getInstance(Factory.java:50)
         at com.opensymphony.module.sitemesh.filter.PageFilter.init(PageFilter.java:87)
         at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:343)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:96)
         at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:57)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1872)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:59)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
         at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
         at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
         at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
         at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
         at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
         at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
         at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
         at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
         at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

    Do you see any further nested exceptions OR errors in the log file.
    Considering that the same WLS-JDK combination works on one machine and does not work on another machine, it indicates an environmental issue.
    "However installed Web Logic 10.3.6 (64bit) and Java JDK 1.6.0_31 (64bit) on that same server. The web page cannot be displayed....
    Have tried installed Web Logic 10.3.6 (64bit) and Java JDK 1.6.0_31 (64bit) in a test server (Windows Server 2008 R2 and 64-bit Operating System). The web page can be displayed with header and side menu."
    I am suspecting if it has to do anything with the native libraries being loaded JAVA_LIB_PATH.
    Please review the server log file again for identifying differences in LIB_PATH or PATH or any messages saying "Unable to load native.. performance pack.."
    Arun

  • XML parser not able to find encoding format of xml file with jre1.4.2

    Hi
    I am using jre1.4.2_05 and Weblogic 8.1 version and i have a problem with finding encoding format of xml file.
    I need to parse a xml file and need to find which encoding format that xml is based on that i need to change logic.
    Need to know after parsing each xml file what encoding format the xml is? Here the problem is we are using jre1.4.2_05 by default DOM \ SAX parser is not supported and i looked at few third party parser which are also don't have facility.
    But in latest jre 1.5 or jdk1.5 has this feature. Its difficult to the project to upgrade to jre1.5 or more.
    Please let me know if you have any idea about the issue.

    I had a quick look around and I think you might be able to find them in the support portal...
    SAP Support Portal > Software Downloads > SAP Software Download Centre > Support Packages and Patches > Archive for Support Packages and Patches > Archive - Browse our Download Catalog > SAP Connectors.
    Let me know if you find them.
    Regards,
    Stephen.

Maybe you are looking for

  • Automatic payment program configuration process

    Dear All, My client is useing Automatic payment program with pyment methode "cheque" in 4.6c version. Now my client wants to go for other payment methodes... i.e,..... 1. NEFT payments - online Transfer to vendor account 2. RTGS payment Methode 3. Bo

  • Need to print Current user Name in crystal report in B1

    Hi all, In Crystal reports there are 2 current user fields          CurrentCEUserName and   CurrentCEUserID I have tried to add these fields to the footer of my reports, but no information comes out. Is there any way to find out the current user and

  • Dell Precision M6600 with internal display + 2 external

    The only answer I found for this issue was from 2 years ago and the options arent the same anymore. I want to connect 2 external monitors through a dell pros2x docking station while using the laptops display.  1 monitor works fine but the second one

  • Media queries in CS5

    How can I get Media Queries in CS5 ? (I don't have 5.5) Is this possible ? I can't do any of the tutorials for Mobile Friendly web pages without it. I also don't appear to have "Mobile Starters" in New Document > Page from Sample > Mobile Starters ?

  • Bought your macbook in HK....help me out

    Hi everyone! I am just wondering where abouts in HK can you buy a macbook from where they honour the education discount. I am assuming that there has to be at least one Premium reseller somewhere in HK. I have checked the list of resellers in Hong Ko