Business Rules in BC4J URGENT

What is Oracle's recommendation for implementing business rules in BC4J?
There are two approaches that i saw in Oracle documentation:
1- To implement business rules in the Entity Object. Some rules are implemented in doDML(), some in validate() depending on the type of the rule.
This approach is explained in the business rules white paper submitted early 2001.
2- To implement business rules in the Application Module.
This approach is depicted by the toy store sample application.
Please direct me to which approach should i use and if there is any documentation about the matter.
NOTES:
1- We use JDeveloper 9.0.3.1

Amr,
try this paper and let me know if itt meets your requirements.
http://otn.oracle.com/products/jdev/htdocs/bc4j/BusinessRulesInBc4j.pdf
Frank

Similar Messages

  • Business Rules and Buckset - Urgent

    Hi All,
    I wanna validate a field against list of values in the Oracle Buiness rules.
    How do I do that in OBR?
    Could someone please post any pointers/samples for this?
    Thanks,
    Prasanna

    Hi,
    If you are using 11g u can use operators like <,==,>..etc and validate the fields..have a luk at the below link
    http://www.packtpub.com/article/business-rules-define-decision-points-oracle-soa-suite-11g-r1-1

  • What business rules from DataBase to BC4J

    Hi, I am new in the BC4J world. Can anyone tell me what business rules will be converted to BC4J with JDeveloper? The tuple rules, record rules, Foreign Keys and Primary keys will be put into the BC4J layer, but...... the entity rules and interentity rules? Where will they be? Can the be put into the business layer? Are the automatically generated for you?
    Thank you,
    Rene

    I'd recommend reading this whitepaper that describes a systematic method for thinking about and implementing business rules in BC4J:
    http://otn.oracle.com/products/jdev/htdocs/bc4j/BusinessRulesInBc4j.pdf
    We automatically pickup up primary key and not null constraints, and we use the foreign key constraints to reverse-engineer associations/compositions.

  • Urgent...!! Cannot Assosiate the Business Rule in EAS

    Hi All,
    I've some problem with my Business Rule (using 11.1.2.0 version). When I tried to associate the outline, it can't be done and error.
    Error Message :
    Error connecting to Planning server <name>.
    Detail:Exception occurred. Please check your log file for details.
    and the error log for the HBR :
    2011-08-05 01:25:09,781 WARN [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' com.hyperion.hbr.plugin.planning.PlanningMetadataElement - Error connecting to Planning server <name>:11333.
    2011-08-05 01:25:09,781 WARN [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' com.hyperion.hbr.plugin.planning.PlanningMetadata - Error connecting to Planning server <name>.
    How to solve this problem..??
    Thanks.
    regards,
    VieN

    Try restarting both Planning and the RMI services.
    After the services has been restarted.
    Log into Planning and go to Business Rules through Planning.
    Check that you can see the business rules available via Planning.
    Now try logging into EAS and associating a business rule to the planning outline.

  • Business rules Bucketset urgent

    Hi All,
    I wanna validate a field against list of values in the Oracle Buiness rules.
    How do I do that in OBR?
    Could someone please post any pointers/samples for this?
    Thanks,
    Prasanna

    Please refer to the blogpost below for your answer
    http://beatechnologies.wordpress.com/2011/04/19/using-and-testing-complex-business-rules-in-oracle-soasuite-11g/

  • Business Logic in BC4J. Guide please

    I have a question regarding BC4J
    I am currently reading the white paper on this :
    http://www.oracle.com/technology/products/jdev/info/techwp20/wp.html#introduction
    Find figure 8(View Objects Cooperate with Related Entity Objects...'
    and see the 2nd para, which has a statement :
    " For example,assume that an Employee Entity Object has a busined
    logic which raises the employee's salary when she is promoted "
    My Question:
    How can you build this business logic into the database? Isnt business logic supposed to be the integrity constraints,checks and default values for a table that are defined during the table creation?
    How can you build such a business logic?
    Perhaps we can build this thru' triggers.Am I right or can some one please
    clarify this point?

    Isnt business logic supposed to be the integrity constraints,checks and default values for a table that are defined during the table creation?As this looks very much like my definition of business logic I guess I'd better run with it.
    Business logic is the rules that control the use of data. So, "every employee must belong to a valid department" is a business rule, which we can implement through a foreign key constraint. There are other simple rules which we can implement using unique constraints, not null constraints, default values, etc.
    Because we tend to focus on database implementation we tend to forget that the structures in the database actually map to business requirements in the real world. Why is EMPNO the primary key of the EMP table? Because the business needs a simple way of uniquely identifying each employee, and name is rarely sufficient.
    The example you give is a more complicated business rule: when such-and-such an event occurs, do this thing. In this case you are right to suggest...
    Perhaps we can build this thru' triggers
    CREATE OR REPLACE TRIGGER emp_salgrade BEFORE UPDATE OF grade ON employees FOR EACH ROW
    DECLARE
        gsal NUMBER;
    BEGIN
        SELECT losal
        INTO gsal
        FROM salgrade
        WHERE  grade = :NEW.grade;
        IF gsal < :NEW.sal THEN
           :NEW.sal := gsal;
        END IF;
    END;Cheers, APC

  • Business Rules in BPC10NW

    Hi folks,
    I have a question, which I'm hoping someone can answer...
    I need to build a ton of Business Rules, and this terrible web front end (we are using version 10, not 10.1) makes this take much longer.
    I found an old post to automate the loading of Business Rules from CSV files, but it related to 7.5 and of course everything "under the hood" has changed since then (no separate header and detail tables, etc.). I don't know ABAP at all, so I don't want to risk modifying the existing program, so I'm hoping someone else has already figured this out.
    I did of course try to copy and paste, but it's almost as unreliable as typing in each line or DIMLIST group.
    Is there any other way? I'm going to end up with serious RSI at this rate!
    Just as an aside, FYI I am using a 64-bit version of Firefox called Waterfox, with 64-bit Flash and the Firefox plugin installed, and it's working perfectly well - it's only this particular task that is painfully slow and frustrating. I don't use IE.
    Any ideas would be very helpful.
    Thanks a lot,
    Jason

    Amr,
    try this paper and let me know if itt meets your requirements.
    http://otn.oracle.com/products/jdev/htdocs/bc4j/BusinessRulesInBc4j.pdf
    Frank

  • 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...

  • Can I ReUse business rule with JHeadStart ?

    Hi All,
    I am looking for tools and methods for our development team to achieve this goal. The keyword is Re-Use as far as we can, in all application layer.
    We will have core application, and for any new customer we will only develope the things that specific to that customer and Re-use the core application.
    Will JHeadStart help us to achieve that goal ?
    Could anybody pls help me with the scenario for maximum reUse ?
    Thank you for your help,
    Krist

    Krist,
    JHeadstart does not 'help' much with your business rule implementation, but it also does not prevent it (I'll get to the bugs you mentioned later). ADF BC is an excellent framework for implementing your business rules, and if you implement these rules on Entity Objects (instead of View Objects) as much as you can, they are highly reusable. Have a look at this paper, which is from the 'before ADF' era but will still contain lots of information on how to implement various types of Business Rules in ADF BC:
    http://www.oracle.com/technology/products/jdev/htdocs/bc4j/BusinessRulesInBc4j.pdf
    The JHeadstart bugs you mention should not hinder you (much). The first should not reproduce in the latest patch version; you can create your own application module subclass as long as it (directly or indirectly) extends the JHeadstart one.
    The bug with respect to View Object extending does not mean the Java class extending of the View Object classes, but rather the situation where one View Object 'inherits' the attribute definitions of another View Object. I would not advice using this type of 'definition inheritance', and furthermore implementing business rules on View Objects should be avoided as much as possible if re-use is your goal; the Entity Objects underneath the View Objects are a much better location.
    The bug with imported Entity Object is more a restriction in how you organise your sources in JDeveloper (i.e. spreading your Business Components across multiple projects) than it is a limitation on reusing business logic.
    Kind regards,
    Peter Ebell
    JHeadstart Team

  • Error while creating a Business rule dictionary in Jdevloper 11g

    Hi,
    I am getting the following error when i define the Inputs and outputs during creating on a new business rule dictionary.
    Some XML schemas are not in the "xsd" directory! gardes.xsd
    Please manually move or copy the Schemas
    I am following the "Creating a Rule-enabled Non-SOA Java EE Application" guide in Oracle® Fusion Middleware User's Guide for Oracle Business Rules, 11g Release 1 (11.1.1)
    The two schema files generated were having different content after creation of XML schema file so I copied the file to make them same. Its still giving me the same error.
    Please Help.
    Thanks,
    Mac

    Please post business rules questions on the SOA Suite forum:
    SOA Suite

  • Error while selecting planning app in Business Rules

    Hi ,
    I am not being able to select the planning outline while developing business rules (but I can select the Essbase Outline). Whenever I expand the Planning node, an error pops up the details of which says "Error connecting to Essbase server machinename/testapp." There is a details button which says: "Could not log into Planning "Detail:Could not log in to Planning Server".
    Can anyone help me out. I am not being able to view the rules in the planning UI .
    I have tried for recycle the EAS even though i am getting same error.
    could you please let me know the solution for this
    Thanks
    mahesh

    Hi,
    Always follow this process, stop the planning service and eas service.
    Start RMI service
    Start EAS
    Start Planning
    Log into the web planning application
    Then go into EAS and create a new rule, select an outline to the application you have just logged into via web.
    Also if you are using the default admin user to log into EAS try another user that has been provisioned with business rules roles
    If you still have problems then go to My Oracle Support (formely metalink3) then have a look at doc id - 763345.1
    Ok?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Business Rules Instance disappeard in projects folder in Shared Services

    Hi all,
    I have this strange thing happend to me today morning. when i logged into the Shared Services i can find the Business Rules folder but i couldnt find the instance for it.Is there any way i can reconfigure it so that i can see the instance back again in Shared Services.
    Environment: Windows server, Hyperion version 9.3.1
    Any help on this would be greatly appreciated.
    Thanks in Advance

    Please find the error log below
    com.hyperion.cis.config.wizard.RunAllTasksWizardAction, ERROR, Error:
    java.lang.Exception: Registeration failed: error.generalSaveModel.Registeration failed: error.generalSaveModel.
         at com.hyperion.cis.config.CmsRegistrationUtil.registerApplication(CmsRegistrationUtil.java:222)
         at com.hyperion.cis.config.wizard.RunAllTasksWizardAction.executeHubRegistrationTask(RunAllTasksWizardAction.java:360)
         at com.hyperion.cis.config.wizard.RunAllTasksWizardAction.execute(RunAllTasksWizardAction.java:165)
         at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)
    Thanks

  • Get cell value in Planning Data form and using it in a business rule

    Hi Everybody,
    if i set the data type of an Account Member as text, is there a way to get the value inserted by the user in a dataform, turning it as dimensional member and using it in a business rule?
    So, if the user insert the value "USA" in a cell, can i use any functions to tell essbase that "USA" is a dimensional member and then using it in a business rule, for example in a cross-dimension like Period1->FY12->USA?
    I tried to use the function @Member and it doesn't work, but i'm wondering if there is a way that can let me get the value inserted and use it just like a dimensional member. What are the ways that can let user input value that can be used in a business rule? I think one is by using SmartList, is there any other ways? Maybe using variables?? As an alternative i tried to use Prompt Variable but there are too many members on which the rule must run.
    Please help me, i wanna know if i can or not let the user input the member on which the rule must run...
    Thank all guys
    Bye
    Maurizio

    Thanks EW for your answer,
    YesI could use SmartList even if i think it's very tough to handle. My experience on using SmartList in caclc script is not so good. I try to enter in details of my requirement:
    I have 500 account members.
    For each one, I have to calculate the monthly budget by sharing the amount among the months. The user wants to calculate it on the basis of the actual flow(over the months) of an unspecified account of the prior year. The unspecified account must be inserted in a data form.
    So, i could use a Smart List but it colud be of 500 elements and then i should make a rule with as many IF as how many are the accounts. Or im wrong? The only way to use smart list dynamically in a business rule is by referring its values in a IF condition. Or i'm wrong.
    I tried to use execution variable ma it seems don't work. In this case the user must pay attention to write the account correctly, otherwise as you say the rule doesn't work.
    The value in PD0A020 is "PD0A000" (that is a dimensional member). The value in PD0A000 is "hello". In PD0A040 the rule returns "PD0A000" and not "hello" as i would. The function @Member appears to be not able to catch the dimensional member by the value in PD0A000.
    {Example}="test"->"Input"->"Scenario_test"->"FY12"->"PD0A020";
    Fix("test1","Input","Scenario_test","FY12")
    "PD0A040"=@Member({Example});
    endfix
    So, my doubt is: is it possible for Essbase/Planning to use the value inserted in a data form and to turn it in a dimensional member? What are the practicable ways to let the user input/choose the member on which makes the rule run?
    Thank you Ew, thank you guys
    Maurizio

  • Business rule in MDS 2012 error: A database error has occurred. Contact your system administrator.

    I get the following information in my MDS log as well as the above error message when I execute a business rule that has a condition of AND and an Action of Attribute must be unique in combination with 2 other attributes. 
    I'm running SQL Server 2012 11.0.3000
    MDS database version 11.1.0.0
    Any ideas?
    MDS Error: 0 : SqlException message: A database error has occurred. Contact your system administrator.
       at Microsoft.MasterDataServices.Core.DataAccess.DbHelper.HandleExceptions(Exception ex)
       at Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteDataSet(String spName, CloseConnectionBehavior closeBehavior, Object[] parameterValues)
       at Microsoft.MasterDataServices.Core.DataAccess.MasterDataAccess.<>c__DisplayClass5.<ValidateEntityMembers>b__4()
       at Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteMethodWithDeadlockProtection(MethodDelegate method)
       at Microsoft.MasterDataServices.Core.BusinessLogic.Validations.ValidateMembers(Int32 versionId, Identifier entityIdentifier, IList`1 memberIds, RequestContext context, OperationResult results)
       at Microsoft.MasterDataServices.Core.BusinessLogic.Validations.Process(ValidationProcessCriteria criteria, Boolean commitVersion, Boolean validateEntityAsync, Boolean returnValidationResults, RequestContext context, OperationResult results)
    SQL Error Debug Info: Number: 208, Message: Invalid object name 'cteDuplicates0a070e37b106b9e3efe35a455076efa7'., Server: SQLRS-01, Proc: udp_SYSTEM_3_38_CHILDATTRIBUTES_ProcessRules, Line: 230
    SQL Error Debug Info: Number: 266, Message: Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1., Server: SQLRS-01, Proc: udp_SYSTEM_3_38_CHILDATTRIBUTES_ProcessRules, Line: 230
    SQL Error Debug Info: Number: 266, Message: Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1., Server: SQLRS-01, Proc: , Line: 0
    SQL Error Debug Info: Number: 266, Message: Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1., Server: SQLRS-01, Proc: udpBusinessRule_AttributeMemberController, Line: 0
    SQL Error Debug Info: Number: 266, Message: Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1., Server: SQLRS-01, Proc: udpValidateMembers, Line: 0
        DateTime=2013-08-15T13:25:15.6684023Z
    MDS Error: 0 : <ArrayOfError xmlns="http://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <Error>
        <Code>208</Code>
        <Context i:nil="true" />
        <Description>A database error has occurred. Contact your system administrator.</Description>
      </Error>
    </ArrayOfError>
        DateTime=2013-08-15T13:25:15.7152026Z

    OK I bit the bullet and contacted support on this one.
    There is a known issue with MDS 2012 and business rules with a combination of "must be unique" attributes. If you do not list the attributes in the same order that they were created you will get the generic error I cited. At first they told me it must be
    in the same order the attributes are in and that worked on one entity but not the other. The difference was that in the second entity I previously rearranged the attributes in question. Once I changed the order in the business rule to reflect the *original*
    order it worked like a champ.
    Hopefully this helps save someone some time and money.

  • Business rule takes time to open

    Hi,
    Business rule takes much time when trying to open it.
    I'm new to essbase. Can any one tell in which log i can get the information like why it takes much time like that.
    Thanks
    Kumar

    we are facing this issue for particular user. In the same system, we tried with two different users. for 1st user that BR is opened in a minute, but the same BR took around 20mins to open for 2nd user
    OS - Window XP
    EAS version - 9.3.1
    Example
    A is 1st user --> XX business rule took 1min to open
    B is 2nd user --> XX business rule took 20mins to open
    Here both the users are having same access on the BR and the applications
    Thanks
    Kumar

Maybe you are looking for