Skip to Content

Inconsistent Results From BRF+

I have a BRF+ application that is currently in development and is producing strange results.

The ruleset in question has a rule with a decision table that acts as a conversion table. The decision table is set to return the first result found and has a wild carded entry at the end to ensure that a result is always returned.

There are cases where this rule does not appear to fire at all. Despite the objects being active, if I reactivate function or the decision table it begins to work again.

I cannot pinpoint the activity that is causing this to happen. As I said, this is part of active development, and that could be related, but why does an activated object require reactivation to work properly?

This is a NW7.02 with SAP_BASIS at SP 09.

Any advice that can help me find what is causing the issue, where I can l look, or SAP notes available, I would appreciate it.

Best Regards,

Tony Clark

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Posted on Sep 17, 2013 at 08:30 AM

    Hi Tony,

    Is it possible that what you have changed, is a sub object on which the rule depends? That might require reactivation in that case depending on the change being made. I tend to always drill down from the function when making changes to complex rules and rulesets... it helps to reinforce what might be impacted and makes it a little more obvious that the rule object requires reactivation.

    Also just checking you are aware that if OT_RESULTS is a table then "Change OT_RESULTS" is effectively an overwrite of OT_RESULTS? Just in case its really firing but just not working as you expected...

    Hope that helps a little

    Rgds,

    Jocelyn

    Add a comment
    10|10000 characters needed characters exceeded

    • I believe that I found the culprit in the generated code.

      In the process_pure method of the generated class the code for the decision table that returns the first match has a statement that will never be reached.

      1. _v_s_dtable_res_wa-reference_table = `LOIPRO02_E2AFKOL002`.

      2. _v_s_dtable_res_wa-reference_field = `MATNR`.

      3. _v_s_dtable_res_wa-reference_value = is_production_order_header-material.

      4. _v_match_found = abap_true.

      5. exit.

      6. append _v_s_dtable_res_wa to _v_temp_for_context_temp. "must be standard table!

      7. endif.

      8. enddo.

      The append statement on line 6 in this code block will never get called and thus the results will never get returned.

      I have not looked into the code generator to see where this is created.

      Regards

      Tony

  • Posted on Sep 23, 2013 at 09:35 PM
    An OSS message has been logged.
    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.