Rules Engine Methodology

Any tips on a development methodology for creating a rules
engine? That is, a system to execute a couple of hundred
triggers & functions on tables & views that produce a table or
materialized view containing the records that meet all the rules?

This is a complicated question but I will try my best to give you the best solution:
#In answer to your question regarding the order that rules fire unless you use priority you cannot garantee the order that the rules fire. The Oracle rules engine uses the Rete algorithm to establish the order in which to fire the rules and this is generally based upon the data passed into the rules. Therefore if the result of rule 4 may effect rule 1 then the rules engine will run rule 4 before rule 1.
The scenario you have provided is slightly different however and I woudl suggest the following.
Instead of passing out a single result from your ruleset pass our an array of results meaning you could effectively run all your rules and pass out all rules that failed. Be wary of checking for nulls however because if nothing is passed into a field then the rules engine will not create that element in the rules fact and the rule will never fire.
To create a array of results you will need to create a function which creates the result fact for you and then addes each result in turn.
If you woudl like more information let me know and I will help out as much as I can.

Similar Messages

  • Rules Engine Environment in MDM

    Hi Everyone,
    I am evaluating the capability of SAP MDM to see if there is any kind of rules engine delivered that can create a material master (SKU) number.  I am not trying to create material master records yet - just the material number !
    Background:
    Defned rules, coupled with reference data should be able to generated the list of SKUs.
    Example:
    Reference Data contained in 3 tables:
    Product Line: LN1, LN2
    Release: 2009
    Language: EN, JA, FR, DE
    SKU mask: AA-BB-CC
    AA = Product Line
    BB = Release
    CC = Language
    The rules would be to create combinations of all the reference data values and output a list of SKUs according to the SKU mask/format.  In other words, by implmenting rules, I should be able to generate  2x1x4 = 8 SKUs in total (2 values for product line, mulitplied by 1 value for Release, multiplied by 4 values for Language).
    Questions:
    I know I can implment rules on the ABAP workbench in R/3 to create material master numbers, and then later create actual material master records with reference to other materials all within R/3.  However, I would like to create and manage the material master directly in MDM.
    1) Is a rules engine like drools provided as part of MDM?
    2) Since MDM is based on the Netweaver and sits on the web apps server, is there an ABAP workbench provided in MDM from where I can create the rules and create z tables for the reference data.
    3) Do I need to create a separate web service in Netweaver Developer Studio to create these rules.
    Thanks in advance
    -Rajiv

    Hi Rajiv,
      In some scenarios Material master is imported to SAP MDM from R/3 and all the logic is performed in R/3 itself. For such cases You can use the standrad MDM Material Repository provided by SAP.
    <i>How do people create specific part numbers (material numbers / SKUs) in SAP MDM based upon some specific business logic?</i>
    Let us say the Part number is an depandant on another field say Product ID.
    In MDM Console you can specify the business logic in the Calculation field.
    Also i would like to add that in SAP MDM most of this business logic are mere mathematical fuctions (part no = 1.5 * product ID). There is no provision to call external methods (like RFCs in R/3).
    I suggest you to get the Standard MDM Materials Repository and play around the Calculated fields\ Auto ID Fields in MDM Console.
    Get back for help,
    Vijay

  • Haley Rules Engine - HaleyAuthority with respect to Oracle E Business Suite

    I am currently exploring on Haley Rules Engine which is recently aquired by Oracle.
    As per my investingation, i came to know that HaleyAuthority ruleEngine is available as plugin from the recent release of Siebel CRM 8.0 installation and onwards.
    Here goes my questions
    1) is this haleyAuthority rule engine available as third party tool? If so, How to integrate with Oracle E- Business Suite.
    2) Like Siebel 8.0, Is this HaleyAuthority plugged in any latest version of our oracle E- Business Suite?
    Please let me know your understanding and information on Haley Rules Engine with respect to Oracle E-Business Suite.
    Thanks in Advance.

    Praveen ,
    May be late for you (but for others looking similar information)
    haleyAuthority is different from Haley Determination Services (now Oracle Policy Automation)
    OPA (Haley's Determination Services) are available as Web Service which you can invoke from E-Business Suite or Use Fusion Middleware (SOA Suite / BPEL) as layer between OPA and E-Business Suite
    For overview of Haley Office Rules or Oracle Policy Automation check
    http://onlineappsdba.com/index.php/2009/04/27/oracle-policy-automation-modeling-earlier-haley-office-rules-determination/

  • Business Rule Error: Fact not found in the rule engine working memory, rule

    I am trying to create a simple decision table with an input(ValidateInput) and a output(ValidateOutput). The input and output schemas have unbounded and nested elements(Parent-child relationship). When I create a condition(specific condition on input) and in the action I am asserting the output object. But when I run using EM it throws the following exception. It would be helpful if somebody could tell me what could be the problem. Please note when I set the output as ValidateInput object then it runs fine. Also it executes fine with ValidateOutput if it doesn't have unbounded(List) element inside it.
    Error Message: {http://xmlns.oracle.com/OracleRules10/OracleRules10_DecisionService_1}operationErroredFault
    Fault ID     rules:211
    Fault Time     Jun 18, 2011 10:45:13 AM
    Non Recoverable Business Fault :
    Fact not found in the rule engine working memory, rule session execution failed. The rule session 270013 failed because an instance of the fact com.example.customer.ValidateResponse could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. If the error persists, contact Oracle Support Services. 270013
    Edited by: reachsky on 18 Jun, 2011 9:57 AM

    It's working now..I had to use Global variable to declare child element of the output variable and use the same during action.

  • Error when invoking Rule Engine using Java API

    Hi,
    I have implemented a Java class which calls the Rule Engine to execute the rules. If I test by setting the value of the input inside a main method and get the output, it is working fine. The ruleset is also invoked and there is no problem. However, when I expose this java class as a web service and invoke the web service, I get the below error. I dont get the error if the .rules file is not present in the loaction mentioned. I get the error when the .rules file is present in the location. Not sure if this is an issue with the java call outs or loading the dictionary.
    Error:_
    <faultcode>S:Server</faultcode>
    <faultstring>oracle/rules/sdk2/exception/SDKException</faultstring>
    <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" class="java.lang.NoClassDefFoundError">
    <message>oracle/rules/sdk2/exception/SDKException</message>
    <ns2:stackTrace>
    <ns2:frame line="38" file="ImplementRules.java" method="Query" class="oracle.rules.querystudentcriteria.ImplementRules"/>
    <ns2:frame line="native" file="NativeMethodAccessorImpl.java" method="invoke0" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="39" file="NativeMethodAccessorImpl.java" method="invoke" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="25" file="DelegatingMethodAccessorImpl.java" method="invoke" class="sun.reflect.DelegatingMethodAccessorImpl"/>
    <ns2:frame line="597" file="Method.java" method="invoke" class="java.lang.reflect.Method"/>
    <ns2:frame line="101" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="83" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="152" file="InvokerTube.java" method="invoke" class="com.sun.xml.ws.server.InvokerTube$2"/>
    <ns2:frame line="264" file="EndpointMethodHandler.java" method="invoke" class="com.sun.xml.ws.server.sei.EndpointMethodHandler"/>
    <ns2:frame line="93" file="SEIInvokerTube.java" method="processRequest" class="com.sun.xml.ws.server.sei.SEIInvokerTube"/>
    <ns2:frame line="604" file="Fiber.java" method="__doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="563" file="Fiber.java" method="_doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="548" file="Fiber.java" method="doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="445" file="Fiber.java" method="runSync" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="275" file="WSEndpointImpl.java" method="process" class="com.sun.xml.ws.server.WSEndpointImpl$2"/>
    <ns2:frame line="454" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"/>
    <ns2:frame line="250" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter"/>
    <ns2:frame line="140" file="ServletAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.servlet.ServletAdapter"/>
    <ns2:frame line="319" file="HttpServletAdapter.java" method="run" class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke"/>
    <ns2:frame line="232" file="HttpServletAdapter.java" method="post" class="weblogic.wsee.jaxws.HttpServletAdapter"/>
    <ns2:frame line="310" file="JAXWSServlet.java" method="doPost" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="727" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="87" file="JAXWSServlet.java" method="service" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="820" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="227" file="StubSecurityHelper.java" method="run" class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction"/>
    <ns2:frame line="125" file="StubSecurityHelper.java" method="invokeServlet" class="weblogic.servlet.internal.StubSecurityHelper"/>
    <ns2:frame line="292" file="ServletStubImpl.java" method="execute" class="weblogic.servlet.internal.ServletStubImpl"/>
    <ns2:frame line="26" file="TailFilter.java" method="doFilter" class="weblogic.servlet.internal.TailFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="326" file="DMSServletFilter.java" method="doFilter" class="oracle.dms.wls.DMSServletFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="3592" file="WebAppServletContext.java" method="run" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction"/>
    <ns2:frame line="321" file="AuthenticatedSubject.java" method="doAs" class="weblogic.security.acl.internal.AuthenticatedSubject"/>
    <ns2:frame line="121" file="SecurityManager.java" method="runAs" class="weblogic.security.service.SecurityManager"/>
    <ns2:frame line="2202" file="WebAppServletContext.java" method="securedExecute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="2108" file="WebAppServletContext.java" method="execute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="1432" file="ServletRequestImpl.java" method="run" class="weblogic.servlet.internal.ServletRequestImpl"/>
    <ns2:frame line="201" file="ExecuteThread.java" method="execute" class="weblogic.work.ExecuteThread"/>
    <ns2:frame line="173" file="ExecuteThread.java" method="run" class="weblogic.work.ExecuteThread"/>
    </ns2:stackTrace>
    The Java class looks like:
    public PersonType Query (PersonType p)
    try {
    //FileReader reader = new FileReader("/home/orasoa/223345/STRS1.rules");
    //FileReader reader = new FileReader("D:\\Arun\\NGCE_WS\\POC1\\UHG\\QueryStudentCriteria\\oracle\\rules\\querystudentcriteria\\STRS1.rules");
    InputStream stream=ImplementRules.class.getResourceAsStream("/STRS1.rules");
    Reader reader=new InputStreamReader(stream);
    RuleDictionary dict = RuleDictionary.readDictionary(reader, new DecisionPointDictionaryFinder(null));
    List<SDKWarning> warnings = new ArrayList<SDKWarning>();
    dict.update(warnings);
    DecisionPoint decisionPoint = new DecisionPointBuilder().with("STRS1_DecisionService_1").with(dict).build();
    DecisionPointInstance point = decisionPoint.getInstance();
    ArrayList input=new ArrayList();
    input.add(p);
    point.setInputs(input);
    List<Object> output=point.invoke();
    catch (Exception e) {}
    return p;
    Cheers,
    - AR

    Hi, I am getting a similar error when I deploy my application on the weblogic server.
    Could you detail how this was resolved?
    Thanks,
    SB

  • Rules Engine using Web Dynpro ABAP

    Hi,
    Can we build a Rules Engine which works with Web Dynpro-ABAP?  Something similar to BRM in CE-7.2.
    Thanks,
    Prasanna

    Do you mean BRM or BRF.  BRF is the name of the business rules framework that is integrated in the ABAP engine. BRM is Business Rules Management and a part of NetWeaver CE - running on the Java Stack and a part of SAP NetWeaver BPM (Business Process Management).
    Generally if your work is all ABAP based you would use BRF.  Here is a small eLearning that shows the usage of BRF within Web Dynpro ABAP.
    http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/c0181bb1-28e7-2c10-538c-a093c616310e

  • Integration between Oracle BPM and RTD(rule engine)

    Hi,
    I have Oracle BPM - 10.3.2.0.0  Build 100141
    Oracle RTD(rules engine) - 3.0.0.1
    Please let me know whether the versions of RTD and Oracle BPM mentioned above can be integrated with each other.
    How the interaction between Oracle BPM enterprise and RTD will take place and how the data flow takes place between them.
    Thanks in advance

    Check this, u can get some info
    Re: What is a recommended approach to integrate Oracle BPM 10R3 and  Oracle UCM

  • Rules Engine - Updating JavaFact's

    Hi.
    We have started building some rules against a single JavaFact class. Around half way through building the rules we realised that a new 'business function' was required in the JavaFact.
    I can not find any way of updating the JavaFact without actually deleting all rules which depend on the fact. Deleting the rules allows me to delete the fact from the rules engine and then add my updated .jar file / java class as a new JavaFact.
    Is there another way to update the JavaFact to display new functions within the Java class without going through all this destruction!?
    Thanks
    Steve

    More explanation:
    1) If you want to change the name of a property in the Java class, you need to recreate any rules that use it, since it's essentially a different property.
    2) If you want to change the type of a property, you must first remove any references to that property in the rules (but not necesarily the fact type itself), then remove the property entirely from the Java class, reimport the class without the property, then add the property back to the class with the new type, and reimport the class again.
    3) non-property methods (i.e., ones that aren't get and set) can always be reimported regardless of whether or not there is a return type change. However, if the return type is changed, any rule patterns that use this function will be invalid. However, you will not see that they are invalid until you attempt to validate/save a rule again, so be careful about changing type.

  • How to use Hashtable in Rules Engine. And objects within objects in rules

    This is something to do with the JBoss Rules Engine.
    I have an object called 'Employee' containing variables name(string), age(int), sex(string), an object Skill and other fields not relevant.
    Now the Skill object contains name and desc as variables.
    And now i have another seperate object called Test containing two hashtable: inputHT and outputHT.
    i have appropriate data in each of the objects and the hashtable:
    Employee e = new Employee();
    e.setName("Name");
    e.setAge(18);
    e.setSex("f");
    e.getSkill().setSkill("Trainer");
    Hashtable ht = new Hashtable();
    ht.put("age", new Integer(e.getAge());
    ht.put("sex", e.getSex());
    Test t = new Test();
    t.setInputHT(ht);
    Since this is something to do with drools rules: I have the appropriate code even for that.
    Like obtaining the rules defined(.drl files) in a stream, constructing the package builder, rulebase and the working memory.
    I will now explain u my .drl files(ie the rules that i have defined) and the error that i am encountering
    when I have the rule as the following there is no error:
    rule "testRule1"
    when
    e:Employee(age >= 18, sex == "f")
    then
    System.out.println("The lady can marry");
    end
    In the above rule we can see that only two simple variables contained in the employee object is being accessed and there is no error encountered.
    But when I try to access the object "skill" in the employee object, the rule throws me an error when i am constructing the packageBuilder:
    rule "testRule2"
    when
    e:Employee(skill.name == "Trainer")
    then
    System.out.println("The skill is trainer");
    end
    The error thrown is : unexpected token 'skill' and many other dump errors and also error: expected token ')'
    I tried changing the when clause as the following:
    when
    e:Employee(skill.getName() == "Trainer")
    and also
    when
    e:Employee(skill.getName().equals("Trainer"))
    All of them throws the same above error.
    But at the same time if i access only object without its variables, it is working fine. Like:
    rule "testRule2"
    when
    e:Employee(skill == "Trainer")
    then
    System.out.println("The skill is trainer");
    end
    The above rule works properly and does not throw any error. But it is not a valid rule. But syntactically it is correct. and does not throw any error during packageBuilder.
    Similarly, the problem is with the Hashtable
    The below code works fine, but rulewise it is not valid, but syntactically correct. and does not throw any error
    rule "testHT1"
    when
    t:Test(inputHT == "f")
    then
    System.out.println("Print this");
    end
    But the following code throws error, telling unexpected token 'inputHT' :
    rule "testHT1"
    when
    t:Test(inputHT.get("sex") == "f")
    then
    System.out.println("Lady");
    end
    I even changed the when clause, but did not get the appropriate result and it threw me error.
    when
    t:Test(((String)input.get("sex")) == "f")
    and also many other variants but of no use.
    It would be of great help if u or anyone else could reply to this with some solution
    Thank you in advance

    http://forum.java.sun.com/thread.jspa?threadID=774018

  • Business Rules Engines?

    Hi,
    I have experience with embedding "CLIPS" which is a C rules engine as a
    Forte Service Object which was easily wrappered using standard Forte
    wrapper strategy.
    Also, we have a sales rep in ATL who used to work @ ILOG and therefore
    competed with Nueron Data, and from various conversations with mutual Forte
    / Rules Engine customers I've learned it would be a complimentary integration.
    They all have some C-callable API and so a Forte Service Object would be a
    good client to the rules engine api due to our support for multi-threading
    when API is thread safe and additional option of replicating for load-bal
    when API isn't thread safe. The later concept is analogous to our use of
    DBSession object for interface with DBMS client api's.
    Be aware, the experiences I hear about with the mentioned rules engines is
    that there are not always business analysts truly capable of using the
    Rules development interfaces provided by the tools.
    So maybe the use of Forte Conductor's dynamic Process automation
    capabilities may also be a fit. If you want to discuss how, let me know.
    -jim
    Return-Path: <[email protected]>
    X-Sender:
    Date: Fri, 23 Jan 1998 13:19:03 -0800
    To: [email protected]
    From: Vic Brown <[email protected]>
    Subject: Business Rules Engines?
    Sender: [email protected]
    Reply-To: Vic Brown <[email protected]>
    Has anyone on this list integrated a COTS business rules engine,
    or components, into a Forte application? Specific products
    of interest would be those from Neuron Data, ILOG, USoft
    or, possibly, Vision Software.
    If so, comments? Type of application? War stories?
    Thanks.
    Victor Brown
    TRW Data Services
    Oakland, CA
    Phone: 510.645.3240
    FAX: 510.465.4811Jim Rice mailto:[email protected]
    Forte Software, Inc. http://www.forte.com
    South Eastern Tech Sales Mgr.
    301-721-1910 Corp: 510-869-3400 x2316

    The following Business Rule Solution uses POJO's and XML and meets the following criteria!
    Business Rule Solutions should be:
    Non-Industry Specific
    Appropriate and Affordable for any size business
    Enterprise-class solution (scalable, optimized, extensible)
    Remember: All businesses have business rules, and all businesses need an efficient way of managing and executing these business rules.
    What Business Rule Solutions should provide:
    Input Validation & Data Integrity
    Integration & Data Transformation
    Analytics
    Interpret clients Business Policies & Behaviors and clients run-time
    data and execute the appropriate process related workflow efficiently.
    The Return on Investment:
    ROI continues every day, week, month and year into the future!
    Simplify all program development through component reuse.
    Lowers software maintenance by a magnitude.
    Manages & Protects a company assets (Business Rules) in one
    repository.
    Provide Business Agility and Competitive Advantage!
    Further, I believe Business Rule Solutions are a higher level of abstraction of services that all other applications should use to implement the Model-View-Controller design pattern!
    Use the Contact Us! page for quicker responses. http://www.agilebusinessrulecomponents.com

  • Oracle Bussiness rules - Can we download and use rule engine independently

    Hello ,
    I have seen and used oracle business rules with SOA and BPM projects , but recently one of the client requested to see if we can download and use oracle rules engine independently .
    Does anyone have any idea if it possible ? Have checked oracle downloads and it says OBR 11g is part of SOA or BPM suite .
    Thanks in advance
    Rupesh

    Thanks for the reply Arun .
    So just to reconfirm if a client wants to use Oracle Business rules they would need to buy license either of SOA suite or BPM suite ?
    Edited by: Rupesh Somani on Jul 15, 2011 1:15 AM

  • Business rules engine faults..

    Can someone please advise on what could cause this issue?
    We are using SOA suite 11.1.1.2
    1. The rules engine takes an input as usual but doesn't send any output.
    2. The BPEL process that invokes the rules sends out a bpelFault instead - (because the rules engine doesn't send anything back)
    <bpelFault>
    <faultType>
    <message>0</message>
    </faultType>
    <selectionFailure>
    <part   name="summary" >
    <summary>empty variable/expression result. The XPath variable or expression /ns1:callFunctionStatelessDecision/ns1:resultList/ns2:RulesResponse is empty at line 122. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the run-time data is valid. </summary>
    </part>
    </selectionFailure>
    </bpelFault> 3. At other times, the process works fine for the SAME input

    Hi Paul:
    The short answer is yes.  But its not easy.
    You will have to add some references to your orchestration:
    System.Transactions.DLL, System.Data.DLL, Microsoft.RuleEngine.DLL
    Next the BRE will need a connection string to connect to your database.
    Create a Variable in the orchestration ex:  SQLConn of type  System.Data.SqlClient.SqlConnection
    Create a Variable in the orchestration ex: RulesConn of type Microsoft.RuleEngine.DataConnection
    in an expression shape set the following :
    SQLConn = new System.Data.SqlClient.SqlConnection("Initial Catalog=Customer;Data Source=(local);Integrated Security=SSPI;");
    RulesConn = new Microsoft.RuleEngine.DataConnection ("database", "tablename", SQLConn);
    then call the rules shape.... it should work.
    there is a blog post about this I have used in the past:
    http://blogs.msdn.com/b/rgarg/archive/2009/04/23/using-biztalk-business-rules-engine-bre-with-database.aspx

  • [Business Rules] Rules engine not updating my Fact Result as expected.

    I have a Fact type implemented as a Java class, named Commission with the following properties: age(int), area(int), amt(double):
    In the Java application I set the age to 30 and area to 3:
    Commission comm = new Commission();
    comm.setAge(30);
    comm.setArea(3)Now I have a set of rules defined in the ruleAuthor where in, if the age is > 20 and area is between 1 and 5 then the business rule engine should set the Amt field to .3
    But when I run the rules engine:
    ruleSession.executeRuleset(...);
    ruleSession.callFunctionWithArgument("assert", comm);
    ruleSession.callFunction("run");
    double commamt = comm.getAmt(); //this value returns (0) as if the rules engine did not fire the rule and did not change the amt field to .3When i get the comm.getAmt(), the value is zero and not 0.3 which is the expected result.
    I wonder what's wrong, I only followed and patterned the instructions and code that came with Oracle Business Rules CarRental Example and/or the example that came in the Business Rule ViewLet.

    Hi Phil,
    I tried your suggestion. But it still does not work.
    I don't if this would help but this is how I defined my rules:
    1. I created a Java class file as a Fact Definition. Compiled it and stored it into a jar file.
    2. Copied the .jar file to a remote machine where OracleAS is installed.
    3. I run the ruleAuthor (browser) and specified a ruleRepository file.
    4. Specified the jar file where the Fact Definition (Java file) is.
    5. Created Ruleset and Rules
    6. Save the Dictionary.
    7. Copied the generated rulesRepository on to my local hard drive (remote).
    8. Create and Run the Rule-Enabled Java application. ruleRepository points to the ruleRepository file generated by ruleAuthor and copied to my local hard drive.
    Maybe there is something wrong with how I packaged the Java Fact Definition?

  • Fact not found in the rule engine working memory,rule session executionfail

    Hi
    I'm getting this error on my BRE, the instance Id shows 'faulted' but other consectuctive web services are 'completed' successfully.
    please advise how to fix it.
    Error Message: {http://xmlns.oracle.com/zz_ValidationRules/zz_ValidationRules_DecisionService_1}operationErroredFault
    Fault ID rules:417
    Fault Time Aug 25, 2011 4:59:39 PM
    Non Recoverable Business Fault :
    Fact not found in the rule engine working memory, rule session execution failed. The rule session 130287 failed because an instance of the fact Response could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. If the error persists, contact Oracle Support Services. 130287
    thanks,
    Umesh
    Edited by: user13664410 on Aug 25, 2011 2:19 PM

    When i had this issue i overcame it by opening the Rule Editor->Deleting all existing facts that are imported->Close JDeveloper -> Delete the contents of .rulesdesigner directory in your workspace -> Restart JDeveloper -> Reopen Rule designer and re import all facts.
    Also make sure that all the schemas that are used for Facts are valid ones.

  • Fact Not Found in Rule engine working memory

    I am using 11g, I have built a Business Rule, using RL facts, XML facts, Bucketsets and multiple Rulesets which internally has decision table and If-then rules. After deploying the same, Business rules runs successfully for some conditions and faults for some condition. The fault error for those failed conditions displays the following error:
    Fact not found in the rule engine working memory, rule session execution failed. The rule session bpel:<somenumber> failed because an instance of the fact <factname> could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. Contact oracle support if error is not fixable.
    It is wierd becuase if it is a fault with respect to working memory then I would imagine it has to fail for all the conditions as all the conditions assert the same Object. Has anyone faced the same issue or am I doing something wrong here.
    Venkat

    Ervan
    I deleted the RL facts that I had created and asserted the result to the Business Object, this seems to have taken care of this issue, but I am still not sure what was wrong in the way I build the rules using RL.Hope this helps.
    Venkat

Maybe you are looking for

  • HT4847 can you share icloud storage space with a family member?

    I used to have MobileMe family, and my wife and I are now both receiving alerts that we are running out of icloud space. Can you buy a shared icloud plan? Thanks

  • Error in hrrcf_a_reg_job_search

    Hi All, We are using E recruitment 604 Patch 6 and Trex 7.10 level 20. I am using the SICF service "hrrcf_a_reg_job_search" for the registered candidates to search for Job requisitions. When I test this service by login in as registered candidate, th

  • Can you edit multiple photos at once like in Lr

    I have a prodject that i'm working on and i need to edit several images at once (preferabley) so that they are the same color. They are wooden cupboards and i need all the wood looking the same colour. In light room you can edit a group of images at

  • Problems with transparency/opacity

    I made an opaque rectangular object transparent, at 40. After I later reopened the file, the transparency slider for that object is now at 100, although it is still the lightened/transparent shade. Is there a way to recover the original opaque color?

  • Multiple tablespace maxsize value question

    Hi, I am seeing multiple value on same tablespace after this query. select tablespace_name, MAXBYTES from dba_data_files; TABLESPACE_NAME MAXBYTES tbs1                    8589934592 tbs1                    2.2549E+10 tbs1                1.2885E+10 tb