Wednesday, January 19, 2011

Actions in Transactions

Actions in SAP CRM are a way to add functionality to objects. Most used are actions in transactions. You would for instance use actions to send a quotation to the customer from the quotation document in SAP CRM. You can also use actions to for instance create a follow-on document. For instance, if the criteria are met, you might want to create a planned phonecall as a follow-on to an opportunity. This enables you to implement structured processes in the CRM system.

Another example of good use of actions is for instance triggering an approval workflow if the discount on an order is beyond a fixed threshold.

Another example would be an action to change the status of the current transaction. This would for instance be interesting if certain transactions should be closed automatically. An action for changing the status of the transaction is not delivered in the standard system, but can be easily incorporated with a little programming.

Implementing actions in SAP CRM consists of three steps.
• Defining the action
• Implementing schedule and start conditions for the action
• Assigning the action profile to the document type.

Defining the action
Defining the action means that you customize what type of action we are dealing with. So, what does the action do, what are the parameters it expects, what type of BOR object it is for, can it be triggered manually by the user, or just automatically by the system etc.

Implementing conditions for the action
After creating the action definition, you have to add scheduling conditions to the action. This is done in a separate step in customizing. Even if the action is only to be triggered manually, you should still enter schedule conditions to the action.

Schedule conditions are only evaluated when saving the document. This means that when saving the document, the system looks at the current situation, and decides whether an action is to be scheduled or not. Note that if the system decides not to schedule an action, it will not re-evaluate until the document is saved again.

Start conditions can be used to postpone scheduled conditions. You might want to schedule an action to be triggered a week after saving the document (or even a year if it concerns for instance a trigger to the sales manager to start contract discussions one year after the previous sale).
Start conditions usually contain a comparison of a date in the document with the current date.

Maintaining schedule and start conditions is a very precise exercise. You have to think of many reasons why an action should or should not be triggered, for instance:
-Status of the document
-Current date
-Attributes of the business partner (i.e. country, ID-numbers, classification, availability of an emailaddress etc)

Setting the schedule and start conditions can become quite complex, depending on the needs of your process.

Assigning the action profile to the document type
When you have maintained the action profile, you can assign it to the transaction type (or item type, depending on your requirements). This is done in the transaction customizing.

Now depending on the schedule and start conditions as well as on the specified processing time, the action will either automatically be triggered based on the conditions or can be manually triggered by the user.


  1. Hi Pieter,

    Can the actions concept be used in Service Request as well. The requirement is that when the user needs to forward a the service request to a group/individual and we want to use action to send an email to the group/individual for looking into the service request.

    We are thinking of Workflow to Action in this business scenario.

    Can you please provide your thoughts on this.


  2. Vijay,

    I think I would indeed solve such a requirement either by an action sending the email, or in case of more complex rules using an action to trigger a workflow to send an email.

    But I would definately say you are looking in the right place.