Skip to Content
avatar image
Former Member

BRF plus - Multiple result value from a db lookup

Hello GRC experts,

I have a query regarding DB lookup in BRF+. An agents rule have been created. I have a Z table which includes departments and their respective HoDs. There can be more then one HoD for a department.

So, using DB lookup, I want to fetch all the HoDs associated to a particular department and the result value(s) would be the approver agent(s) for one of the stages in MSMP.

Using multiple DB look up, it is possible to fetch single value of HoD for a department input value. But I am not able to fetch all values for HoDs of a department entry in Z table.

Your valuable suggestion are highly appreciated.

Thank you - Naveen

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Sep 26, 2017 at 10:10 AM

    Hi,

    with the DB Lookup expression, you are able to fetch several values in one call. Selection mode is "data retrieval" and the select has to be specified as "All Entries". See also screenshot below

    Best regards,

    Christian

    Add comment
    10|10000 characters needed characters exceeded

    • Hi

      the issue is the mechanics of the decision table cells: Each cell is evaluated to check if the condition specified in the cell is met. In your case your DB Lookup would return a table of values and the decision table is not able to deal with that when evaluating the cell.

      Your scenario is certainly better covered by the approach Mike is proposing in the second answer to this question.

      Best regards

      Christian

  • Sep 26, 2017 at 07:07 PM

    Why not maintain it all in a decision table? No lookups needed.

    Add comment
    10|10000 characters needed characters exceeded

    • You can up- and download DTs to and from Excel, very easy to maintain, makes it feasible to email out to users.

      You can group or list criteria in a single DT condition, directly in Excel.

      DEPT        HOD
      [100..199] JONES

      BRF+ also provides automatic functions to compact matching entries into one.

      It's so much easier...

  • Oct 27, 2017 at 09:28 PM

    Naveen,

    I came across similar requirements than the one you are describing. The "ugly" part about maintaining approver tables in BRF+ (e.g. in a decision table) is that you have to transport the change each time an approver changes.

    It is definitely achievable with BRF+, but easier with a function module. Have a look at the default agent rule that is provided by SAP. It's a couple of lines that need to be adjusted and you are ready to go. You can start from SPRO > GRC > Access Control > Workflow for Access Control > Define Workflow-Related MSMP Rules. Instead of choosing BRFPlus rule pick "Function Module Based Rule". The generated rule will come with most of the coding required. Implement your own rule processing logic to read the Head of Department and you are ready to go.

    If you need some assistance with the function module, let me know. There are also some blogs out there that show similar scenarios.

    Cheers, Alessandro

    Add comment
    10|10000 characters needed characters exceeded

    • You've either missed the point, misunderstood, or have a gap in your understanding of BRFplus features.

      If you use the 'Master Data' storage type then no transport is needed. It can be maintained in production, using Excel if you wish. Authorisations can be applied. If done properly, it is safer than a transport as it can be tested in production before it is activated. You can use the full functionality of BRFplus expressions inside your table, a feature which IMHO on it's own already provides a huge advantage over two-dimensional SM30 tables. Shall I go on? :-)

      As an aside, I think the whole idea of maintaining agents in any form of table is an inferior solution to start with. Going via HR OM you can maintain agents and approvers for all scenarios in one go.