on 2013 Apr 24 6:29 PM
Hi,
I was wondering if it is possible to also output the condition columns in a decision table, or at least know which row it is so I can latter fetch it.
My problem is, I also need the condition column information further ahead in the flow and I am not seeing any options on how to get it.
Can anyone help me?
Thank you,
FC
Request clarification before answering.
Hi Filipe,
if I understand you correctly, then this is what you have to do (the easier part, returning the row):
In result columns you have to give one of your own variables, let's say LV_ROW. In each column you manually add numbers (from 1 to n):
So as output you will also get the row number in which the conditions were met.
If you want to have more sofisticated approach, you will have to explain your requirement in details.
Best regards
Nana
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Filipe
I'm interested to know why you need to see the condition columns of the matched row of your decision table. As Nana suggested, maybe if you share your requirement (in its business context) then someone might be able to help reshape your decision table (or other expressions) to meet the requirement.
Regarding your specific question about returning the condition columns of a matched row... Even if there was an easy way to return these values, I'm wondering how you might use the values if someone enters a string pattern, a not-equal-to operator, multiple values in a single cell, or any of the other types of complex conditions? It seems like any code or BRF+ logic that processed these conditions would have to be very complex too.
Kind Regards
Glen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nana, Hi Glen,
Thank you for your feedback!
Yes, it is a tricky requirement, let me try to explain it better.
Lets say my BRF+ Function its called with the following arguments:
My decision table has the following information:
VAR1 | VAR2 | VAR3 | OUTPUT1 | OUTPUT2
X [Y...Z] 10 100
After my decision table match, I need to call an ABAP Function Module or Method. And the tricky part is, if the the matched line has a column with value (in this case VAR2 and VAR3 have), I have to call the FM/Method with that input value (in this case X and Y). If the rule does not have a value for the column (like VAR1) I cannot use that input value to call the FM/Method.
In the end I would need to call the FM/Method with: X, Y (not with 1234).
It would be really easy if the decision table could return the whole line, and not only the output columns, but I guess that is not currently possible.
Best Regards,
FC
Hi Filipe,
Yes, directly getting the whole line as output from a decision table in BRF+ won't be possible. However, the closest you can get to that is probably by making use of intermediate variables (elements in BRF+ parlance) to which you can assign the values of your condition columns before calling the decision table. You can then define these intermediate variables as result columns in the decision table. Make sense?
Regards,
Akshat
Hi Filipe
When you say that a FM/method will be called after your decision table match, do you mean that it will be called in a subsequent rule in your ruleset?
Rather than calling a FM/method after the decision table, it is technically possible to embed a Procedure Call in a result cell for each row. This way, the result of each row can be populated with the procedure call expression (with appropriate parameter mapping) that matches the type of conditions that are populated in the condition columns. For example, If VAR1 and VAR2 are populated in a row then you embed procedure call expression "Proc - 1 and 2", but if VAR2 and VAR3 are populated then you embed procedure call expression "Proc - 2 and 3". (I just made up the names of the procedure call expressions. )
Is embedding the procedure call expressions in a decision table result column a feasible option for your rule?
Regards
Glen
User | Count |
---|---|
82 | |
29 | |
9 | |
8 | |
7 | |
7 | |
6 | |
6 | |
6 | |
6 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.