Dealing with complex rules - best practice?

hello,
I am currently involved in a project to develop BRFplus rules for a new social security benefit.
some ofd the legislation is complex. for example:
if ( A = true) AND ( (B = true) OR (C = true) OR (D = true) OR ( (E = true) AND (F= true)) ) then
   Result = true
Else
   Result = false
Endif
My question is, what is the best/most efficient way of developing this rule?
is it to develop one rule with a very complex condition?
what are the alternative/preffered approaches?
Thanx in advance.

You can create "named" rules for each sub-rule (the condition A, B, C,...) and then use them in a master rule. This would improve the readability and hence maintenance by breaking the complexity down into simpler modules and would also let you re-use the sub-rules at other places.

Similar Messages

  • SOLMAN with India Baseline Best Practice solution

    Hello,
    With India Baseline best practice solutin route, you need to go-thru the activation process which creates the configuration objects for the selected scenarios. How can i integrate this process with SOLMAN in place as I understand in SOLMAN base project implementation we need to create a project & do the configuration via SOLMAN for individual nodes.
    Regards,
    Manish.

    Hi,
    Our current solution is to have to NICs and have both connect to the server. They then have 2 different IPs and we have the DHCP give out the IP as the gateway. The only problem with that is that we cannot control the automated change of gateway IP if the
    main connection fails. 
    We are also willing to look into other hardware solutions that could control this.
    Regards,
    Rudi

  • Rules Best Practice Advice Required

    I find that I'm fighting with the Business Rules in my BPM project, so I'd thought I throw the scenario out here and see what best practices anyone might propose.
    The Example*:
    Assume I have people, and each of them is assigned a list/array of "aspects" from an enumerated set: TALL; SPORTY; TALKATIVE; TRAVELER; STUDIOUS; GREGARIOUS; CLAUSTROPHOBIC.
    Also assume I have several Marketing campaigns, and as part of one or more processes, I need to occasionally determine whether a person fits the criteria for a particular campaign, which is based on the presence of a one or more aspects. The definitions of the campaigns may change, so the thought is to define them as business rules; if they change, the rule changes, without impacting the processes themselves (assume the set of campaigns doesn't change, just the rules for matching aspects to a particular campaign).
    My initial take is to to define each campaign as a bucketset, containing aspects, the presence of which indicates inclusion in the campaign. If a person has ANY of the aspects, they are considered a member.
    Campaigns (each perhaps defined as a LOV bucketset):
    DEODORANT: SPORTY, TRAVELER, GREGARIOUS
    E_READER:STUDIOUS,TRAVELER
    BREATH_MINT:TALKATIVE, GREGARIOUS
    HELMET:TALL, CLAUSTROPHOBIC
    So we want to create a service to check: Does a person belong to the BREATH_MINT campaign? We extract their aspects and check to see if ANY of them are in the BREATH_MINT campaign. If so, we return true. Basically: return ( intersection( BREATH_MINT.elements(), person.aspects() ) ).size() > 0
    The problem is: what's the best way to implement this using Business Rules? Functions? Decision Functions? Decision Tables? Stright IF/THEN? Some combination of the above? I find I'm fighting the tool, which means that, although this is a fairly simple problem, I don't understand the purpose of the various parts of the tool well.
    Things to consider:
    Purpose: test a person for inclusion in a specific campaign
    Input - the person's aspects, either directly, or extracted from the person
    Output - a boolean
    There can be a separate service for each campaign, or it could be specifed by an enumerated value as a parameter.
    Many thanks in advance!
    ~*Completely Fabricated~
    Edited by: 842765 on Mar 8, 2011 12:07 PM - typos

    hey, i am also intrested in any tips. we are gearing up to use ARD for all of our macs current and future.
    i am having a hard time with entering the user/pass for each machine, is there and eaiser way to do so? we dont have nearly as many macs running as you do but its still a pain to do each one over and over. any hints? or am i doing it wrong?
    thanks
    -wilt

  • Working with many sequences- best practice

    Hi.
    I´ve just started using Adobe Premiere CS6. My goal is to create a 2 hour long movie, based on 30 hours of raw gopro footage recorded on a recent vacation.
    Now my question is, what is the best practice for working with so many sequences/movie clips?
    Do you have one heavy project file, with all the clips?
    Or do you make small chapters that contains x number of sequences/is x minutes long, and in the end combine all these?
    Or how would you do it the best way, so its easiest to work with?
    Thanks alot for your help.
    Kind regards,
    Lars

    I'll answer your second question first, as it's more relevant to the topic.
    You should export in the very highest quality you can based on what you started with.
    The exception to this is if you have some end medium in mind. For example, it would be best to export 30 FPS if you are going to upload it to YouTube.
    On the other hand, if you just want it as a video file on your computer, you should export it as 50 FPS because that retains the smooth, higher framerate.
    Also, if you are making slow-motion scenes with that higher framerate, then export at the lowest framerate (for example, if you slow down a scene to 50% speed, your export should be at 25 FPS).
    About my computer:
    It was for both, but I built it more with gaming in mind as I wasn't as heavily into editing then as I am now.
    Now, I am upgrading components based on the editing performance gains I could get rather than gaming performance gains.

  • SD EDI with many partners / best practice

    I need some input on how best to approach a large EDI project.
    We will be accepting orders from about 80 customers.  Each one will be drop-shipping products from our warehouse to their customers.  I've set up the config for one location to take advatange of the EDPAR ext/int customer conversion table.  The IDOC uses the sold-to party as the KU type partner profile name (ex. 237661) which allows me to use the EDPAR conversion.  I'm able to get the IDOC processed now through to the finished order.
    Question:  How do I scale this?  Is this the best way to handle 80 partners?  If so, I will have to have one EDI translation per sold-to.  Should we really be hard-coding a sold-to account# as the partner profile name at the EDI translation level or is there a more generic way to handle this?
    It seems like there should be a way to say the partner profile for this customer group is EDIGRP01 and then use the incoming sold-to (ext. customer#) to determine which IDOC partner profile to use OR use user-exits to make that logic happen.  I want to use the configurable best practices here but it sure seems like a lot of work with hard-coded account#'s to boot.
    Thank you for your thoughts.

    Reynolds, the partner profiles are to identify the message type and process code and then function module to post the idocs. These partner numbers will not be used anywhere else. for creating sales orders you need sales area ,sold to and shipto numbers,and material numbers.
       These three values will be converted using the EDPAR and customer material info records.
        Could you please explain why the validation for customer number is required?
    If you really need the customer validation sales order creation automatically do when determining the sales area or material number.
    I question for you. what configuration you did for automatic conversion of external partner numbers into internal customer numbers? does this is used for outbound
    idocs as well? i am doing some outbound messages for orderacknowledgment.
    where i need the external partner numbers to be passed in idoc and edu message.
    but the automatic translation is not taking place? this is also not happening for inbound also for me? Could you please tell what i am missing?
    Please mail me at [email protected]
    Thanks for the help.
    Regards,
    Praveen

  • RBAC with OIM/OIA - Best practice

    Just wondering what should be the RBAC architecture with OIM and OIA as per best practices when the number of applications is huge e.g. >1000.
    Normally, we create one or more OIM Access policies and corresponding user groups for automated provisioning of the user to target applications. And further integrate OIM with OIA to govern user access by aligning the OIA policies with the OIM Access policies.
    This is fine when the number of applications is manageable. But what if the number of applications rises to more that 1000 or 5000. What would be our approach to handle this.

    A fine topic that has been discussed many times over the years in this forum.
    It is also something I have spent far more time than what is actually healthy working on so there are a couple of articles on my blog about the subject:
    http://iamreflections.blogspot.com/2010/10/oim-vs-tim-basic-rbac.html
    http://iamreflections.blogspot.com/2010/09/rbac-vs-abac.html
    http://iamreflections.blogspot.com/2010/08/role-based-group-memberships-in-oim.html
    http://iamreflections.blogspot.com/2010/08/primary-limitation-of-oim-access.html
    The basic answer is that you have to build your own RBAC framework once things leave the very basic state.
    Hope this helps
    /Martin

  • How to deal with the rule that do not use "object" class to declear a class

    I run my flex project in sonar. And there is a rule "Do not use Object class ".
    I just want to know how to deal with this problem.
    I mean, when I try to write a base class, I don't know which kind of class will be transfered in by reference, which type I can declear instead of "object"?

    Check out this example:
    The moment I put in the code >> box1.addItem("hello"); << and run the application, the BusNameListener is fired. Hope this makes sense.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    public class JFrameExample {
    private JComboBox box1;
    public JFrameExample() {
    box1 = new JComboBox();
    box1 .setMinimumSize(new Dimension(300, 24));
    box1 .setPreferredSize(new Dimension(300, 24));
    box1.addActionListener(new BusNameListener());
    box1.addItem("hello");
    JFrame f = new JFrame("This is a test");
    f.setSize(400, 150);
    Container content = f.getContentPane();
    // content.setBackground(Color.white);
    content.setLayout(new FlowLayout());
    content.add(box1);
    f.setVisible(true);
    class BusNameListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    JComboBox cb = (JComboBox) e.getSource();
    String item = (String) cb.getSelectedItem();
    if (item != null) {
    JOptionPane.showInputDialog(null,
    "Specify...", "File Import",
    JOptionPane.OK_CANCEL_OPTION);
    }

  • Auto Scaling with complex rules

    Im currently using the auto scaling application block (http://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-autoscaling-application-block/) which allows quite complex rules for the auto scaling, such as "Each Friday for the
    entire Year, scale like this", same goes for other days of the week.
    I was hoping to switch over to the auto scaling feature in the Azure portal, but I REALLY need more complicated rules, is there any way to define a rule for each Friday of the year, and then apply exceptions for certain Fridays when I know that I am going
    to need slightly different rules?

    Hi,
    Since the issue regards Windows Azure Auto Scale. I move it to Monitor, Alert and Auto scale in Azure forum. It is appropriate and more experts will assist you.
    Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to deal with complex SOAP responses when calling web services ???

    Hi all,
    I have an issue when calling a web service that returns a complex
    SOAP response message. With simple responses (e. g. array of strings) it
    worked.
    I created the PDF as an Interactive form with Livecycle Designer 8.2.
    The Javascript looks like this:
    var cURL = "http://blabla";
    var cTestString = "too";
    SOAP.wireDump=true;
    var response = SOAP.request(
         cURL: cURL,
         oRequest: {
              "http://blabla.com/:complete" : {
              arg0: cTestString
              cAction: "http://bla.com:50000/"
    var resp = response["http://blabla.com:serviceResponse"];
    console.println("lenght:"+resp.length);
    var myns = "http://blabla.com/namespace";
    for (var nItem in resp.return)
      console.println("" + nItem + " " + resp.return[nItem] );
         for (var ConceptView in resp.return[nItem])
           console.println("  "+resp.return[nItem].length);
           console.println("  "+ConceptView+" "+resp.return[nItem][ConceptView] );
           if (ConceptView == myns + ":Response")
              for (var item2 in resp.return[nItem][ConceptView]){
                  console.println("    "+item2+" "+resp.return[nItem][ConceptView][item2] );
    I call the service and when I realized that I do not find out the type of the object returned, I used the nested for-in-loops to iterate through it. But it seems that there is just one item in the Javascript object returned, although the SOAP message clearly shows that there are more than one item.
    Can you help me?
    One key problem when analyzing this issue is that I do not know at all
    the Javascript type of response. We suspected it might be an array, but it is not
    because the method .length returns "undefined". It would already be
    helpful to know at least the type of this object and to know callable
    methods and so on ...
    Best regards
    Christoph
    P.S. As mentioned I used Livecycle Designer 8.2 and displayed and
    debugged the document using Acrobat 9.

    Christoph,
    Firstly LiveCycle Designer 8.2 is still not supported to develop forms as per my knowledge. The latest version compatible for SAP Interactive Forms is ALD 8.0.
    There is a difference between Acrobat based forms and LiveCycle forms and based on your coding it looks to me  that you are trying to create a LiveCycle based form with coding of Acrobat which is not supported in LiveCycle Desginer, which is why you may be getting the error.
    I hope that does not confuse you, so may check this [link|http://www.acrobatusers.com/articles/2006/08/designer_or_forms/index.php] for some clear information on what point I was trying to make.
    Chintan

  • Use both iPhoto and Aperture with one library-best practice?

    I'd like to use both iPhoto and Aperture, but have both programs use/update just one photo library.  I have the latest versions of both programs, but was wondering if the optimum approach would be to:
    a)point Aperture to the existing iPhoto library and use that as the library for both programs
    or
    b)import the entire iPhoto library into a new Aperture library, delete the iPhoto library, and point iPhoto to use the Aperture library.
    I should point out that up to now I've been using iPhoto exclusively, and have close to 20K photos in the iPhoto library, tagged with Faces, organized into various albums, etc; if that makes a difference...
    Appreciate any advice!
    Thanks,
    Dave

    Thanks Frank!  I'll try it that way.
    Appreciate the help!

  • SAP Rules Best Practices - transaction MFBF

    Hello,
    Can you share how do you classify MFBF  (Backflush in Repetitive Manufacturing)?  My process owner claims it allows user to Scrap materials improperly and should be controlled.
    It is not in any function in SAP suggested rules, in my experience that normally means that the transaction call other that are classified, and most of time SE97 is used to control the called transaction authorization behavior.  Anyone knows if this is the case too?
    Thanks
    Vaner

    Hi Swadesh,
    I have not worked in Clinitical Trial Supply Management but I have shared you a link from SAP which contains full details of this scenario.
    http://help.sap.com/bp_pharmav1600/Pharma_US/index.htm
    You need a user id and password for opening this link.
    Please let me know whether this link resolves your query.
    Regards
    R. Senthil Mareeswaran.

  • Dealing with complex beans

    Hi there!
    I'm developing an app in NetBeans that has a 'complex' object/backing bean structure. For example a CalculationBean has an ArrayList of ProductBeans.
    How can I make it so that the user tells how many Products he wants in the Calculation, after that the application creates the Beans, and shows the productForm bound to them? ( Also, is it possible to show the productForm-s on the same page, created dynamically? )
    Any help will be appreciated!
    Daniel

    I would also suggest Tomahawk's dataList component, if dataTable is not to your liking.

  • Best Practice Site Collection vs SubSite

    Anyone can give me best practice on create site collection vs subsite? I generally have request for create site ,but struggle to deal with what is best. here what I have so far
    projects.contoso.com (web app and top level site collection)
    teams.contoso.com (web app and top level site collection)
    now let say I have user request for create a project site (project) that have unique security. I can take two route
    1) create a separate site collection -  projects.contoso.com/sites/projectX
    or
    2) create subsite -  projects.contoso.com/projectX (I have to break inherited here since it need it own group or individual user)
    I see both problem as I have more request and more request.
    Note: there are no other specific requirement like (specific feature, backup, sensitive data...)
    Any Thought?

    In my opinion, you create a sub-site when at least one of the groups of the root site can have access to the new sub-site.
    Otherwise, you should create a separate site collection. Every site in a site collection can see or use all the groups created in that site collection so it's very confusing and disorganized to have sites with no common security in the
    same site collection.
    And yes you might regret your decisions sometimes but it's impossible to know how a site will evolve.
    Don’t forget that by using multiple site collections:
    You won’t have a common navigation
    You cannot share site columns + content types unless you use a content type hub
    You cannot share list templates, site templates
    The content query web part is not working within multiple site collections
    It’s not possible to copy / cut/ paste using Content and structure from one site collection to another
    Usage report? (I would have to verify in SharePoint 2013)
    You can add a space quota to each site collection
    Each site collection can have different features
    Each site collection can be associated to one content database
    Hope it helps.

  • How do I delete a Gmail message on my phone, but keep it on the server so I can deal with it on my iMac?  What settings are required, or is this impossible?

    How do I delete a message in my gmail account, but keep it on the server so I can see it on my iMac when I log into gmail.com?  I set up the gmail account on my iphone NOT through the colored "gmail button" but through "add account."  And I've enabled IMAP in the settings when I log in on my computer to gmail.com.
    Thanks!

    Gmail uses IMAP. It's designed to keep all of your devices in sync. If you delete on one, it will be deleted on all of them. However, deleted means that it's in the trash. You could always retrieve it when you're using your Mac. Or, just create a folder that you move things to to deal with later.
    Best of luck.

  • Best practice in gallerys

    we are making a gallery that will have thumbnails and larger
    images....simple click the thumb, and the focus goes to it's larger
    counterpart. When the large image loads, the thumbs follow. The
    question is, should we load thumbnails from another image(ie , much
    smaller images, scaled less than 75px) or duplicate the large image
    to a thumbnail size....what are the pros/cons? Makes sense that
    scaling down the big one would be pretty fast as it is already
    loaded...but would it not be heavy resource user?
    we are using cs3

    Hi,
    Others will have different ideas that are probably more useful, but I personally like "green field" opportunities like you're describing.
    One thing you have to figure out is what technology you want to develop and maintain your components in. Once built, they can be exposed as web services, Java POJOs, EJBs, .NET assemblies and databases which Oracle BPM can consume. Pick a technology that your team is most comfortable with.
    A best practice preference would be to use a Service Bus as the intermediary layer between Oracle BPM and the components consumed if you own one. If you don't, Oracle BPM will need to consume the components directly.
    I'd use Oracle BPM for what it was intended for. Sometimes I see the architecture "flipped" where the customer wants a third party UI to drive instances through the process via the API. While this will work, it's a lot of extra work to rebuild what Oracle BPM does a good job of OOTB.
    Dan

Maybe you are looking for