XML Boolean Operators in fsiuser

Hi All,
We define BatchingByRecip batches in our fsiuser file, and we often write custom XPATH statements to use input data to send certain transactions to a certain recipient group. We've had good luck with very simple XPATH statements, such as:
Batch_Recip_Def = !/Transaction/Confirm/CompanyInfo[CompanyCode='0002'];"BatchGroup1";Client
However, we've recently had some requirements to add multiple conditions to these XPATH statements, and we haven't been able to get boolean operators to work. We're trying to do something like this:
Batch_Recip_Def = !/Transaction/Confirm/CompanyInfo[((CompanyCode= '0001' or CompanyCode = '0003'))];"MINNESOTA";Client
This seems like a reasonable requirement, but we haven't been able to get this to behave correctly. Has anyone been successful with something like this? Thanks for any help!

You can mix DAL usage with this sort of rule like this:
< BatchingByRecip >
Batch_Recip_Def = =DAL("My_Script"); ... ; ...
Basically, most places that accept a search mask of ?token or typically the xpath starting with ! will also accept the =DAL() or =GVM() type macro call. The "=" macro feature has a number of options like:
=(expression) returns the value of a DAL symbol represented by "expression"
=DAL(expression) returns the value of a DAL script named by "expression"
=GVM(expression) returns the value of a GVM symbol named by the expression
=@(expression) returns the value of a source field
So, in the DAL script you can do whatever you need to do - write a complex IF with as many XPATHs as you need connected with AND or OR, etc, and be sure to return "TRUE" if you want this batch.
Not sure how far back the equal sign macro feature goes, so if not in 11.3, my apologies in advance.

