Embracing Evaluation Paths (or How I Stopped Worrying and Learned to Love OM)
Every so often, I get a comment or email from a customer or SpinifexIT blog reader that says something like this: “Can you write a blog post on evaluations paths? You seem to be an expert on that subject”. I usually giggle. Flattery will get you everywhere. Let me start by saying I am no expert and I’m skeptical of anyone who says they are an “expert” in anything. The only thing that makes someone an expert in a field or topic is that they’ve made more mistakes at it than most people and by making those mistakes they are humble enough to admit they’re not an expert. I have made mistakes in SAP’s Organizational Management (OM) module and I’m sure I’ll make some more. With that said, I will give my humble description on how evaluation paths work and, more importantly, how you can use them to create reports with our Easy Reporter solution. Believe it or not, evaluation paths are actually pretty cool.
The way I like to describe evaluation paths is that they are like a set of directions. In an evaluation path, you have a starting point, a list of directions on how to get where you’re going, and an ending point. With an evaluation path you tell SAP which OM object (like a person, org unit, position, etc.) you wish to start with and give it directions to follow on a specific path to get to another object. You can report on all the objects and values along the way, not just the start and the end, but for this blog post we will keep it simple. Start somewhere and end somewhere.
Let’s talk functional before we talk technical. In our example, functionally I want to find the “Chief” of an employee. The Chief is commonly used in Manager Self-Service (MSS) to indicate a position that has the ability or responsibility to perform certain actions and report on a specified group or organization. There are a few relationships we have to go through to find the person who is the Chief. We all know that employees are assigned to positions in SAP OM, so let’s will skip that. But we will note that a Chief position is tied to an organizational unit (org unit) in OM.
So here are our directions:
- Start at the employee’s org unit
- Follow the chief relationship from the org unit to the position that holds the Chief
- Once at the position, follow the “holder” relationship that tells me the person holding the position (i.e., the Chief)
Like I said earlier, evaluation paths are simply sets of directions. This sounds somewhat complicated, but SAP has laid out evaluation paths to be followed in exactly that manner, like a set of directions.
This screenshot above is from SAP and is the evaluation path they deliver that allows us to find the Chief of an org unit. When you think about it, it’s rather simple. It is, in fact, a list of directions on how to get where we are going. The first line (10) says “start at an org unit, and follow the chief relationship to a position”. The second line (20) says “take the last position you found from the previous line and follow the holder relationship to a *”. They use an asterisk for the related object type here since other objects besides than person can be the Chief of a position, but I have not seen that often. They use * to cover all possible object types, but in our case we’re looking for the person object.
And that’s an evaluation path in a nutshell. It is a set of directions in a table format that we can follow. This is a simple example and for those ABAPers out there, there are plenty of function modules you can use to write code to traverse the org structure using evaluation paths. But, at SpinifexIT, we like to keep it simple for those who can’t write code or have no desire to. If you understand the concept of evaluation paths, you can use Easy Reporter to pull in data from OM using the paths.
This screenshot above (click the image if you need to see it in larger format) is a sample report I built for a client to audit their org structure to find employees who do not have a Chief because in their company, every org unit must have a Chief. It displays the Chief of every org unit going four levels up and then marks if a specific person is missing a Chief. How did I do this? Easy Reporter has some pretty cool, easy-to-use fields that make it simple to pass in an evaluation path and get back what we are looking for.
If you’ve seen our webinars, you know that adding a field to a report is as simple as “drag and drop”. Easy Reporter contains fields called “PD Fields” that you can drag onto your report and then customize with an evaluation path to traverse the org structure. You can see that I told the field labeled Chief of Org Unit to start at the employee’s Org Unit, follow the BOSSONLY (Chief) evaluation path, and pull out the Text value (name) of the person at the end of that path. I didn’t have to call one function module or use any of an ABAPer’s time to do this.
If you’re wondering how I got the report to pull all of the Chiefs for the next four levels of the org structure, that’s a story for another blog post. But, as you can see, it is possible with Easy Reporter. I hope you learned something today about evaluation paths. Happy Reporting!