Skip to Content
avatar image
Former Member

BRFPlus Transports - Ability to maintain Decision table entries in PRD

Hi BRFPlus gurus,

We are using BRFplus rules in place of customizing tables to maintain some of our business rules.

The way I want to see this working is.

1) Define Application, Function, Expression (decision table), Data objects in Dev - maintain some test entries in decision table in dev to test.

2) Transport all the objects created in step 1 except decision table entries to QA and evntually to PRD.

The problem that I am facing is.

1) When I create an application I get to choose Storage Type: System, Customizing or Master Data.

I choose Customizing and that way the application and all the underneath objects get included in the customizing transport and is transportable. What I am not sure is how to exclude decision table entries from the customizing transport.

2) In Target systems (QA/PRD) we are not able to maintain any object, including decision table entries. We want users to be able to maintain decision table entris in target systems.

How can this be achieved? Is this even possible?

Also I will appreciate if someone can help me understand storage types (System, Customizing or Master Data) with examples. I see that if 'Master Data' type is used objects cann't be transported. If 'System' type is used, BRFPlus GUI screen exits while trying to enter transport number and Save. Customizing type is the only type I was able to use for my scneario, but I was not able to exclude decision table entries from the customizing request.

I will appreciate any ideas.

Thanks,

Saurabh

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Feb 11, 2010 at 05:06 PM

    Hi Saurabh,

    This is not possible in NW 7.0 EHP1.

    With NW 7.0 EHP2 you can do the following:

    1. Create application, function, data objects, maybe also some rules as system/customizing object. This can be done in a dev system. Transport to other systems.

    2. Create application ruleset, rules, expressions, ... as customizing/local object.

    This comes close to what you need.

    Today, all objects are part of one application. Means all behave same. Means you cannot create customizing objects, transport and change in the productive system. Usually the productive system does not let you do changes in customizing. If this would be possible, each update (transport from dev to prod system) would overwrite your data in the productive system. You need to have clear responsibilities and originals.

    For explanation go to SE11 and check the table types:

    - S (system) - like code, cross client

    - C (Customizing) - like customizing, client dependent

    When your screen exits on input of a workbench transport, pls check for notes and/or create a message for SAP.

    BR,

    Carsten

    Edited by: Carsten Ziegler on Feb 11, 2010 6:06 PM

    Add comment
    10|10000 characters needed characters exceeded

    • Hello Carsten,


      Thanks for a clear and concise update. I have a similar requirement where I need create application ruleset, rules, expressions as local objects, but the rest of the application as transportable.


      Your reply seems to suggest this functionality should be available in NW 702, but I can't find it in BRF+. I can confirm we are on NW 7 EHP2. The setting for whether something is transportable or local is still at the application level and not at individual object level.


      I have also read through some documentation on EHP3 for NW 7 and it doesn’t mention anything about this functionality being delivered as part of EHP3.


      Would you be able to provide more insight in to when can we expect this functionality to be made available?

      Kind Regards,

      Jay



  • avatar image
    Former Member
    Feb 11, 2010 at 05:36 PM

    Hi Carsten,

    Thanks for responding, I really appreciate your help.

    Correct me if I am wrong - Does not this limitation partly defeat the purpose of extracting business rules from the application coding and maintaining it centrally?

    E.g. currently we have several rules that are maintained in customizing tables. For visibility and other purposes, we wanted to use BRFPlus.

    In our current world, we create custom tables

    Delivery Class = 'C' customizing

    Data browser/Table view maint = 'Display/Maintenance allowed'

    These custom tables and associated maintainence views are transported from Dev to PRD and users maintain these entries directly in PROD. How can we achieve this using BRFPLus? Is there a table maintenance type of mechanism for maintaining BRFPlus decision table entries if it can't be changed in PROD?

    With the project we are working on, we wanted to use BRFPlus for similar business rules maintenance. and Decision table is the most suitable option here. If we can't maintain decision table directly in PRD and if we have to move transport everytime from DEV, it takes away the flexibility of changing rules faster and in a way partly defeates the purpose.

    "1. Create application, function, data objects, maybe also some rules as system/customizing object. This can be done in a dev system. Transport to other systems.

    2. Create application ruleset, rules, expressions, ... as customizing/local object." - Just to make sure I inderstood this correct, In EHP2 is I create an expression as local, I wont be able to transport it and If I create it as a customizing it won't allow me to change entries of decision table in PROD, so how would it work?

    Thanks once again..

    Saurabh

    Add comment
    10|10000 characters needed characters exceeded

    • I think what is actually being talked about here is not a table normally defined as "C" in the ABAP workbench but one defined as "A" for "master and transaction data".

      Traditionally this is used for when the rules change often, maybe several times a week, maybe even during the day. that is 100% the case for the scenario I have chosen the rules change every night, which i thought made it a perfect match for BRF+.

      In such cases having to enter the new rules and then go through a complicated transport procedure with many people signing off is not viable.

      Thus you transport the table defintion - but not the data - to production, and the business users maintain the rules directly in production. This keeps the concept of originality as discussed above.

      BRF Plus was, I thought, intended for situations where the rules change often, and you want the users to maintain these rules, thus abstracting them from the ABAP program.

      So the requirement here - a very common requirement I would have thought - is to be able to set up the framework of the rules in DEV, transport that framework into PROD and have the master data portion e.g. decision table entries maintained directly in production.

      It appears from the answers here that this is not as easy in BRF+ as I had hoped. I am on 7.0 EHP2 and I cannot see how to create the ruleset as a master data object without creating a new application which is a master data application. By the way, if you try and copy a ruleset, it asks you what application to put the new ruleset in,  and then if you press cancel you get a short dump.

      I am going to try and persevere with this, even though it looks like a big workaround is needed.

      Cheersy Cheers

      Paul

  • avatar image
    Former Member
    Apr 11, 2010 at 09:33 PM

    Hi Carsten,

    I think I failed to completely explain my scenario earlier.

    A lil comparison with SAP ABAP Workbench world: SAP allows us to create Application/master Data type of tables in DEV, we transport this table object to QA and PROD, and we maintain entries for this table directly in PROD.

    If I were to replace such table with BRFPlus decision table, how can we make this happen? Is this how it will work?

    1) Create an expression (decision table) and corresponding objects (application, data objects, etc.) as a Master Data Object in DEV.

    2) When Completed, Add these objects to a 'Customizing Transport' (this does not seem to accept Modifiable Transport like SAP tables do) using 'Transport' button and transport it to target systems.

    3) In Target systems (QA, PROD), create constant expressions for decision table cell values, and add those expression in decision table cells.

    If the answer is yes, the only problem I see is - If I created any consstant expressions and maintained them as decision table cell values in DEV for Unit Testing, I will have to make sure that I exclude them from the transport so that they don't make it to QA and PROD, which I think is managable with some development discipline.

    Thanks,

    Saurabh

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Saurabh,

      what you want to achieve needs NW 7.0 EHP2. we did not manage to get this into 7.0 EHP1 because of time.

      In NW 7.0 EHP2 you can create a function incl. data objects as system objects. Then you may create a ruleset as a customizing object and have decision tables etc in that rule set.

      It is possible to have more than one ruleset being assigned to one function.

      So you may have a rule set being transported into the productive system. And another one being maintained in the productive system directly. With priorities you can define which ruleset is processed first.

      E.G. you may have a default behavior coming into the productuve system by transport and exception behavior being maintained directly in the productive system. In NW 7.0 EHp2 we still do not allow to mix content inside of one decision table. Instead you need to work with two decision tables. You may use a precondition to decide if the second decision table or rule set should be evaluated at all.

      BR,

      Carsten

  • avatar image
    Former Member
    Apr 12, 2010 at 06:43 PM

    Hi Carsten,

    As always, thanks for your help.

    Can I please ask you why the steps below will not work with EHP1? Is that because in target systemsBRFPLus it would not let me change the decision table?

    1) Create an expression (decision table) and corresponding objects (application, data objects, etc.) as a Master Data Object in DEV.

    2) When Completed, Add these objects to a 'Transport' and move it to target systems.

    3) In Target systems (QA, PROD), create constant expressions for decision table cell values, and add those expression in decision table cells.

    Thanks,

    Saurabh

    Add comment
    10|10000 characters needed characters exceeded

    • HI Folks

      Please don't resurrect old threads.  A lot changes in 6 years. 

      Create a new discussion and add a hyperlink to the old one.

      Terri - create a new discussion but first have a look at Christian Lechners blogs on the BRFplus API - some customers have used the API to do their own minimalist version of DSM so that may also be an option if DSM is off the table.

      I'll close this thread.

      Jocelyn