cancel
Showing results for 
Search instead for 
Did you mean: 

Maintenance of Decision Table with multiple matching results fails

former_member102219
Participant
0 Kudos

I've just started with BRF+ and am trying to use it for disaggregation scenario. I want to maintain a structure like this:

Source1    Target1 30%
Source1    Target2 70%

My Source is, actually, several fields, and Target is several fields, too. When I enable "multiple match mode" in the decision table, the system tells me the result has to be of type Table. So I created a Table of Target+% fields.

But then if I try and maintain the decision table, I get an error when trying to enter values in the Target. The error is generated in method IF_FDT_EXPRESSION~SET_RESULT_DATA_OBJECT and says "Invalid result data object &1; only elementary data object is allowed."

Does it mean I have to maintain the decision table differently (e.g. can I just upload it from Excel, and what should be the structure of my Excel file), or I can't use it for this kind of one-to-many relationship?

Accepted Solutions (0)

Answers (2)

Answers (2)

Patrick_Gans
Participant
0 Kudos

Hi Roman,

Just clarifying here, do you have any logic that the table needs? ex. if source= "dogs" then target1 = 40% or if source="cats" target1= 50%?

I need a bit more information before making a suggestion. I don't know your use case exactly. But considering the flexibility of the decision table due to the fact that you can use actions as an output of a match, it should be able to work.

You are able to have an output structure also, example. If column 1 matches, set target1= 40% and target2=60%. If column 2 matches, set target1=20% and target2=80%.

Hope this starts to lead you to an answer! We've started to use BRF+ for Collections Management for Utilities and it's an amazing tool. Wish I would have known about it 5 years ago!

Patrick

former_member102219
Participant
0 Kudos

Hi Patrick, following your example of dogs/cats it would be something like:

- if Source=DogFood, then {(Target:Sparky;Ratio=20%),(Target:Rex;Ratio=50%),(Target:Angel;Ratio=30%)}
- if Source=CatFood, then {(Target:Felix;Ratio=50%),(Target:Smoky;Ratio=50%)}

So far I tried to create [Target;Ratio] as a table structure and add it to the decision table, but I can't maintain it. In fact, maintenance seems to be forbidden for anything except elementary data types. Am I missing something? Thanks!

former_member102219
Participant
0 Kudos

Pinging carsten.ziegler 🙂 thanks!