Booster Maintain Static Domain Business Rules?

Does anyknow know where I can find the utility "Maintain Static Domain Business Rules" in Headstart for Designer 6i?
Jeroen van Veldhuizen

Rene, thanks for your reply but if I generate the CAPI's I get errors like these:
LINE/COL ERROR
676/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
declared
676/4 PL/SQL: Statement ignored
884/4 PLS-00201: identifier 'CAE_VTR_CAPI.POST_INSERT' must be declared
884/4 PL/SQL: Statement ignored
943/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
declared
943/4 PL/SQL: Statement ignored
1294/4 PLS-00201: identifier 'CAE_VTR_CAPI.POST_UPDATE' must be declared
1294/4 PL/SQL: Statement ignored
1419/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
declared
1419/4 PL/SQL: Statement ignored
1425/7 PLS-00201: identifier 'CAE_VTR_CAPI.G_RECORD' must be declared
1425/7 PL/SQL: Statement ignored
Lilian.

Similar Messages

  • Maintain Super/Subtype Business Rules

    Headstart Utilities
    Utility : Maintain Super/Subtype Business Rules
    Revision : 6.5.1.1
    Message : Activity aborted with ORACLE internal errors. -6502 ORA-06502: PL/SQL: numeric or value error
    Situation : Super-entity, with two sub-entities. Both the sub-entities have no attributes, the super-entity contains all the attributes. From each of the sub-entities, a relation is defined to another entity (the sub-entities are the parent).
    Ludovic Swiggers

    Rene, thanks for your reply but if I generate the CAPI's I get errors like these:
    LINE/COL ERROR
    676/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
    declared
    676/4 PL/SQL: Statement ignored
    884/4 PLS-00201: identifier 'CAE_VTR_CAPI.POST_INSERT' must be declared
    884/4 PL/SQL: Statement ignored
    943/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
    declared
    943/4 PL/SQL: Statement ignored
    1294/4 PLS-00201: identifier 'CAE_VTR_CAPI.POST_UPDATE' must be declared
    1294/4 PL/SQL: Statement ignored
    1419/4 PLS-00201: identifier 'CAE_VTR_CAPI.PRE_OPERATION' must be
    declared
    1419/4 PL/SQL: Statement ignored
    1425/7 PLS-00201: identifier 'CAE_VTR_CAPI.G_RECORD' must be declared
    1425/7 PL/SQL: Statement ignored
    Lilian.

  • Different tables used in Consolidation Business Rules

    I was going through the documentation of different tables that needs to be maintained for consolidation business rules. I am a little confused and need some clarifications.
    These are different tables that needs to be maintained for consolidation -
    clcELIM - This table will tell what each source account needs to be divided into what 4 destination accounts.
    clcRULES - The RULES will tell how this source account needs to be divided (percentage wise as stored in the OWNERSHIP application) into these 4 destination accounts.
    clcMETHOD - This table lists down the different methods (along with their types and description) and its used in the clcRULES table
    clcELIMH_- What does this table do and where does it come into picture?
    *clcELIM_ - Is this same as clcELIM table mentioned above?
    clcRULESH - What does this table do and where does it come into picture?
    Also, what am I looking at is  what is the sequence in which these tables needs to be defined.
    For example - 
    1. clcELIM has a field called RULE whose details are mentioned in clcRULES.
    2. clcRULES has a field called METHOD and I_METHOD whose detailes are mentioend in clcMETHOD.
    3. .... I am not sure what other tables do? Please fill in the gaps.
    Thanks everyone for their help so far.
    Ameya Kulkarni
    Edited by: Ameya Kulkarni on Sep 18, 2008 7:19 PM
    Edited by: Ameya Kulkarni on Sep 18, 2008 7:21 PM
    Edited by: Ameya Kulkarni on Sep 18, 2008 7:21 PM

    Great explanation Alwin!
    Since I am new to SAP BPC world and to tell the truth, consolidation world as well (I am a planning & forecasting guy), my follow up questions are -
    (Sorry if the questions are naive).
    So according to what you have explained, clcELIM and clcELIMH work together along with clcMETHOD to define the elimination rules for entities.
    What do clcRULES and clcRULESH do?
    Also you said that these are the SQL tables (clcELIM, clcRULES, clcELIMH etc.) and its advisable not to configure them directly. So what business rules from the administration side update these tables. I am sure the METHOD administration will update clcMETHOD while RULES administration will update clcRULES and clcRULESH, is that right? what about ELIM and ELIMH.
    I am asking these questions since I dont have the system to work on yet but will be getting it on Monday next week. Right now I am trying to grasp as much as I can. So if you can send me some snapshots to amey420 at gmail dot com, that will be really appreciated.
    Also you can send me the other documents you were talking about. I will shoot you an email as well.
    Thanks a lot for your help.
    Ameya Kulkarni

  • Best practice for business rules

    Our business rules have
    Fix ( [Cost Center] )
    to extract the user's Cost Center from his form so that it runs faster.
    What is the best practice for running that same Business Rule but for all Cost Center? Will it be to put that Business Rule in a menu somewhere and let it prompt users to manually type "Cost Center" so that the Business Rule processes all cost centers ?
    Thanks.
    David

    You can try this way: create your primary business rule with FIX(@RELATIVE(VarCostCenter,0)), where VarCostCenter is a run time promt. Then you could easily use it to calculate only current member on ther form (fix will give you only 1 member).
    Then you create a new sequence and add there your business rule, go to "Launch Variables" tab, find promt for Cost Center, set it to "Total Cost Centers" and click hide. So basically now you have a copy of the primary rule but it runs for all cost centers automatically.
    So using this technique you will have to maintain only one business rule!

  • BUSINESS RULES FOR Vendor, Customer & PRODUCT

    Hi,
    Can any one help me to provide Business Rules(Validation Rules) of Vendor, Customer & Product domain to be considered in integrating with other technologies.
    Thanks & Best Regards,
    Giri

    Hi Joseph,
    First tell me how you want to maintain Inventory size wise?? If it is your A is Length, B is Width and C is your Height and you are not maintaining size wise stock then use Length,Width and Height which is in Item master here you can set fix values and activate same columns in document and you can change it in document. But in this case you cannot maintain size wise stock
    If you are maintaining stock size wise then you have to create new item code every time.
    You cannot use BP catalog number for this.
    Thanks
    Sachin

  • Validation - Business Rule or/and UJ_Validation

    Hi experts,
    I'm on BPC 7.5 NW, I'm facing problem to construct a simple validation where I need to compare the amount from one parent account against to other. Let's explain the business scenario and after the technical solutions.
    Business Scenario
    Compare the Total Assets is equal to the Total Liabilities. The Total Assets is represented by a parent account "1", the Total Liabilities is represented by a parent account "2". If it is different show a warning.
    This is need to trigger, after the Actual Transactional Data Load + Journals.
    Technical Solution
    Application: Legal
    Dimensions: Empresa (Entity), Conta (Account), Fonte (C_DataScr), Versao (C_Category), Groups, Intco, MesAno (Time), TipMov (Flow), CCusto (User Defined), CLucro (User Defined)   
    1 - Business Rule
    Validation Definition
    Validation Account         Remark                       Validation Operand           Other destination dimension Members                              Validation Tolerance
    ZATIVO_X_PASSIVO     Ativo x Passivo                       =                           CONTA=VALIDATIVPASS,INTCO=SPTOTAL,CLucro=ACTEDUMMY,CCusto=ACTENONE                0
    Account 1                    Flow 1                  Sign 1               Account 2                 Flow 2                       Sign 2             Remark
    1                           TMTOTAL*                  1                          2                        TMTOTAL*                    1                  Ativo x Passivo
    *The TMTotal Flow is a parent from every data on the master data TipMov (flow)
    Validation.lgf
    *RUN_PROGRAM VALIDATION
        CATEGORY = %VERSAO_SET%
        CURRENCY = %GROUPS_SET%
        TID_RA = %MESANO_SET%
        OTHER = [ENTITY=%EMPRESA_SET%]//For More than one other scope parameters: OTHER = [ENTITY=%ENTITY_SET%;INTCO=%INTCO_SET%...]
    *ENDRUN_PROGRAM
    Result
    When I run with this parameters I receive the message : "UJP_PROCESS_EXCEPTION:Data for category  not found in application LEGAL"
    2 - Validation with UJ_Validation
    Assign the driver dimension to Legal - in case I used the CONTA (Account)
    Rule Maintenance
    Assigned Member: "1" and "2"
    Use Logic Table
    Dimension = Empresa (Entity)
    Operator "="
    Members = TECSA - This is a parent from every Entities.
    Result
    When I run with this parameters I receive the message : "UJP_PROCESS_EXCEPTION:Data for category  not found in application LEGAL"
    3 - Validation with UJ_Validation and BADI
    Assign the driver dimension to Legal - in case I used the CONTA (Account)
    Rule Maintenance
    Assigned Member: "1" and "2"
    Use BAdI Implementation
    BADI_UJ_VALIDATION_RULE_LOGIC
    Create a Enhancement ZATIVO_X_PASSIVO
    Filter
    Rule_Num = 1
    APPSET_ID = ZTECSA
    DIMENSION = CONTA
    Class
    METHOD if_uj_validation_rule_logic~do_validation_logic.
      FIELD-SYMBOLS:
                       <field1> TYPE ANY,
                       <field2> TYPE ANY.
      ASSIGN COMPONENT 'FIELD1' OF STRUCTURE is_data TO <field1>.
      ASSIGN COMPONENT 'FIELD2' OF STRUCTURE is_data TO <field2>.
      IF <field1> NE <field2>.
        es_message-message = 'Error in Validation'.
        es_message-recno = 1.
        es_message-MSGTY = 'W'.
      ENDIF.
    ENDMETHOD.
    And add this line to the script
    *START_BADI_UJ_VALIDATION_RULE_LOGIC~DO_VALIDATION_LOGIC
      QUERY = ON
      WRITE = ON
    *END_BADI
    Result
    Data Region:
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CCUSTO WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CLUCRO WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CONTA WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FONTE WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTCO WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:TIPMOV WILL QUERY ON ALL BASE MEMBERS.
    [WARNING!] MEASURES IS NOT SPECIFIED!
    So what could I make to maintain all my options to do what I need ?
    I appreciate any help
    Best Regards
    Alexandre Mendoza Collepicolo

    Hi,
    Just to check, can you try and hardcode the category in the rules itself...just for a test to see if it is working.
    You can have the category mentioned as CATEGORY=ACTUAL in the rules itself for Other source dimension members and other destination members. J
    This is to check if the validation package runs successfully or not.
    Thanks,
    Sreeni

  • Is it possible to use "not" logical operator in a Business Rule Condition?

    This seems like a very simple request to me, but I cannot see any other questions/answers about it.
    Can I add a "not" to my Conditions in a Business Rule?
    My scenario is that I have a core Entity with a Type.  The Type is a domain attribute with a Code and Name.  The Code of the core Entity should in the form 'AA-9999', where 'AA' is the Code from Type.
    The idea is that I have a business rule with the condition "not
    Code starts with DBA.Type.Code" and the Action would be "Code is not valid".
    Is this possible?  Is there a better way of implementing this?
    Thanks,
    Michael

    Yeah! This is the board in question! But it has lots of versions, like K7T Pro, K7T Pro2 (my one!), K7T Turbo, K7T Turbo Limited Edition and K7T Turbo2, all of then are WS-6330 Lite...   They phisically diferent, but the BIOS seens to be the same... I want to know is this feature in the newer version is going to work or not on my board (MS 6330 Lite K7T Pro2 Ver:1) ....
    Doesn´t matter what board you choose (PRO, PRO2, Turbo, Turbo2) the MSI page shows all the same BIOS to Download... But I think that this feature is only applicable for K7T Turbo2, but will make no difference in my! At least that´s what I think...
    But you´re right! The board that I have is the one on the link you said!
    Thanks!      

  • Solving "COMMIT business rules" on the database server

    Headstart Oracle Designer related white paper
    "CDM RuleFrame Overview: 6 Reasons to get Framed"
    (at //otn.oracle.com/products/headstart/content.html) says:
    "For a number of business rules it is not possible to implement these in the server
    using traditional check constraints and database triggers. Below you can find two examples:
    Example rule 1: An Order must have at least one Order Line ..."
    But, one method exists that allows solving "COMMIT rules" completely on the database level.
    That method consists of the possibility of delaying the checking of the declarative constraints (NOT NULL, Primary Key, Unique Key, Foreign Key, Check Constraints) until the commit
    (that method was introduced first in the version 8.0.).
    E.g. we add the field "num_emps" to the DEPT table, which always has the value of the number
    of the belonging EMP rows and add DEFERRED CK which uses the values from that field:
    ALTER TABLE dept ADD num_emps NUMBER DEFAULT 0 NOT NULL
    UPDATE dept
    SET num_emps = (SELECT COUNT (*) FROM emp WHERE emp.deptno = dept.deptno)
    DELETE dept WHERE num_emps = 0
    ALTER TABLE dept ADD CONSTRAINT dept_num_emps_ck CHECK (num_emps > 0) INITIALLY DEFERRED
    Triggers that insure the solving of the server side "COMMIT rules" are fairly simple.
    We need a packed variable that is set and reset in the EMP triggers and those value
    is read in the bur_dept trigger (of course, we could have place the variable in the package
    specification and change/read it directly, thus not needing the package body,
    but this is a "cleaner" way to do it):
    CREATE OR REPLACE PACKAGE pack IS
    PROCEDURE set_flag;
    PROCEDURE reset_flag;
    FUNCTION dml_from_emp RETURN BOOLEAN;
    END;
    CREATE OR REPLACE PACKAGE BODY pack IS
    m_dml_from_emp BOOLEAN := FALSE;
    PROCEDURE set_flag IS
    BEGIN
    m_dml_from_emp := TRUE;
    END;
    PROCEDURE reset_flag IS
    BEGIN
    m_dml_from_emp := FALSE;
    END;
    FUNCTION dml_from_emp RETURN BOOLEAN IS
    BEGIN
    RETURN m_dml_from_emp;
    END;
    END;
    CREATE OR REPLACE TRIGGER bir_dept
    BEFORE INSERT ON dept
    FOR EACH ROW
    BEGIN
    :NEW.num_emps := 0;
    END;
    CREATE OR REPLACE TRIGGER bur_dept
    BEFORE UPDATE ON dept
    FOR EACH ROW
    BEGIN
    IF :OLD.deptno <> :NEW.deptno THEN
    RAISE_APPLICATION_ERROR (-20001, 'Can''t change deptno in DEPT!');
    END IF;
    -- only EMP trigger can change "num_emps" column
    IF NOT pack.dml_from_emp THEN
    :NEW.num_emps := :OLD.num_emps;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER air_emp
    AFTER INSERT ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END;
    CREATE OR REPLACE TRIGGER aur_emp
    AFTER UPDATE ON emp
    FOR EACH ROW
    BEGIN
    IF NVL (:OLD.deptno, 0) <> NVL (:NEW.deptno, 0) THEN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER adr_emp
    AFTER DELETE ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    pack.reset_flag;
    END;
    If we insert a new DEPT without the belonging EMP, or delete all EMPs belonging to a certain DEPT, or move all EMPs of a certain DEPT, when the COMMIT is issued we get the following error:
    ORA-02091: transaction rolled back
    ORA-02290: check constraint (SCOTT.DEPT_NUM_EMPS_CK) violated
    Disvantage is that one "auxiliary" column is (mostly) needed for each "COMMIT rule".
    If we'd like to add another "COMMIT rule" to the DEPT table, like:
    "SUM (sal) FROM emp WHERE deptno = p_deptno must be <= p_max_dept_sal"
    we would have to add another column, like "dept_sal".
    CDM RuleFrame advantage is that it does not force us to add "auxiliary" columns.
    We must emphasize that in real life we would not write PL/SQL code directly in the database triggers, but in packages, nor would we directly use RAISE_APPLICATION_ERROR.
    It is written this way in this sample only for the code clarity purpose.
    Regards
    Zlatko Sirotic

    Zlatko,
    You are right, your method is a way to implement "COMMIT rules" completely on the database level.
    As you said yourself, disadvantage is that you need an extra column for each such rule,
    while with CDM RuleFrame this is not necessary.
    A few remarks:
    - By adding an auxiliary column (like NUM_EMPS in the DEPT table) for each "COMMIT rule",
    you effectively change the type of the rule from Dynamic (depending on the type of operation)
    to a combination of Change Event (for updating NUM_EMPS) and Static (deferred check constraint on NUM_EMPS).
    - Deferred database constraints have the following disadvantages:
    When something goes wrong within the transaction, then the complete transaction is rolled back, not just the piece that went
    wrong. Therefore, it becomes more important to use appropriate commit units.
    There is no report of the exact row responsible for the violation nor are further violations either by other rows or of other
    constraints reported.
    If you use Oracle Forms as a front end application, the errors raised from deferred constraints are not handled very well.
    - CDM discourages the use of check constraints. One of the reasons is, that when all tuple rules are placed in the CAPI,
    any violations can be reported at the end of the transaction level together with all other rule violations.
    A violated check constraint would abort the transaction right away, without the possibility of reporting back other rule violations.
    So I think your tip is a good alternative if for some reason you cannot use CDM RuleFrame,
    but you'd miss out on all the other advantages of RuleFrame that are mentioned in the paper!
    kind regards, Sandra

  • Error running business rules

    Hello All, We are currently experiencing the problem with the Business Rules. After some idle time in the application, we get an error "Cannot connect to essbase server" and the business rules fail to run.
    We are using Planning: 9.3.1.1.5 and Oracle :10 R2
    below are some details:
    Last usage time: 5:27 PM on 7/7/08
    User logged in at 7:27 AM on 7/8/08
    the hbrlaunch.log file has the following Exception entry at 7:27 AM:
    ************************ Date/Time Ended: 2008/07/08:07:27:30.399 CDT Type/Server/Application/Database: Essbase/xxx..domain.com/CC_Plan/CC_Plan Business Rule Name: CC_CurrencyAndAgg_MnthlyInp_OpsMisc By HBR user: user1 By Essbase user: admin Date/Time Ended: 2008/07/08:07:28:05.901 CDT Type/Server/Application/Database: Essbase/xxx.domain.com/CC_Plan/CC_Plan Business Rule Name: CC_AddAcct_OpsMisc_MonthlyInput By HBR user: user1 By Essbase user: admin Exception: Error connecting to Essbase server xxx.domain.com. *************************
    After logging the above exception about error connecting to essbase, no more exceptions are logged. In AAS_out.log, at around the same time the user experieced error, the following entry was found. not sure if they are related.
    2008-07-08 07:27:08,735 INFO Thread-23 com.hyperion.hbr.db.DBPluginDataTable - Deleting Plugin data older than TO_DATE('2008/07/08 07:25:44','YYYY/MM/DD HH24:MI:SS')
    Some exceptions were logged a few hours prior to the error being occurred:
    2008-07-06 19:25:01,258 WARN [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' com.hyperion.hbr.security.HbrSecurityAPI - Exception occured: MSG_USER_PROVISIONING_NATIVEPROVIDER_SETUP_ERROR
    At around the same time in essbase application log, we have these errors:
    [Tue Jul 08 07:27:55 2008]Local/CC_Plan/CC_Plan/admin/Error(1200315) Error parsing formula for [REGION DEFINITION] (line 0): invalid object type [Tue Jul 08 07:27:55 2008]Local/CC_Plan/CC_Plan/admin/Warning(1080014) Transaction [ 0x310231( 0x48735d4b.0x2da78 ) ] aborted due to status [1200315].
    In Essbase.log file, right around the same time the error occurred, it logs some errors stating thet the substution variables does not exist.
    [Tue Jul 08 07:05:15 2008]Local/ESSBASE0///Info(1051001) Received client request: Logout (from user [admin]) [Tue Jul 08 07:05:15 2008]Local/ESSBASE0///Info(1051037) Logging out user [admin], active for 5 minutes
    [Tue Jul 08 07:26:15 2008]Local/ESSBASE0///Error(1051021) You have been logged out due to inactivity or explicitly by the administrator.
    [Tue Jul 08 07:27:14 2008]Local/ESSBASE0///Error(1051007) Invalid login id - request [Logout] failed
    *** errors about substitution variables *****
    [Tue Jul 08 07:27:55 2008]Local/ESSBASE0///Warning(1051003) Error 1051083 processing request [Get Substitution Variable] - disconnecting
    [Tue Jul 08 07:50:20 2008]Local/ESSBASE0///Warning(1051003) Error 1051083 processing request [Get Substitution Variable] - disconnecting
    ********************************************************************************************* Planning_err.log file has the following entries: ********************************************************************************************
    Creating rebind thread to RMI java.lang.RuntimeException: Unable to aquire activity lease on activity 1 as the activity is currently leased by another server.
    The table: hbrplugindata in the AAS schema, is refreshed every minute.
    A new record is inserted as per the logs, but there is only one record in the table. It could be that the delete command is not logged.
    No exception are logged either. Could it be that there are exceptions during this operation and thus results in the failure of BR's?
    Currently we have to restart planning and RMI services to get the business rules to be working again.
    Any help in this matter is welcome. Thanks!

    Hi, we have the same error (region definition error, rules in planning not running for approx. 15 min) - then suddenly working again.
    This is a desaster, as planning users save not-calculated data and cause inconsistency in the system.
    had this in planning 4 installation up to Aug.08 and then in system 9 (with planning patch 5) - rel. 9.3.1.1.5 using IBM Websphere -
    all quick solution from hyperion did not really help: increase number of ports, java cache, change netrelay, netretryconect etc. in essbase.cfg and
    Olap.server.net retry +Olap.server.net connect delay in essbase.properties files
    Review business rules and users for errors, hardware, caches, fragmentation, potential system overload, search for corrupted database, invalid formulas in outline ...
    it came out, that it was just 1 business rule causing this trouble: our only rule, where you enter in a user prompt a numeric value -problem is quotation marks.
    we installed the cumulative Service Fix 11 for this (and other reasons) last week (takes approx. 4 hours to install with all the manual steps - just came out in May - Rel. 9.3.1.1.11)
    as the error happened only from time to time in the peak of our planning session, we will monitor next months but are very optimistic to have things fixed (solution obviously in fix 9 already)
    this link may help as well:
    http://www.network54.com/Forum/58296/thread/1201134375/1217512299/Strange+behaviour+with+HBR++%28Planning+931%29
    I suggest to install Service Fix 11 - if you read the manual, you probably find more fixed errors in there. (Patch is for Planning and BR Rules/AAS EAS)

  • Dynamic Business Rules - Where to place

    Hi,
    I am doing POC for a fortune 10 client and they have some business rules before crud actions are going to take place in DB. We have very minimal tables (less than 10) and its small application but web service (btw, this has to be webservice app) consumers are around 200 per sec.
    The requirement with respect to business rules are also minimal (like 30 rules for entire project) but these rules will change very often(like once in a month). Assume these rules are on the enterprise level and not on the application level.
    I am looking for best possible solution to achieve by developing small rules engine or putting them into another xml and apply transformation once request arrives.
    I am confused of deciding which is better like putting business rules in xslt vs java business object. XSLT is allowing me to change rules with minimum impact on the system but it is hard to maintain and adding new rules (we are not anticipating any more new rules within next two years).
    On the other hand, If I put in Java business object then it allows lot of flexibility to inject new rules and easy to maintain with cleaner code.
    So, in short my questions are below.
    1. Is it good practice to put small set of business rules in xml/xslt?
    2.are there any alternative business rules engines are available?
    Any other suggestion related to above discussions are welcome.
    Thanks.

    I believe this is what you want.
    DROOLS - drools - dynamic rules for java
    http://sourceforge.net/project/showfiles.php?group_id=37037
    http://www.onjava.com/pub/a/onjava/2005/08/03/drools.html?page=2
    good luck.

  • Why to use business rules in biztalk or is there is any alternative to using vocabularies in biztalk?

    Thanks in advance

    Business rules framework: Organizations may need to process information differently depending on the data submitted. In the case of BizTalk, information is submitted
    via a message, and data within that message may require special processing once it has been received by an orchestration. The orchestration must be able to determine what that data is and how to process it. Additionally, rules around how that data is interpreted
    may change at any given time, even after the solution is in production. For example, a rule may be required that allows processing messages as long as a specific field has a value less than 10, but must stop processing and notify an administrator when this
    value is equal to or exceeds 10. The ability to store and access such a rule and to make it available for customization through a user-friendly interface is provided by the BizTalk business rules framework.
    Vocabularies: They are specific to
    business rules framework. These consist of all defined values that you can use when creating
    a rule,  including constants, predicates, XML nodes, and so on.
    The terms used to define rule conditions and actions are usually expressed by domain or industry-specific nomenclature. For example, an e-mail user writes rules in terms
    of messages "received from" and messages "received after," while an insurance business analyst writes rules in terms of "risk factors" and "coverage amount."
    Underlying this domain-specific terminology are the technology artifacts (objects, database tables, and XML documents) that implement rule conditions and rule actions.
    Vocabularies are designed to bridge the gap between business semantics and implementation.
    Reference:
    BizTalk 2010 Recipes: A Problem-Solution Approach
    MSDN:
    Business Rules Engine
    MSDN:
    Vocabularies
    TechNet Wiki:
    https://social.technet.microsoft.com/wiki/contents/articles/6480.biztalk-server-business-rule-engine-survival-guide.aspx
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Error creating 'Journalling Business Rules'

    When running 'Maintain Journalling Business Rules' for a table with 19 columns an EMPTY 'BR_xxx_JRN_DEL' trigger is created , hence the CAPI definition fails.
    If I add 1 more column to make it 20 columns the 'BR_xxx_JRN_DEL' and the CAPI are both generating correctly.
    Has anyone else found this ?????

    Sandra,
    Ok we have the modified version of hsd and we still have similar problem. Here is the detailed log
    Log Messages
    Utility      Maintain Journalling Business Rules
    Revision      6.5.3.2
    Parameters      
    Prompt      Value
    Table to be Journalled      app/ my table
    Errors
    Message
    Activity aborted with ORACLE internal errors.
    -6502 ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Debug Detailed
    Message
    BLAPI.OPEN_ACTIVITY
    Number of Tables to create/delete Journalling Rules for: 1
    Business Rule Design Definition for BR_xxx_JRN_UPD
    No Update Trigger Columns specified. Business Rule BR_xxx_JRN_UPD will fire when any column is updated.
    end of initial_checks
    Create/maintain message with constraint_name = HRS_BR_xxx_JRN_UPD
    Message QMS-00151 already exists in Headstart message tables, no new message was created.
    Activity aborted with ORACLE internal errors.
    -6502 ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    and this is the piece of code from bltext
    -- 6.5.2.3 changed if condition
    -- if length(l_text_lines(l_ctr + 1))+ 2 + length(l_build_string) &gt; 1990
    if length(replace(l_text_lines(l_ctr + 1), chr(10), NL_CR)||NL_CR)
    +
    length(l_build_string) &gt; 2000
    then
    exit;
    end if;
    end loop; -- compose 1 build string
    -- 6.5.2.3 changed if condition
    -- if nvl(length(l_build_string),'') &gt; 0
    if nvl(length(l_build_string),0) &gt; 0
    then
    -- 6.5.0.1 column element_type_for added.
    insert into cdi_text
    ( txt_ref
    , txt_seq
    , txt_type
    , txt_text
    , element_type_for
    values
    ( p_el_id
    , l_insert_at_seq
    , p_text_type
    , l_build_string
    , p_el_type
    end if; -- nvl(length(l_build_string),'') &gt; 0
    if l_ctr &gt;= p_text_counter
    then
    exit;
    else
    l_build_string:= '';
    l_insert_at_seq:= l_insert_at_seq + 1;
    end if; -- l_ctr = p_text_counter
    end loop; -- (maximum) over all lines in local text-store
    end if; -- l_lock
    exception
    when others
    then
    bllog.write
    ('Exception: '||sqlerrm
    , bllog.debug
    bllog.write
    (' Length Buildstring '||to_char(length(l_build_string))
    , bllog.debug
    bllog.write
    (' Line number '||to_char(l_insert_at_seq)||' Text type = '||p_text_type
    , bllog.debug
    bllog.write
    ( 'Exception; Note that the text for this element may have been corrupted.'
    , bllog.errors
    end write_lines_to_repository;

  • Problem with Business Rules access from Shared Services

    Hello,
    When trying to access Business Rules from Shared Services (expand Business Rules and click on the application) I get the "Refer to the Security Guide to configure security permissions for this application" message, but the user is fully provisioned for Business Rules. It happens even logged on as admin. Access from Administration Services works fine. The version Hyperion system 9 (9.3.0.1). What is wrong? Help, please.
    Thanks,
    Timur

    You can't access Business Rules from Shared Services. This is no different from any other application - Planning, Essbase, etc. You can provision users to the application roles, but you can't actually do anything with the application, other than security, in Shared Services. You use Admin Services to maintain Business Rules.

  • Validate data - business rules.

    Hi,
    We're using CDM Ruleframe to implement our business rules. As there was a need to bulk load a bunch of data, I disabled the business rules temporarily using the procedure disable_all_br.
    Is there a way to find out (afterwards) which of the records are in conflict with one or more business rules? I now that it can be checked for the static business rules via the procedure validate_all_statis_br, but what about the dynamic ones?
    Your replies are highly appreciated.
    Best regards,
    Nancy.

    Hi Vijay,
    just to make sure that I understand your scenario correctly:
    You import some business data in a table into the BRF+ (e. g. column1 = country, column2 = city ...). Now you want to process the lines of the table via a decision table namely one column (i. e. the corresponding business data) is equal to a condition column in your decision table (e. g. one condition  column = country).
    If this is the case I am afraid that there is no other option than to loop over your table with the data and evaluate the line with the decision table.
    Concerning your performance problems:
    In general there are a lot of notes that optimize the performance for the processing of decision tables, see these blogs:
    Great Performance Improvements in NW DSM/BRFplus
    Notes for Performance Optimization in BRFplus
    When you have your decision table in single match mode (so when the first matching entry is hit, the processing of the decision table stops and the result is returned) you can tune the performance be rearranging the row so that the ones that will match most propably are at the top of the decision table.
    Maybe there are combinations of data in your input that do not need to be processed in the decision table (I do not know your scenario, but theoretically that is possible) so perhaps you can reduce the amount of data that has to be processed by excluding these entries in the loop
    Hope that helps
    BR
    Christian

  • Versioning Business Rules

    Hi Friends,
    I came across this questions during my discussion with stakeholders who plan to leverage OBR in their applications:
         Q] If we edit Business Rules at run time, how can we maintain versions to track changes and revert to a previous version if required?
    Any suggestions/experiences?
    Thanks,
    Sachin.

    Yep.  Since MDS is included in SQL Server I have several customers who use it to create a simple way for end users to manage "homeless" data. 
    David
    David http://blogs.msdn.com/b/dbrowne/

Maybe you are looking for