cancel
Showing results for 
Search instead for 
Did you mean: 

Comparing a Decision table column with a Range of values

former_member188685
Active Contributor
0 Kudos

All,

we are trying to validate the business data with Rules maintained on BRF, with in the process we have decision table set up on BRF. We are looking to validate one of the column on BRF Decision Table with the range of values that are stored on internal table.

We have one option>

1. We can loop all data and validate each and every row on DT

But we feel it is a performance, so we are looking for alternate approach to process.

In plain words how best we can achieve this in validating the range of values from ECC with a single column of decision table.

Best Regards

Vijay Dudla

Accepted Solutions (0)

Answers (1)

Answers (1)

christianlechne
Active Contributor
0 Kudos

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