Similar Messages

  • Mountain Lion Finder has no boolean operators?  Where?  When?

    Mountain Lion Finder has no boolean operators?  If so, where?  If not, when?  THANKS

    Are you talking about the Find window?
    If so, just add the criteria you want by clicking the + button. By default, they are Ands. If you want to Or them, or Negate them, hold down the option key and click on the + button.

  • Implementing Boolean operators during find object for qualification

    Hi Team
    We would like to maintain requirements profiles for PD object (position,job etc.) in terms of qualifications (Q) using complicated boolean operators , for example :
    ((Q=English>4 OR (Q=French=5 and Q=Spanish>2)) OR (Q=German=6 and english<3) and Q=education # 2
    The complicated boolean operators could be also : range,excluded from the range,equal,not equal,not exits.
    We would like to execute the search for qualification ,profile matchup based on this complicated boolean requirments profile.
    Is there any custom development or configuration to make this happen ?
    Best Regards
    Dror

    Is this still true if the Collection generics elements are an interface type? For example, in the
    code I sent earlier, I have:
    /** The authorities granted to this account. */
    private Set<Authority> authorities;
    But Authority is an interface that is implemented by the DefaultAuthority class (maybe others
    eventually). I was under the impression that in this situation, the metadata does have to provide
    the actual type that will be in the collection.
    But even if it works in Kodo, one of the requirements of my project is that the JDO implementation
    be swapable with JPOX. When I started working on it, both Kodo and JPOX were at a much earlier stage
    of implementing JDO 2, and if I recall correctly, JPOX required the implementation class (though I
    don't know if it had to be fully qualified). I'm not sure that requirement has been removed from
    JPOX yet, though I haven't checked in a while.
    Thanks for your help with the default value settings though. Is there any place where I could have
    found that behavior documented (Kodo docs, JDO2 spec, etc.)?
    Mark
    Abe White wrote:
    p.s. You don't need to set the element-type in metadata if you're using
    Java 5 generics; we can get the element type from the field declaration.
    Also, when you do have to declare an element-type in metadata, you
    don't need to fully qualify the class name if the element class is in
    the same package as the field's owner (the current <package>), or in
    java.util, java.math, java.lang.

  • Boolean operators (and/or, etc.) in bridge spotlight search?

    Anyone know if boolean operators are possible in Bridge's spotlight search field in the upper right?
    I realize it's available through edit > find, and that smart collections can be saved, but looking for faster ways.
    Would be much obliged for any help, thanks!

    Anyone know if boolean operators are possible in Bridge's spotlight search field in the upper right?
    I realize it's available through edit > find, and that smart collections can be saved, but looking for faster ways.
    Would be much obliged for any help, thanks!

  • Before aggregation with boolean operators

    Hi gurus,
    does someone know if there is a way to force a bex formula, defined by a boolean operator, to be executed in "before aggregation" mode?
    For example, let A and B two propositions, and KF1 and . We define the following formula key figure 
    <b>(A) * KF1 + (B) * KF2</b>
    where (A) = 1 if A is true and (A) = 0 if A is false.
    My question is: is there a way to force this formula to act before aggregation.
    Thank you very much
    Matteo

    I cannot do that, because you can set "before aggregation" property only for KF that are built on basis KF. But I have to built my formula using boolean operators that are not basis KF.
    That's why i cannote use "before aggregation" in the properties of my KF.
    thank you
    matteo

  • Writing formula with boolean operators

    Hi,
    I need to write a formula that will, for a key figure, recognize if the cell is blank and if so convert it to zero. So for example,
    if (keyfig = ' ') , then (keyfig = '0')
    How do I do this using the boolean operators supplied to us for writing formulas and calculated key figures????
    Thank you!

    Hello CM,
    Have a look at this:
    http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm
    Please, remember to use the search option on this forum, as I think that a lot of threads already mention this.
    Hope it helps,

  • Boolean operators in the WHERE clause

    I'd like to create an operator which would allow me to use the following syntax in the where clause:
    select 1 from dual where iplike('172.16.0.128', '*.*.*.*');
    I've created a function (iplike_bool_fn) to implement my desired check, and attempted to bind an operator to it:
    create or replace operator iplike binding(varchar,varchar) return boolean using iplike_bool_fn;
    The binding fails with: ORA-06553: PLS-201: identifier 'OPENNMS.BOOLEAN' must be declared
    I acknowledge the 'no boolean in SQL' issue, however, I don't understand how several built-in operators appear to work fine this way:
    select 1 from dual where REGEXP_LIKE('test','test');
    Is there a way to construct a user defined operator that will allow this syntax?

    SQL does not recognise the Boolean datatype returning TRUE/FALSE as a valid datatype. Your function would have to return a value of, say, 0 or 1 and then you compare the result of the function to those values to determine your match or not.
    Alternatively, depending on your database version, you could use regular expressions (REGEXP_LIKE) to do your comparison, which would remove the need to call any PL/SQL code (which degrades the performance of SQL).
    PS. So in short, the answer to your question is No, you can't construct your own type of function like this.
    Message was edited by:
    blushadow

  • Vector app with boolean operators

    not expecting much, I need some form of vector based (lines, plines, oval, squares etc...) that also has the ability to do basic boolean operations on those shapes, (addition/merging, subtraction, etc...). I would be sending these back to the main computer for more detailed work and conversion to graphic formats to use in programs, but want to work where I want to on the ipad and create the core shapes and drawings.
    Any suggestions would be great. I currently use an app called Touchdraw that does everything except the booleans, which would make my life a whole lot easier.
    Thanks
    Jason

    Fyi, eveloper of touch draw let me know at booleans are coming in a future update.

  • How to write a formula using Boolean Operators?

    Dear BW mates,
    I have two Key Figures <b>stock</b> and <b>Prevous 12 week Stock</b>.
    I want to calculate <b>Excee stock</b> from these with the following condition.
    If <b>Prevous 12 week Stock</b>is less than <b>stock</b>then substract <b>Prevous 12 week Stock</b>from the <b>stock</b>. Thease substracted value is the <b>Excee stock</b>.
    Thanks,
    SB

    Hi Reddy,
    Create a formula 'a' as i said first or you can use
    (Stock-Prev. 12 week sale ) directly in Excess Stock
    formula.
    <b>Excess stock = ( Stock >Pre.12 week Sales )*(Stock-Prev. 12 week sale )</b> .
    Formula works like this:
    if Stock>Prev 12 weeks sales,
    Excess Stock =  1 * (stock - Prv 12 weeks sale) = stock - Prv 12 weeks sale
    if Stock is not greater than prev 12 week sale,
    Excess Stock = 0 * (Stock-Prev. 12 week sale )  = 0.
    have you got it?
    i assume Stock and Prev 12 week sale Keyfigures are of same units.
    thanks
    Message was edited by: Murali
    Message was edited by: Murali

  • Need sample code to do text search using boolean operators AND OR + -

    I'm looking for an algorithm doing text searches in files
    I need it to support AND OR + - keywords (for example "ejb AND peristence")
    Does anyone knows where I cand find this kind of algorithm with the full source ?
    Of course I can adapt C,C++ to Java.
    In fact my target language is Serverside javascript (sorry) so I prefere rather low level solutions !
    Any help will be grealy appreciated and the resulting code will be posted
    here and on my website : http://www.tips4dev.com

    Firstly, a little note to the technical solution: what you probably need the most is speed. I may sound strange, but personally I am convinced that if you could use system tools a naive algorithm:for i:=1 to m do
    grep (word)
    od; whose complexity is O(m.n), where m is the number of words to be processed and n somehow represents the cardinality of the text to-be-sought-through, so this naive algorithm would actually be in 99% of cases much faster than any implementation of the algorithm below, whose complexity is O(m+n), because the implementation of the grep routine (O(n)) would be optimized and m will be low (who queries 153 words at once?)
    Anyway, you asked for an algorithm and you'll have it. It is quite elegant.
    Aho, A.V. - Corasick, M.V.: Efficient String Matching - An Aid to Bibliographic Search, Communication of the ACM, 1975 (vol. 18), No. 6, pg. 333-340
    [i]The task: let's have an alphabet X and a string x = d1d2...dn (d's are characters from X) and a set K = {y1, ... ym} of words, where yj = tj,1 ... tj,l(j) (t's are again characters from X).
    Now we search for all <i, yp> where yp is the suffix of d1...di (occurences of the word yp in x)
    (note: if you want to search for the whole words tj,1 and tj,l(j) must be blanks)
    The idea of the algorithm is that we first somehow process words yp to construct a search machine and with this machine we will loop through X to search for occurrences of all the words at once.
    Example:
    K = {he, she, his, hers}
    X = ushers
    search machine M(Q - set of states, g - "step forward" function, f - "step back" function, out - reporting function):
    (function g)
    0 (initial state)  h-> state 1 e-> state 2 r-> state 7 s-> state 8 ... for {he, hers}
    state 1 i-> state 6 s-> state 7 ... for {his}
    state 0 s-> state 3 h-> state 4 e-> state 5 e ... for {she, he}
    And for all the characters is defined 0  x -> 0
    Now, in
    (function out)
    state 2: report {he}
    state 5: report {she, he}
    state 7: report {his}
    state 9: report {hers}
    "Step back" function f for this particular set of word would be:
    9 -> 3, 7 -> 3, 5 -> 2, 4 -> 1 otherwise the machine would return to the initial state 0
    Processing of ushers will look like:
    <0,0> u-stay in the state 0 <1,0> s-move to state 3 <2,3>, <3,4>, <4,5> state 5-report (he, she}, cannot move forward -> must step back (like if "he" was received) <4,2> r-move to state 8, <5,8>, <6,9>
    Before we show how to construct the searching machine M (Q,g,f,out) let�s consider the algorithm how to use it:
    Alg 1.begin
    state:= 0;
    for i = 1 to n do
    //if cannot move forward, move back
    while g(state, di) not defined do state:=f(state) od;
    //move forward to a new state
    state:=g(state, di);
    //report all the words represented by the new state
    for all y from out(state) do Report(i,y) od;
    od
    end.
    Alg 2. � build of the �step forward� function g and an auxiliary function o that will be later used for the construction of outvar q:integer;
    procedure Enter(T1�Tm);
    begin
    s:=0; j:=1;
    //processing a prefix of a new word that is a prefix of an already processed word too
    while j&ltm and g(s,Tj) defined do
    s:=g(s,Tj); j:=j+1;
    od;
    while j&ltm do
    q:=q+1; //a new state � global variable
    define g(s,Tj) = q; //definition of a single step forward
    s:=q;
    j:=j+1;
    od;
    //the last state must be a state when at least the processed word is reported
    define o(s) = [T1, � Tm];
    end;
    begin
    q:=0; //initial state
    for p:= 1 to k do Enter(yp) od;
    for all d from the alphabet X do
    if g(0,d) not defined then define g(0,d) = 0 fi
    od
    end. Alg 3. � build of the �step back� function f and the reporting function outcreate an empty queue
    define f(0) = 0; out(0) = {} //an empty set � we expect words of the length 1 at least
    for all d from X do
    //process children of the initial state
    s:=g(0,d);
    if s!=0 then
    define f(s) = 0; //1-character states, if we throw away the first character we return to the initial
    define out(s):=o(s); //report 1-character words, if any
    move s at the end of the queue
    fi
    od
    while queue not empty do
    r:= the first member of the queue; remove r from the queue;
    for all d from X do //process all the children of r
    if g(r,d) defined then
    s:= g(r,d); //get a child of r
    t:= f(r); //f(r) has already been defined
    while g(t,d) not defined do t:=f(t) od;
    //we found a state from which g(t,d) has sense
    define f(s) = g(t,d);
    define out(s) = o(s) UNION with out(f(s));
    move s at the end of the queue;
    fi
    od
    od
    Processing of a query � normal forms
    Until now we have solved the problem how to search for multiple words in a text at once. The algorithm returns not only not only whether a word was found or not, but also where exactly a word can be found � all the occurrences and their locations.
    However, the initial task was slightly different: procession of a query like �X contains (y1 AND/OR y2 � yn)� In order to decide a question like that it might not be necessary to find all the occurrences of given words, actually not even an occurrence of all the words (e.g. word1 OR word2 is fulfilled as soon as either word1, or word2 is found).
    Let�s suppose that a searching query is given in its disjunctive normal form (DNF):
    A1 OR A2 OR ...Ak where each of Ax = B1 AND B2 AND ...Bkx and Byz is a statement �X contains yp�
    Now, the query is successful whenever any of Ax is fulfilled.
    (I don�t know how much you know about transformation of a logical formula to its disjunctive form � it is quite a famous algorithm and can be found in any textbook of logic or NP-completeness. I hope that evaluation of the formula, which is what happens in the procedure Report of the algorithm Alg. 1, is trivial.)

  • Boolean operators in formulas in a query?

    Hi,
    I'm wondering how following condition could be solved (written)in a formula, A and B are sub formulas or KF:
    IF A==0 THEN A*B ELSE (A-1) * B.
    Best Regards
    /Daniel

    Hi
    IF A==0 THEN A*B ELSE (A-1) * B.
    can be written as:
    (A = 0) * ( A * B ) + (A <> 0) * (A - 1)
    as the A = 0 will return 1 if true and otherwise 0.
    Have a nice weekend
    Kristian

  • Parseing an XML Document as a String

    Hi all,
    i am trying to parse an XML document to a parser. I get the file as a request parameter, which is filled in to at String variable.
    But for some reason i get an SAXException, does anyone se the problem?
    Thank you for your help...
    Below is the code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    import java.text.*;
    import java.net.*;
    import java.net.URL;
    import java.sql.*;
    import org.w3c.dom.Document;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import javax.xml.parsers.*;
    import javax.xml.transform.stream.StreamSource;
    public class StartServlet extends HttpServlet
    private boolean debug = true;
    private final static String CONTENT = "content";
    private final static String COOKIES = "cookies";
    String resp = new String();
    private static String NODE_TYPES[] = new String[] {
         "ELEMENT",
         "ATTRIBUTE",
         "TEXT",
         "CDATA_SECTION",
         "ENTITY_REFERENCE",
         "ENTITY",
         "PROCESSING_INSTRUCTION",
         "COMMENT",
         "DOCUMENT",
         "DOCUMENT_TYPE",
         "DOCUMENT_FRAGMENT",
         "NOTATION" };
    public static void println(String s, int indent) {
         for(int i = 0 ; i < indent; i++) {
                   System.out.println(" ");
         System.out.println(s);
    public static void println(String s) {
         System.out.println(s);
    public static void print(Node node){
         printImpl(node, 0);
    public static void printImpl(Node node, int indent){
         if(node == null) {
              return;
         String nodeType = NODE_TYPES[node.getNodeType()];
         String nodeName = node.getNodeName();
         String nodeValue = node.getNodeValue();
         if(nodeValue != null) {
              nodeValue = nodeValue.trim();
         if(nodeType.equals("TEXT") && nodeValue.equals("")) {
              ; //Ignore emty node
         else {
              println(nodeType + " - " + nodeName + " - " + nodeValue, indent);
         NamedNodeMap attributes = node.getAttributes();
         if (attributes != null) {
              for(int i = 0; i < attributes.getLength(); i++) {
                   printImpl(attributes.item(i), indent + 1);
         NodeList children = node.getChildNodes();
         if(children != null) {
              for(int i = 0; i < children.getLength(); i++){
                   printImpl(children.item(i), indent + 1);
    public static DocumentBuilder newBuilder(boolean validation)
                        throws ParserConfigurationException {
         DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
         domFactory.setValidating(validation);
         domFactory.setNamespaceAware(true);
         DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
         //domBuilder.setErrorHandler(new PrintErrorHandler());
         return domBuilder;
    public static Document newDocument()
                        throws ParserConfigurationException{
         DocumentBuilder domBuilder = newBuilder(false);
         Document document = domBuilder.newDocument();
         return document;
    public static Document parse( String xml, boolean validation)
                        throws ParserConfigurationException, IOException, SAXException {
              DocumentBuilder domBuilder = newBuilder(validation);
              Document document = domBuilder.parse(xml);
              return document;
    public void init() {
    public void service( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) {
              String[] cookies = null;
              try{
                   Hashtable document = getDocument("http://.../first.xml", cookies);
                   resp = (String) document.get(CONTENT);
                   debug(resp);
                   print(parse(resp, false));
              catch (SAXParseException e){
                   System.out.println("Saxfejl");
                   //System.exit(1);
              catch (Exception e){
                   e.printStackTrace();
                   System.exit(1);
    public void debug(String msg) {
         if(debug) {
              System.out.println(msg);
    public void performTask(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) {
         try
              // Insert user code from here.
         catch(Throwable theException)
              // uncomment the following line when unexpected exceptions
              // are occuring to aid in debugging the problem.
              //theException.printStackTrace();
    public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
         performTask(request, response);
    public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
         performTask(request, response);
    private Hashtable getDocument(String urlCode, String[] oldCookies) {
         Hashtable document = new Hashtable();
         HttpURLConnection http = null;
         try {
              URL httpURL = new URL(urlCode);
              // If HTTP Protocol, then open connection using the Request method indicated
              URLConnection conn = httpURL.openConnection();
              http = (HttpURLConnection) conn;
              //http.setRequestMethod("GET");
              http.setDoInput(true);
              http.setDoOutput(true);
              http.setUseCaches(false);
              http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
              if (oldCookies != null) {
                   for (int j = 0; j < oldCookies.length; j++) {
                        String cookie = oldCookies[j];
                        http.setRequestProperty("Cookie", cookie);
              http.connect();
              http.getContent();
              StringBuffer tsb = new StringBuffer("");
              if (http.getResponseCode() == 200) {
                   InputStream cis = http.getInputStream();
                   byte[] a = new byte[1024];
                   int n = cis.read(a);
                   while (n >= 0) {
                        tsb.append(new String(a, 0, n));
                        n = cis.read(a);
                   cis.close();
                   document.put(CONTENT, tsb.toString());
              String[] cookies = null;
              if (cookies == null) {
                   int headerFieldIndex = 0;
                   String headerFieldValue = http.getHeaderField(headerFieldIndex);
                   Vector cookieValues = new Vector();
                   while (headerFieldValue != null) {
                        String headerFieldName = http.getHeaderFieldKey(headerFieldIndex);
                        if ((headerFieldName != null) && headerFieldName.toLowerCase().equals("set-cookie")) {
                             int index = headerFieldValue.indexOf(";");
                             if (index > -1) {
                                  headerFieldValue = headerFieldValue.substring(0, index);
                             cookieValues.addElement(headerFieldValue);
                        headerFieldValue = http.getHeaderField(++headerFieldIndex);
                   cookies = new String[cookieValues.size()];
                   cookieValues.copyInto(cookies);
              document.put(COOKIES, cookies);
         catch (Exception e) {
              debug("url problem" + e);
         finally {
              if (http != null) {
                   http.disconnect();
         return document;
    }

    Hi,
    Use this code it will helpful to you.
    resultXMLDocument=(XmlDocument)documentDoc;
    StringWriter sw = new StringWriter();
    resultXMLDocument.write((Writer) sw);
    xmlString=sw.toString();
    thnaks,
    suneel

  • Regular expressions with boolean connectives (AND, OR, NOT) in Java?

    I'd like to use regular expression patterns that are made up of simple regex patterns connected via AND, OR, or NOT operators, in order to do some keyword-style pattern matching.
    A pattern could look like this:
    (.*Is there.*) && (.*library.*) && !((.*badword.*) || (^$))
    Is there any Java regex library that allows these operators?
    I know that in principle these operators should be available, since Regular languages are closed under union, intersection, and complement.

    AND is implicit,
    xy -- means x AND yThat's not what I need, though, since this is just
    concatenation of a regex.
    Thus, /xy/ would not match the string "a y a x",
    because y precedes x.So it has to contain both x and y, but they could be
    in any order?
    You can't do that easily or generally.
    "x.*y|y.*x" wouldll work here, but obviously
    it will get ugly factorially fast as you add more
    terms.You got that right: AND means the regex operands can appear in any order.
    That's why I'm looking for some regex library that does all this ugly work for me. Again, from a theoretical point of view, it IS possible to express the described semantics of AND with regular expressions, although they will get rather obfuscated.
    Unless somebody has done something similar in java (e.g., for C++, there's Ragel: http://www.cs.queensu.ca/~thurston/ragel/) , I will probably use some finite-state-machine libraries and compile the complex regex's into automata (which can be minimized using well-defined operations on FSMs).
    >
    You'd probably just be better off doing multiple
    calls to matches() or whatever. Yes, that's another possibility, do the boolean operators in Java itself.
    Of course, if you
    really are just looking for literals, then you can
    just use str.contains(a) && !str.contains(b) &&
    (str.contains(c) || str.contains(d)). You don't
    seem to need regex--at least not from your example.OK, bad example, I do have "real" regexp's in there :)

  • INTERNAL_ERROR in multithreaded test on db xml 2.3.10

    I upgraded from 2.2.13 to 2.3.10. I'm on Windows XP / Java 1.5.10
    My multi-threaded test soon hits INTERNAL_ERRORs when running on 2.3.10.
    While on 2.2.13, I have much better results.
    My test case basically sets up one or more threads doing a tight loop of
    for (i=1; i < 10000000; i++) {
      try { putXML("key"+i/2, contentString); } finally {}
      try {getXML("key+i/2); } finally {}
    }With one thread, this test will run for at least an hour or more until my time limit expires.
    With two threads, this will run ~10-20 minutes
    With three threads this test will immediately hit these internal errors.
    Once these errors, they repeat and soon the JVM crashes.
    I've checked nearly every forum posting, deleted every results.next, deleted every Xml* object possible (except XmlContainer) and so on.
    Any advice? Are there any samples that do multi-threaded write/read/queries?
    Are there any clues to be found by looking at com.sleepycat.dbxml.dbxml_javaJNI.XmlContainer_putDocument__SWIG_12 ?
    Thanks in advance,
    Douglas Moore
    Reported error:
    com.sleepycat.dbxml.XmlException: Uncaught exception from C++ API, errcode = INTERNAL_ERROR
    at com.sleepycat.dbxml.dbxml_javaJNI.XmlContainer_putDocument__SWIG_12(Native Method)
    at com.sleepycat.dbxml.XmlContainer.putDocument(XmlContainer.java:433)
    at  ....putXML(XMLBDBFacade.java:370)create container method:
           // set properties specific to the BDB XML Container
            XmlContainerConfig xmlContainerConfig = new XmlContainerConfig();
            xmlContainerConfig.setAllowCreate(true);
            // TODO review me this is new for BDB XML 2.3.10
            // TODO review me xmlContainerConfig.setDirtyRead(BDB_XML_DIRTY_READ);
            xmlContainerConfig.setMultiversion(true);
            xmlContainerConfig.setSnapshot(true);
            xmlContainerConfig.setReadUncommitted(false);
            xmlContainerConfig.setTransactional(true);
            //TODO xmlContainerConfig.setPageSize(1024);
            xmlContainerConfig.setAllowValidation(false);
            xmlContainerConfig.setNodeContainer(true);
            xmlContainerConfig.setIndexNodes(true);
            xmlContainerConfig.setCacheSize(200000);
            xmlContainerConfig.setCacheCount(1);
            if (LOG.isDebugEnabled()) {
                LOG.debug("Creating XML DB Container "
                        + dpcContainerConfig$.getAbsolutePath());
            // BDB XML container create
            XmlContainer xmlContainer = getBDBXMLManager().openContainer(
                dpcContainerConfig$.getAbsolutePath(),
                xmlContainerConfig);getXmlTransaction method:
                TransactionConfig txnConfig = new TransactionConfig();
                txnConfig.setNoWait(true);
                txnConfig.setReadUncommitted(true);
                txnConfig.setReadCommitted(true);
                txnConfig.setSnapshot(true);
                txnConfig.setSync(true);
                transaction = getXmlManager().createTransaction(null, txnConfig);putXML method:
            try {
                ContentKey contentKey = new ContentKey(container$, key$, ContentType.XML);
                boolean exists = ItemRegistry.instance().contains(contentKey);
                if (exists) {
                    // updating document
                    doc = getXmlManager().createDocument();
                    doc.setName(key$);
                    doc.setContent(content$);
                    updateContext = getXmlManager().createUpdateContext();
                    xmlContainer.updateDocument(transaction$, doc, updateContext);
                } else {
                    // putting document
                    updateContext = getXmlManager().createUpdateContext();
                    xmlContainer.putDocument(transaction$, key$, content$, updateContext);
                    ItemRegistry.instance().add(contentKey);
            } catch (XmlException e) {
                    BDBUtility.handleXmlException(container$, key$, e);
            } finally {
                if (null != doc) {
                    doc.delete();
                    doc = null;
                if (null != updateContext) {
                    updateContext.delete();
                    updateContext = null;
                }

    Yes, we have the same error:
    com.sleepycat.dbxml.XmlException: std::exception thrown from C++ API: bad allocation: Unknown error, errcode = INTERNAL_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:93)
    com.sleepycat.dbxml.XmlException, errcode = NO_MEMORY_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:93)
    The version we use is 2.2.13, can anyone give suggestions to resolve it?
    Regards,
    Jane

  • Can Visual Composer make decisions based on boolean logic?

    I need to know if I can use Visual Composer to manipulate data results based on boolean logic.  Basically, if a  month is less than the current month, I want a formula to dispay A instead of B. Can this be done? 
    Can I also say, if current month is greater than this month then hide values, else show values?

    In that case you don't need VC. I would then directly do that with BEx Query Designer and the use of a formula and boolean operators there. Here is the help of how you can achieve that:
    http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm
    Once you created sthe query this way, you can use the BEx Analyzer to embed it in Excel, and then use Information Broadcasting to schedule the calculations.
    Of course if your requirements change and displayint that data in VC is good enough, then you can still go as mentioned in my answers above

Maybe you are looking for

  • IDVD  doesn't respond after it says "Done" at the end of Burning

    Firstly, I have burn many, many, MANY DVD's before in iDVD (for school camps, special occasions, etc.) and have met this problem before, but in a different way. Those times I was burning about 20 copies, and after about 7 or 8, it would say this prob

  • No Connection to Dell monitor

    My MacBook Air will not reliably connect to my Dell flatscreen monitor. I have the adapter and have tried 3 so its not the adapter. The Dell shows "Entering Power save" and does just that. At some point, sometimes, the Connection does happen. Not alw

  • High-speed business partner search

    Hi, all http://help.sap.com/saphelp_crm60/helpdata/fr/b0/7ff3f1b791481f89147cacc02de8bc/content.htm If high-speed business partner search is set up in your system, you can enable it in the account identification profile so that all interaction center

  • Sound only Video won't play

    When I import my video It will not play. Sound only.

  • Font Dialog

    We have a FileDialog in Java which allows us to browse folders to open/save a file. Similarly do we have a dialog in Java which will allow us to select the desired font? If not, is there any other way to get it rather than creating the dialog yoursel