Every so often, I will get an email or read a forum post from someone wanting to know how you can start a process without selecting an employee...since everything we see in the "start application" seems to require an employee, and yet SAP documentation talks about the ability to launch processes that don't. I am sure these emails or posts occur only after someone brings this up as a requirement in their own project for some process or processes. I'm even more sure the answer in these requirement gathering sessions is something along the lines of "uhm sure...we can do that...SAP says it's possible". But how and where does this magic happen? Hopefully this blog saves you that look of bewilderment or the little voice in your head saying "Oh crap! How are we gonna pull this off?!?!?!?!" when faced with the same requirement on your own implementation.
Let there be none!
At least for me, it's difficult to think of more than a handful of HCM processes where an employee wouldn't be involved from the beginning. To me, that just makes sense. But of course, there are those few out there....which is why we must discuss this in the first place. Rather than talk in generalities or "this setting does this" vagueness, I think it will be easier to walk through one of SAP's own examples in order to understand what and where you must make your own settings to enable a process to launch without a start object.
Probably the best sample process to look at will be the US "Hiring" process (HIRE_10). The process allows the initiator to start a hiring process for a new employee. Therefore, the employee's number (PERNR) won't be known at the beginning and will be assigned later.
HCM P&F configuration (HRASR_DT)
The first place we will look is at the HCM P&F configuration for this process via the t-code HRASR_DT (the Design Time for HCM P&F). Here, we have two key configuration settings:
(1) Validity Period for Process
In this area of configuration, we must make sure to select (ie. "check") the setting "No Start Object".
(2) Process Groups
Next, we make sure we have assigned our process to a Process Group. Furthermore, we must make sure the column "No Start Object" is checked for our Process Group.
Per SAP help documentation,
"If you set the No Start Object indicator for a process, you can only assign process groups to it that also have this indicator set."
So that's pretty much it from the backend configuration end of things. Now our process is all set to launch without needing a start object. Great. So now what? We still can't "get" to the process. I mean, if you think about it, how can we get to the process in our process list if we always have to pick an employee first via the "start application" (*see EhP4 enhancement mentioned below). That would make all this prior configuration pointless, eh? So we must be able to define/build some kind of "direct" means to access this process. Well, we can and will.....via a portal iView.
Portal object configuration
Let's follow the rabbit hole further down (sorry, I have Tim Burton's upcoming Alice in Wonderland movie on the brain! haha) through the portal objects themselves....the portal role, to the portal page, to the iView itself for our Execute Hiring example.
From the standard HR Administrator portal role,
...we follow to our page object where we find our iView...
...and then open our iView object...
...and there it is....the magic....one little line of application parameters...
But what does it mean?!?!!? Well, those application parameters are what is passed via our iView to the actual application "behind the scenes" of the iView (iViews are really just litte "windows" to the real content behind them). In our case, you can see in the iView settings that our application is ASR_PROCESS_EXECUTE, which is the WebDynpro ABAP application that is our HCM P&F "Start Application". Looking at t-code SE80 for the webdynpro component/interface HRASR00_PROCESS_EXECUTE and selecting our ASR_PROCESS_EXECUTE application, we can see that it does in fact have the following parameters:
I will not go into "tracking ID" to in-depth (it's really pretty cool, but it will be covered in another blog). Let's just say this value is tied to table T5SSCTRACKXSS.
You can find the table entry there for "EXECUTE_HIRING". Also, if searching on "where used" for that field, you can see where it ties into the Process Object interactions. More on that later.
Our real "worker" and star of the show here is the PROCESS_GROUP parameter that we passed to the ASR_PROCESS_EXECUTE application via the iView. Referring to our iView, we see that we passed PROCESS_GROUP=HIRE. Now, looking back to our configuration in HRASR_DT, we see again..
So we are telling the ASR_PROCESS_EXECUTE application to launch our process in this process group. Because it is set to not require a start object, it knows to jump us right into the process group itself.....and that's how the magic happens. Viola!
But I want my no-start-object Processes in the Process Selection List!
As of Enhancement Pack 4, there is new functionality added that allows the user from the front-end to select from processes that do not require a start object. This might sound odd...as in "but couldn't we do that before"...but it isn't.
As you saw in the discussion before, a user would "jump" directly into a process that did not require a start object by clicking a link....such as "Hiring". This would then take them into the form editing step itself, by passing the employee (object) selection view. We controlled that from the backend.
However, with EhP4, the user can now select on the frontend that they wish to initiate processes that do not require a start object to begin. In this way, they can see a list of all such processes rather than initiating them by individual links.
As you can see, on the employee selection view, there is now a checkbox that allows the user "Skip Employee Selection". When checked, the employee selection options disable, and the user can click the "Select Process" button to move to the next view. The user will then see the list of all processes configured for starting without an "object" (ie. employee). As an example of this, look at the SAP sample process Special Payment (Process Start Without Employee Selection).
This new functionality happens due largely to an enhancement to the standard workflow tasks for Edit Form (our old tried and true favorite) and Process PD Form (new with EhP4 as well). However, we still must use the "old" configuration to mark our processes as Process without Start Object from the backend as well.
So there you have it....your way....with or without a start object for your processes. You should now know what's involved in setting up processes with no start object. The real-life examples/usages of this might not be immediately obvious, but once you do come across this requirement, you will know exactly what to do.