Oracle business rule patterns : "There is at least one case"

Hi,
Rule Author pattern definition page has a drop down with values -
1. There is at least one case
2. There is no case
What's the significance of this drop down ? When should I use these ?
I found 2-3 lines from the user guide, but that doesn't seems fruitful to me.

My Observations about patterns -
1. Default blank value
Rule gets executed for all the matching facts in working memory of rule engine.
2. There is at least one case
Rule gets executed for the first matching fact and it will not even look for the rest.
3. There is no case
If none of the fact is matching the condition the rule will execute once. If any of the fact
is matching, rule will not be executed.
I hope all agree with it.

Similar Messages

  • Oracle Business Rules with Fusion Release 4

    Hi
    I am wondering if we can use the Oracle Business Rules product with the Oracle Fusion Compensation APplication Release 4.
    Thanks
    Srinivasa Sunchu

    Srinivasa,
    There are relevant chapters in the Oracle Fusion Middleware User's Guide for Oracle Business Rules. There is sample code interspersed in the chapters.
    7 Working with Rules SDK Decision Point API
    http://fmwdocs.us.oracle.com/vol/doclibs/fusionapps/review/E36909_01/user.1111/e10228/decision_point.htm#ASRUG455
    10 Working with Oracle Business Rules and ADF Business Components
    http://fmwdocs.us.oracle.com/vol/doclibs/fusionapps/review/E36909_01/user.1111/e10228/adfbc.htm#ASRUG378
    I looked through the source code of one of our products that uses the Rules SDK to see if there is an easy-to-extract example, but it's far beyond the scope of a forum post. We'll probably create one or more blog posts that dive deeper into this topic, but I cannot promise a date for that. Keep an eye on http://blogs.oracle.com/fadevrel please.

  • Oracle RDF and Oracle Business Rules & Protege

    A couple of questions:
    1.) Has anyone used Protege to create frame-based ontologies which can somehow be used with Oracle Business Rules?
    2.) Has anyone used Protege along with the RDF storage functionality in Oracle?
    Thanks.

    Melli,
    I just started with semantic so won't have many useful ideas for at least some time.
    mostly there will be bugs and misunderstanding on my part.
    At this point i do see that the supplied library is not working properly . see my other thread. Fixing that would be really helpful.
    Let me know
    As of Composer - well let's just say its cost ineffective for organization to use on pilot project..

  • ODI and Oracle Business Rules

    Hi, I have a question that hopefully someone can give light to.
    Our current requirement for an ODI solution is to have business users create or edit rules (not just table constraints, but actual complex business process rules) that they would like to apply to the data during integration. I was thinking of two possibilities for this:
    1. Load a rule file in ODI and then execute the rules in ODI.
    2. Use Oracle Business Rule.
    Between the two options, which is most likely possible? I have yet to fully explore ODI so I'm not sure if both of these options are feasible. If not, can someone give me sound ideas to work on for this requirement?
    Thanks,
    Jason

    Melli,
    I just started with semantic so won't have many useful ideas for at least some time.
    mostly there will be bugs and misunderstanding on my part.
    At this point i do see that the supplied library is not working properly . see my other thread. Fixing that would be really helpful.
    Let me know
    As of Composer - well let's just say its cost ineffective for organization to use on pilot project..

  • Problem in mapping Task payload parameters to Oracle Business Rules facts

    Hi all,
    We are using complex types from our project XSDs inside the Human Task payload. We intend to use these Human Task payload parameters to build routing rules using the Oracle Business Rules interface. Our observation is that when the complexity of these complex types increase, the business rules editor does not show these as facts that can be used in formulating rules.
    Has anybody faced such a problem before. Any help is appreciated.
    We are using the following link to add routing rules –
    http://docs.oracle.com/cd/E25054_01/dev.1111/e10224/bp_decision.htm
    Version details :
    ADF Business Components     11.1.1.60.13
    Java(TM) Platform     1.6.0_29
    Oracle IDE     11.1.1.5.37.60.13
    SOA Composite Editor     11.1.1.5.0.01.74
    Thanks,
    Yamini.

    Problem solved. There was an element in the xml schema that had nillable = true. Because of this the XML Fact for that element would no longer be available in the BPEL Process. Removing the nillable and generating the XML Facts again solved the missing variable problem.

  • Oracle Rules Manager vs Oracle Business Rules

    Hi
    Can someone explain the difference between Oracle Rules Manager and Oracle Business Rules.
    Is Oracle Promoting both the products?
    What I understand is that Oracle Rules Manager comes a part of the Oracle Database 10g R2 (and 11g) and Oracle Business Rules is a part of the SOA suite.
    Is there any difference in the positioning of both these products?
    Our client is evaluating various Rules engines in the market and we want to make sure that we choose the correct product.
    Thanks, Srini

    Igor S. wrote:
    He solves the same problem with rules and without. My question was what would be better? Why would you chose one over the other. I prefer rules that is easy to state, easy to read, and easy to implement. Clear text rules in Prolog being a firm favourite. :-)
    Using a rules engine, with a fairly complex API, in order to define rules? I would want very sound and very robust justification for that.
    Taking this EMP table example. If there is a single AddEmp() PL/SQL procedure interface for adding employees, it is simple matter to see what it does, how it does that, and test and debug that. The only knowledge needed is the ability to read and understand the source code. The same cannot be said of rules engines.
    As for the issue of updating AddEmp() with new rules. Edition redefinition takes care of versioning database objects. And in a far more controlled fashion than dealing with a rules engine that is dynamically update now! while the database is in use - and you have no real idea or real control over when exactly now! was.

  • How to add Exception handling in Oracle Business rules Function

    Hello,
    We use to have good number of business rules in our application. So we need to have some functions in BR Composite.
    Can some one let me know how to handle exception in Oracle business rules exception( Regular try catch will not compile)
    is there any way please let me know.
    Edited by: Network22 on Mar 25, 2013 10:21 AM

    Why aren't you using por_custom_pkg.custom_validate_req_line to add extra validations.
    Ensure that profile POR: Enable Requisition Line Customization is set to Yes if you were to use po_custom_pkg for Requisition line validations.
    OAF calls por_custom_pkg at various points depending upon the values in Profile Options:-
    POR: Enable Req Distribution Customization
    POR: Enable Req Header Customization
    POR: Enable Requisition Line Customization
    Thanks,
    Anil Passi

  • Query on handling else condition in Oracle Business Rules.

    Hi all.
    I am working on Jdeveloper 11.1.1.1.0 Business Rules. While creating rules... i am able to write if conditions around the facts and attributes and also replicate the same using decision tables and is able to derive the action.
    My Question is.. can i write an else condition which should be executed when none of the if condition are matched. If we can how... Instead of else condition, is there any way that we can initialize the facts and attributes to be derived to a default value.
    Please help me guys in this... If this is not the right foru,... please redirect me to the correct one.. coz i couldnt find a forum for oracle business rules..
    Thanks
    Eldho

    Thanks a lot for the response..
    I have posted the query in
    Query on handling else condition in Oracle Business Rules.
    Thanks
    Eldho

  • Syntax errors in Oracle Business Rules carrental ruleset

    Hi,
    I'm using Oracle Business Rules Rule Author on Windows, version 10.1.3.0.0.
    I'm working with the OTN carrental sample. If i load the supplied file-based repository CarRepository from the %HOWTO_HOME%/dict directory, navigate to the RL tab -> Generate RL-code and select the 'Check RL-Syntax' button I always get the same error message:
    Error:'5}' is undefined at line ... column ... in [DM or vehicleRent]
    If I navigate to 'Test Rulesets' i get the same error, no matter what testfunction i use with the vehicleRent ruleset.
    When i test the sample with the supplied java code i don't get any errors.
    However, if I follow the steps in chapter 2 (javaFact) or 4 (XMLFact) of the Business Rules user guide and setup everything from scratch for a filebased repository i get the same error at runtime.
    I based the filebased repository on the supplied emptyrepository file.
    Seems to make no difference whether I use a filebased or a webdav repository.
    any help on this would be appreciated.
    Rob
    Message was edited by:
    [email protected]

    There are two problems here. First, there is a bug that causes this error string to be displayed incorrectly when using the RuleAuthor in any browser language other than English. If you change the browser language to English, you should see:
    <p>
    A syntax error is found. <br>
    Error:'carrental.Driver' is undefined at line 4 column 14 in DM
    <p>
    The cause of this problem is that carrental.Driver class is not in the classpath for Rule Author. This isn't covered in the how-to. See section 3.10 in the Oracle® Business Rules User’s Guide (B15986-01) (available from here).
    <p>
    From this doc:
    <p>
    Create a rule set you want to test. If the data model includes any Java classes, the
    Java classes must be included in the OC4J classpath. The easiest way to do this is
    to put the JAR files in the following directory, then restart OC4J:
    $ORACLE_HOME/j2ee/home/applications/ruleauthor/lib
    <p>
    or add it as a shared library using EM (specific instructions follow in the doc) and then add that shared library to RuleAuthor.
    Message was edited by:
    philvarner

  • Xpath and oracle business rules

    Hi; are there any examples that demonstrate using XPath in a rule?
    Any comments on whether oracle business rules might be a valid choice for an application that needs to enforce a set of, and varying, constraints on an incoming XML document.
    Thanks for the info.
    -Tim Watson

    The XPath support in the current version of Rules is for asserting portions (or all) of an XML document as facts. The Rules are then written against the elements in the XML that you are interested in.
    I can't say for sure without more details, but Rules would work for enforcing constraints on XML documents.

  • JHeadstart, Oracle Business Rules and BPEL Process Manager

    Dear JHeadstart Team,
    I have some questions regarding integration of JHeadstart and Oracle Business Rules and Oracle BPEL Process Manager. As a matter of fact I don't have any work expriences with these tools so my questions may not be good and precise.
    1- Using a business rule engine can dramatically increase speed of development and ease of maintenance.I had a very good exprience in using JHeadstart and Headstart in the past but I wanted to know if it is possible to use Oracle Business Rules in conjunction with the JHeadstart ? If so, What steps should be taken? Is there any known issue about this integration? Does Oracle Business Rules have any interference with JHeadstart or it is only used in model layer during insert,update,delete?
    2- Is it possible to develope a system based on oracle work flow engine (Oracle BPEL Process Manager) using JHeadstart ? If so, What steps should be taken and how the changes in the flow of work would by applyed in a system developed by JHeadstart. Is there any known issue about this integration?
    Any help,link to documents or general guidelines would be highly appreciated.
    Thanks in advance,
    Navid

    Couple of things I would like to add, are the following.
    In the context of an ADF application usage of Oracle Business Rules most likely is in the business logic layer, but mind that it does not need to be restricted to that.
    Oracle Business Rules takes so called 'facts' as input, evaluates some rules based on that and change those facts or return some result. That might be checking a business rule as defined in the JHeadstart Developers Guide. But it might also return some value that is used in a navigation rule.
    Think about a page flow where after page A normally page C is presentend, but in case of some situation (like a customer ordered something and you want to present some special offering based on that) you want page B presented in between (i.e. A -> B -> C). Oracle Rules could be used to determine this page flow. This would be an example of using it in the controller layer (probably in combination with using facts that come from the model layer).
    Another remark that I would like to make, is that in my opinion it does not make much sense to use Oracle Rules for business rules that logically more or less are part of your data model (like end date must be on or after begin date). You typically use Oracle Rules to implement business rules that are of a volatile nature, meaning that day-to-day business may require a change of the rules. One example is the navigation case that I mentioned before. Another (typical) example would be a rule that defines when a customer is a Gold customer.
    Jan Kettenis

  • Oracle Business Rule Exception during deployment

    Hi Experts,
    We implemented the OBR(Oracle Business Rules) within CEP and I always encounter a strange behavior. For some reason, I always encounter this error:
    Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
    SEVERE: symbol 'oracle.rules.rl.xpath.Step' is undefined
    at line 1 column 12 in main
    Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
    SEVERE: UndefinedException: symbol 'oracle.rules.rl.xpath.Step' is undefined
    at line 1 column 12 in main
    Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
    SEVERE: symbol 'oracle.rules.rl.xpath.Step' is undefined
    at line 1 column 12 in main
    Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
    SEVERE: UndefinedException: symbol 'oracle.rules.rl.xpath.Step' is undefined
    at line 1 column 12 in main
    <Apr 8, 2011 3:15:10 PM PHT> <Error> <com.nsn.cvo.ingestion.callscenario.bean.OBRExecuteBean> <BEA-000000> <oracle.rules.sdk2.exception.SDKException: RUL-05187: error getting a rule session from decision point rule session pool.
    >
    After restarting CEP, OBR is running perfectly. I am not sure how to resolve this issue and need your guidance on how to prevent this from happening. My java source source code is below: The initializeDecisionEngine is called only once. My input to OBR is a java.util.Map(this is a requirement and can't do anything about it).
    private String rulesPath;
    private RuleDictionary ruleDictionary;
    private DecisionPointInstance decisionPointInstance;
    private String decisionFunctionName = "decisionFunctionName";
    private void initializeDecisionEngine() {
              try {
                   if (rulesPath == null) {
                        return;
                   if (decisionPointInstance == null) {
                        ruleDictionary = this.loadRuleDictionary(rulesPath);
                        DecisionPoint decisionPoint = new DecisionPointBuilder().with(
                                  decisionFunctionName).with(ruleDictionary).build();
                        decisionPointInstance = decisionPoint.getInstance();
                        System.out.println("INIT() OUT");
              } catch (SDKException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    private RuleDictionary loadRuleDictionary(String path) {
              System.out.println("loading dictionary from path: " + path);
              RuleDictionary dict = null;
              Reader reader = null;
              try {
                   reader = new FileReader(new File(path));
    dict = RuleDictionary.readDictionary(reader, new DecisionPointDictionaryFinder(null));
                   List<SDKWarning> warnings = new ArrayList<SDKWarning>();
                   dict.update(warnings);
                   if (warnings.size() > 0) {
                        log.error("Validation warnings: " + warnings);
              } catch (SDKException e) {
                   log.error(e);
              } catch (FileNotFoundException e) {
                   log.error(e);
              } catch (IOException e) {
              } finally {
                   if (reader != null) {
                        try {
                             reader.close();
                        } catch (IOException ioe) {
                             ioe.printStackTrace();
              return dict;
    private executeOBRRule(){
    Map<String, String> mapEntry = new HashMap<String, String>();
    mapEntry.put("column1", "value1");
    mapEntry.put("column2", "value2");
    mapEntry.put("column3", "value3");
    if (decisionPointInstance != null) {
                   decisionPointInstance.clearInputs();
                   // decisionPointInstance.
                   List<Object> list = new ArrayList<Object>();
                   list.add(mapEntry); <--- Adding the map to a list since it is the only allowed input for OBR, or is there any other way other than list? -->
                   decisionPointInstance.setInputs(list);
    Object obj = decisionPointInstance.invoke();  <<<<<< this is where the exception is raised.
    My question is that why is the exception is being raised and sometimes it is not. My only resolution is to restart CEP server. Am I missing something? My obr rule file is ok since it does not display any error during compilation. If you can guide me to the correct path, I will really appreciate it.
    Regards,
    Russel

    Is this problem resolved?
    If so it would be greatly helpful if you could provide the solution.
    Regards,
    Nigel.

  • Validate ADF UI field as per Oracle Business Rules

    Hi ,
    I have a requirement where the relationship between the various data fields are defined in Oracle Business Rule 11g inside BPM Project.I need to call these rules on ADF screens for data population.
    Eg, If there are two fields on ADF UI,field1 and fiedl2.
    Possible combinations of the two field are:
    Field1 Field2
    A B
    C D
    E null
    The rules are part of OBPM 11g project as customer can change the rules through composer at run time as per business need.
    How can i achieve this requirement.Please help urgent.
    Regards...

    Hi Daniel
    Lets say i have two attribute 'Product Code' and 'Department id'.The relationship between the two attributes is defined in Oracle Business Rule.
    eg.
    If Product Code is '111' then Department is 'Finance'
    If Product Code is '222' then Department is 'Inventory'
    The values for each of the attribute is defined in a database
    Product Code Table
    Value Description
    111 SalaryAllowance
    222 Current Stock
    Department Table
    Value Description
    Finance Handles Payroll
    Inventory Handles Packaging
    I am displaying these two attribute on the ADF UI as dropdowns. If I select '111' from the product code dropdown then the value in Department dropdown should automatically be set as 'Finance'.I need to trigger the validation/relationship between the attributes from business rules.
    The reason for keeping the relationship in rules is because business wants to change these relationships at run time.
    Hope the scenario is clear to you.
    Regards...

  • Oracle Business Rules Rule Author

    Hi,
    Iam implementing Oracle Business Rules, while configuring rules with Rule Author, a problem is faced, a variable data which is set in one rule's action is not available to next rule's condition.
    i.e a variable set in one rule can not be used in other rule as condition.
    Is there any option to make it work,
    thanks & regards.
    anil

    I took the CarRental Java model and exposed two more attributes namely numPreConvictions and ableToDrive. Then I fed it a fact where the driver has 4 convictions and ableToDrive=true. When I ran it in the rule author tester it ran out of memory indicating it may have gone into a loop. I must be missing something here. The test RL function is below the rule set code.
    In my other test from outside the rule author it just won't fire the second rule (no out of memory issue). For that one I have a metalink SR 6560804.992 waiting for response. I attached some code to that one too. I got that one to work via Java Beans property change support.
    1. ruleset reAssertTest
    2.
    3. {
    4.
    5. rule checkConvictions
    6. {
    7. priority = 0;
    8. if
    9. (
    10. (
    11. fact carrental.Driver v0_Driver && (
    12. (v0_Driver.numPreConvictions > 2)))
    13. )
    14.
    15. {
    16. v0_Driver.ableToDrive = false;
    17. DM.println(v0_Driver.name+" has more than 2 convictions. set able to drive=false and re-assert ");
    18. assert(v0_Driver);
    19. }
    20. } //end rule checkConvictions;
    21.
    22. rule cannotDrive
    23. {
    24. priority = 0;
    25. if
    26. (
    27. (
    28. fact carrental.Driver v0_Driver && (
    29. (v0_Driver.ableToDrive == false)))
    30. )
    31.
    32. {
    33. DM.println(v0_Driver.name+" cannot drive");
    34. }
    35. } //end rule cannotDrive;
    36. }// end ruleset reAssertTest
    -- reAssertTest ---
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "MM/dd/yyyy" );
    assert (new carrental.Driver( "d111", "Dave", 50, "sports", "full",
    sdf.parse ("10/1/1969"), 4, 4, true ));
    pushRuleset ("reAssertTest");
    run();
    ---------------

  • Oracle Rule Author(Oracle Business Rules)

    Hi,
    Iam implementing Oracle Business Rules, while configuring rules with Rule Author, a problem is faced, a variable data which is set in one rule's action is not available to next rule's condition.
    i.e a variable set in one rule can not be used in other rule as condition.
    Is there any option to make it work,
    thanks & regards.
    anil

    I think you would get better response on the question if you post the same question to the SOA Suite forum (SOA Suite
    A

Maybe you are looking for

  • Mail: "Message contains NUL characters," not listed in ANY folder

    On occasion, I will hear a new message sound in Mail, and I will see the little progress indicator showing an incoming message, but there is no trace of it in the inbox. If I am there to see the incoming notice and remember the message content, I can

  • Naming Convention for  path in Application Server

    Hello Guru's,                     I asked my basis team to create flat file source system. he asked me " what path to follow, any sub directories"?.   they are asking me naming convention for a path in App server to create i think ? usually what will

  • Using Illustrator variables with n-up documents

    I have some Avery labels that use an Illustrator template. It's 6-up (six label per sheet). I want to put some variable text on them and use a spreadsheet so I don't have to manually enter 400 names one at a time on the labels. Is that possible with

  • Need design hints for Managed class

    I need help understanding the underlying LCDS mechanisms when a complex object hierarchy is managed in LCDS.  I have a custom Assembler because I have specialized persistence requirements.  My object hierarchy is basically the following: Document    

  • 2.8ghz intel core 2 duo w/8gb ram and 240gb ssd

    I have run across a lot of topics regarding upgrading your MBP late 2008 edition to 8gb of ram and that it is not possible. (only supports 6gb) just wanted to let you all know that i just installed a brand new ssd, fresh install of 10.6, backuped my