Actions in SAP CRM Part 1: Action profiles and determination
Within SAP CRM, actions are pieces of logic that are related to a transaction. They are executed conditionally, either automatically or manually. Examples of actions are: sending out an order confirmation after saving the order, creating a follow-up task when a certain status has been set, or completing an order after a period of time. These actions are all available in the standard system, but you can easily create your own actions and assign them to your own pieces of logic (called: action method) and conditions. Besides giving a quick overview of what actions are about in this blog, I’d like to share some ‘expert’ tips and tricks that I’ve learned over the years, including action profile determination, a relatively new and little known functionality that was introduced in CRM 7.0. In this blog, I’ll focus on action profiles and action determination. In the next blog, you’ll read all about action conditions.
Actions are defined within an action profile, which in turn is linked to a transaction type or an item category (see also the next paragraph on determination). In the action, you can set up a number of parameters, including:
- When the action should be executed (manually/automatically, for instance)
- Whether the action is partner dependent or not (and, if so, for which partner function)
- How often the action should be executed
- What should the action do? Options include:
- send out a mail/fax/print
- execute a method (either standard or self-made)
- trigger an alert
Example of action details
If you want to reuse action profiles you can setup a common profile and assign it to other profiles. This can be very helpful if you have some (but not completely) overlapping action requirements for similar objects. Maybe an example clarifies this:
- In a quotation you’ve set up two item categories. In both cases, you’d like a follow-up task to be created in case the item status is set to ‘Lost’.
- In only one of the item categories, you’d also like to setup an additional action send out an e-mail too.
You should then create one common profile with the follow-up task action, and create two action profiles in which this common profile is linked. In one action profile, you also set up a second action for sending out the mail. Advantages of such a setup with a common profile include:
- unique actions can be maintained more easily, and
- additional requirements can be made available with less effort (think of a third item category with yet another combination of actions).
In the picture above you see how to work with common profiles. Creating a common profile is simple: you create an action profile and flag the Common Profile-flag. You can then select the profile for use in a normal action profile.
Hint: conditions are setup for the ‘complete’ profile, i.e. a combination of the actions from the used common profile and the actions of the normal action profile. So: you can reuse a common profile in several action profiles and still have flexibility in the prerequisites (conditions)!
Action profile determination
In older versions of SAP CRM, you could simply assign an action profile to a transaction type or an item category. Once linked, every new object would include all the actions of the profile that is linked to it, and that’s that. Being quite rigid, this sometimes necessitated the creation of another item category or transaction type, only because you needed more flexibility. This has been overcome by the introduction of action profile determination.
Where to find action profile determination in IMG
The principle is quite simple: instead of linking an action profile directly, you can opt to link an action profile determination procedure to a transaction type or an item category. It works exactly like a price procedure: you can use fields from the field catalog to set up condition tables and you set up a number of access sequences to find the correct action profile(s). Please note the (s) in the last sentence: it is possible to find multiple action profiles, or to both assign a profile directly and have one found through the determination. This can easily be called a small revolution in action customizing in CRM: it is now no longer required to put all the actions you need in one single action profile! Companies can use action profiles in much more flexible ways by combining the action profiles they need in specific scenarios. I’ve used this determination technique to be able to have one single item category with different action profiles based on the product that was entered. In the example below you see how this was done. Please note that in this case, we put the product ID directly into the condition, but you could also use product groups or hierarchy levels to set up this functionality. Because a field catalog is available, you can use any of the fields you use in pricing to determine action profiles.
The picture above shows how action profile determination works. As usual within SAP CRM, the logic at runtime needs to be configured the ‘other way around’:
- Create or re-use one or more condition types
- You can create your own condition tables
- Do not forget to link the condition type(s) to a (new) condition maintenance group
- Create the conditions
- This can be done via general condition maintenance
- Setup an action determination procedure
- Assign the procedure to the transaction type or item category
This ends this blog. In the next blog, I’ll focus on action conditions.
Hi Joost Janssens,
I have a question on action profile determination process, please help me.
I have 4 action profiles and action profile-1 asssigned directly to the item category at definition level.
And for remaining 3 action profiles I have created action profile determination procedure and created condition records with 'Vendor' field specific like below..
1. vendor=xxxx then action profile-2
2. vendor=yyyy then action profile-3
2. vendor=zzzz then action profile-4.
Is it possible to assign both action profile and action profile determination procedure to one item category/transaction type?
If yes how it works, which one will consider first?
Yes it is possible to assign both an action profile and an action profile determination procedure. The system will then use both (if an action profile was determined as well). So in your case I would advise to create another condition table without the vendor ID which should be used for all other vendors. You can create an access sequence with two steps: first check if a condition record can be found for the specific vendor. If not, the second step in the access sequence should return you the 'backup' action profile.
Thanks for your update. I have created two condition tables as you said, created condition records and execute the process.Action profile determined but I got a different issue in this determination process.
In our Return item category application data there are two different partnet functions one is 'Ship to party Return Vendor' and another one is "Vendor". Both will have different partner IDs but both are Vendors. But the action profile determination procedure assigned to this item category is considering 'Ship to party return vendor' ID always to determine action profiles. But in my requirement It should consider 'Vendor' ID.
And another strainge thing is if I delete 'Ship to party return Vendor' from partner functions then the system is considering 'Vendor' partner id to determine action profile.
In my case both partners are mandatory. I tried by included additional field 'Partner function' along with 'Vendor ID' in condition table. But it is also does not work.
Please help me to sort it out
Why this determination procedure always considering 'Ship to party returns Vendor' first? Is there any other way to make the system to consider a specific partner function ID?
Thanks In Advance,
This is a very specific case, so I am not sure I can be of help. Adding the partner function is a good idea,but as only a combination of function + partner ID should lead to a profile to be linked, this might be hard to establish without an enhancement. Because in the end this is just condition technique, you should look into the possibility to assign a requirement in the determination procedure. For documentation see IMG: CRM > Basic Functions > Actions > Actions in Transaction > Business Add-Ins > Add-In: Requirements for Determination Procedure.
Thanks Joost. I will try to establish this with an enhancement.
Other than that, I have another question.
Where can I see the the 'Determination Log'?
I did not find it any where in the webUI screen like how it is shown in this blog.
Determination Log, should be under Schedule Actions in sales document or other, that you opened.
Hi, I have a problem with creation of simple action with Method call. What I need is to get method working right away after clicking by user New Opportunity (to work in background and make some changes before He/She will see new opportunity forms to fill). I can't make it automative, it works only when I select it from Assignment block Shedule Actions. How to configure this kind of action? (no start conditions we tried is working for us, so it must be sth at the beginning of action definition).
You can check the following:
Thank you for your instant replies.
I have a query about the action profile i.e,.."Changeable in dialog" and "Exe in dialog" these are the two options which were checked during the action profile creation.Kindly let me know the importance of these two and what does it lead to if these are unchecked.Thanks in advance,..
The way I understood it, these two options give you the option to allow an end user to change (i.e., remove/add) and execute (immediately by pressing a button) a certain action. If you don't set the flags, the end user cannot do these things himself. So basically it is a way to allow your users to influence the automatic scheduling and starting of actions.
Probably it's best to play around with it when your setting it up, so you can see if it is of interest for you.
Thank you very much for this post !
I have created my action profile and link it to the item as my date profile on service request is on the item level. However, when executing the action, i've got the following error:
"Recipient partner function type was not passed as action parameter".
However, i did not tick the box for partner determination in the action profile and either added a partner function into action parameter.
Would you know what the error referring to?
Thanks a lot,
I believe this error message is coming from the action method you included. This seems to be expecting a partner but your action is not partner-relevant. If it is a standard method, it might not be possible to run this without supplying a partner. If it is custom-built, you should check with the developer who made it.
Thank you very much for this post !
I am trying to assign action profiles to action profile Determination. I am unable to find the path foor this. Please let me know the path.
Great Blog Man, though I am late in reading this still the determination part is helpful. I have a question ? Can the schedule conditions be dynamic ? as in can users be allowed to create a combination of attributes that becomes a schedule condition for my action,
Stat condition remain blank
processing at - Save
or something like Rules are created and that can be linked to scheduled condition ??
If customer is first time buyer ?
and living in Mumbai
and buying product x
as soon as this condition is met - actions is scheduled and trigegred on SAVE.
Can you give an example of which action will be trigerred when those conditions are fullfilled?
Because I was thinking that maybe you can create a campaign with a target group for that kind of customers.
Yeah you thought correctly but any marketing solution is out of question at the moment from client, so I need to get through with some logic and play around with actions only.
Very helpful article, thank you!
Just a small question: Is it possible to assign, as processing detail of an action, two different method calls? For example, my main method call would be SET_STATUS, and the second would be SEND_MAIL, each one with a different set of parameters. In this example, every time the action is executed it will change the user status of the assigned document (incident - ITSM ), and then send an e-mail soon after.
is there any way to create automatic email notification on account (prospect) creation? It should be triggered on save. Do we have action for account creation?