Action Profiles
Action profiles and determination
Action profiles in SAP-CRM
1.0INTRODUCTION
Actions are important for maintaining and improving business
relationships. You can schedule and start predefined processes with
theActionscomponent by means of user-definable conditions from
transaction and marketing objects.
You can tailor the type and time of actions to the requirements
of your customers and the processes in your company. This component
enables you to match your service, sales and distribution
management, and your campaign management even more closely to
customer needs, and, simultaneously, to automate them.
TheActionscomponent also provides the technique of controlling
output. It thereby replacesOutput Determination of the SAP ECC
System.
Integration
Actions in SAP CRM use the BasisPost Processing Framework(PPF)
component as the uniform interface for different processing
methods.
Date types and date rules for CRM Date Management are used for
time-dependent conditions.
The following components use theactionscomponent in SAP CRM for
processing subsequent functions and output:
Sales: Opportunity (Sales Assistant), Quotation, Sales Order,
Task, Rebates, Billing, Pricing
Contracts: Sales Contract, Service Contract, Lease
Service: Complaints
Industry Business Solutions: Telecommunication
Marketing: Campaign, Trade Promotion
Grantor Management
Features
You can define actions dependent on conditions so that the
system automatically schedules and starts them when the conditions
are fulfilled.
With actions you can:
Create follow-up transactions automatically
Execute changes in the transaction or marketing object currently
being processed, for example, create new items, or status
inheritance by subordinate elements in marketing objects
Output in print, by faxing or e-mail
The system processes the actions automatically. You can,
however, also schedule and start actions manually. You can use as
conditions the attributes of the transaction type used in the
business object. You can create time-dependent conditions using the
dates and date rules from the appropriate date profile. You can
also define partner-dependent actions, for example, to send a
reminder e-mail to the employee responsible.
The system uses different processing types of the PPF during
processing. There are various processing types for actions:
Methods (Business Add-Ins)
This is suitable for simpler processes, such as follow-up
transactions or creating positions, for example, calling a customer
when you have received a cancellation.
Templates are delivered for defining methods. You can use these
to create as many follow-up transactions as you require, and to
define your own methods.
The Business Add-Ins COPY_DOCUMENT and COPY_ITEM_LOCAL are
available in sales, and the Business Add-Ins
CREATE_CHILD_OBJECT_FROM_PARENT and CASCADE_CHANGE_STAT are
available in marketing.
The copy control is used when processing methods. You can use
the BAdIs in the copy control to influence follow-up transactions
freely.
SAP Business Workflow
This is suitable for more complex processes, for example, a
follow-up transaction that includes an approval process.
Smart Forms
Use this for printing, faxing or e-mailing documents.
Example
Examples of actions in SAP Customer Relationship Management:
Revising Quotations
Two weeks after a quotation has been created, the system
generates an activity for the sales employee responsible to call
the customer to remind the him or her of the quotation and to
answer any questions which may have arisen.
Quotation for a new contract
Four weeks before a contract expires, or, when 80% of the value
of a value contract has been reached, the customer automatically
receives a quotation for a new contract with the same conditions as
for the current product.
Cancellation Notification
The sales manager is automatically notified by e-mail if a
contract with a value of EUR 1 million or more is cancelled.
Sub item
When a contract for a switchboard system is completed, a
position to install the system free of charge to business partners
is created automatically.
Credit Memos
Credit memos are created automatically, without checking, for
complaints with a value of less than EUR 10.
Sales Assistant for Sales Employees
Within the frame of sales methodology, you can formulate a plan
with recommended activities for each phase of the sales cycle.
Escalation Management
A customer with a maintenance contract is called back according
to the reaction times agreed upon when he or she sends a problem
message.
1.1 ACTIONS
Actions are used in maintaining and improving business
relationships. We can schedule and start predefined conditions with
theActionscomponent by means of user-definable conditions from
transaction and marketing objects.
Actions use the Post Processing Framework (PPF), a Basis
component, which can be automated with the initiation of outputs,
follow-on documents or workflows. Using theActionstab page within a
business document, you can display a list of actions that can be
included in the business transaction.
An action profile is determined from the corresponding
transaction type or item category.
Actions are stored as action definitions within an action
profile.
You can control action processing using different settings and
parameters:
Action changeable or executable in dialog
Action displayed in toolbar (SAP GUI)
Processing time (when saving the document or via selection
report)
Partner dependence
Determination technique
Action merging
Processing types (with entry of the desired form name)
1.2 FEATURES OF ACTIONS
You can define actions dependent on conditions so that the
system automatically schedules and starts them when the conditions
are fulfilled.
With actions you can:
Create follow-up transactions automatically
Execute changes in the transaction or marketing object currently
being processed, for example, create new items, or status
inheritance by subordinate elements in marketing objects
Output in print, by faxing or e-mail
Actions are displayed in transaction documents that support
actions and to which an action profile is assigned. You can display
a list of actions scheduled for the document on theActionstab page
of a transaction document. The following information is displayed
in the list for each action:
Status (action scheduled, action processed)
Description (purpose of action)
Conditions (settings for action definition and conditions are
displayed)
Creator, Creation date
There are various processing types for actions:
Methods (Business Add-Ins)Methods are Business Add-In (BADI)
implementations. You can define your own BADI implementation to
adapt actions to your processes and needs. (EXEC_METHODCALL_PPF is
the relevant BADI.)Examples for standard methods include the
following:
1. COPY_DOCUMENT (create a follow-up document)
2. COMPLETE_DOCUMENT (set status completed within document)
3. CREDIT_MEMO (create credit memo item)
4. REPAIR_ITEM (create a repair item)
5. 1O_EVENT_CREATE (create a workflow event)
SAP Business WorkflowThis is suitable for more complex
processes, for example, a follow-up transaction that includes an
approval process.
Smart FormsSAP Smart Forms must be used to print, e-mail or fax
documents such as an order confirmation. You can use the graphics
tool,SAP Smart Forms, to design the layout of output forms. SAP
delivers several Smart Forms for outputs in SAP CRM:
1. Form CRM_ORDER_CONFIRMATION_01 (suitable for faxes, letters,
and e-mail)
2. Form CRM_ORDER_LEASING_01 (suitable for faxes, letters, and
e-mail)
3. Form CRM_OPPORTUNITY_01 (suitable for faxes, letters, and
e-mail)
SAP Smart Forms offer the advantage of adapting forms without
requiring programming knowledge, thanks to a completely graphical
user interface. When you request a printout of a form, the
application program obtains the relevant data to be used and prints
it on the form. Data retrieval and form logic are separated from
one another. SAP Smart Forms replace SAP-Script forms (migration
from SAP-Script forms to Smart Forms is supported).
2.0HOW TO CREATE AN ACTION2.1STEP-BY-STEP PROCEDURE2.1.1 Enter
into any SAP-CRM Server and move to Transaction SPRO.
2.1.2 Press SAP Reference IMG -> Customer Relationship
Management ->Basic Functions -> Actions -> Actions in
Transactions.
2.1.3 To create an Action Profile - Click on CREATE ACTIONS WITH
WIZARD. First read the documentation.
2.1.4 Now Press the Execute Buttonto start creating an Action
Profile.
2.1.5 Click CONTINUE. Enter the Details to create Action
Profile.
ZNEW_TEST7
2.1.6 Click CONTINUE. Enter the Details to create Action.
ZACTION_TEST72.1.7 Click CONTINUE. Enter the Details to set
Action.
In the Processing Time Details, there are 3 Options.
Processing Using Selection Reportgets started after a selection
report is executed if the start condition has been
fulfilled.Immediate Processinggets started as soon as the start
condition is fulfilled.Processing when saving a Documentgets
started when the document is saved*.*
2.1.8 Click CONTINUE. Enter the Details to Set Up Partner
Determination.
Partner Dependentmakes this Action as dependent on Partner. The
partner you choose is the one, for which the action triggers. It
first checks whether that Partner exists or not. If not, it throws
an ERROR.
2.1.9 Click CONTINUE and select the Processing. The processing
that we select is the one on which we want the Action to work
on.
2.1.10 Click CONTINUE and Enter the Workflow Number that you
want to assign with this Action.
2.1.11 Click CONTINUE and Enter Action Description.
2.1.12 Click CONTINUE and assign Schedule Condition.
Schedule Conditiondecides whether an action should be scheduled
for processing or not. An action is therefore generated only if the
schedule condition is met. It is not mandatory to assign a schedule
condition.
Select anyone that suits your requirement and proceed
further.
2.1.13 Click CONTINUE and assign Start Condition.
Start Conditionis checked before an action is executed. The
Action is executed only if the Start Condition is satisfied.Here
you won't be able to assign a Start Condition; there is another tab
in Actions where we can assign Start Condition.
2.1.14 Click CONTINUE and Action Configuration is complete.
Click CONTINUE and save it in a Transport Request.
2.1.15 To assign Start Condition -> Go-to step 2.1.2 ->
Click on Change Actions and Conditions -> Define Conditions.
In Scheduling of Actions, find your Action - Test an Action
Profile.
It shows you the entire Action that you created till now.To
assign start condition, Click on Start Condition Tab.
Click Edit Condition to enter a condition.
Enter a Condition.
Click 'v'.
Click on SAVE. Save it in the same Transport Request as
Earlier.
And hence, this completes your Action Profile Creation for a
Workflow.Similarly, we can create Action Profiles for other
processing also.
Action Profiles and determination
Within SAP CRM, actions arepieces of logicthat arerelated to a
transaction.They areexecuted 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, Id like to share some expert tips and tricks that Ive 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.
Action profilesActions 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:
1. When the action should be executed (manually/automatically,
for instance)
2. Whether the action is partner dependent or not (and, if so,
for which partner function)
3. How often the action should be executed
4. What should the action do? Options include:
a) send out a mail/fax/print
b) execute a method (either standard or self-made)
c) trigger an alert
Example of action details
Common profilesIf 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 youve set up two item categories. In both cases,
youd like a follow-up task to be created in case the item status is
set to Lost.
In only one of the item categories, youd also like to setup an
additional action send out an e-mail too.
You shouldthencreate 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:
1. unique actions can be maintained more easily, and
2. Additional requirements can be made available with less
effort (think of a third item category with yet another combination
of actions).
Setting up common profiles
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 andthe
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 determinationIn 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
directlyandhave 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.
Example of determination
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':
1. Create or re-use one or more condition types
a) You can create your own condition tables
b) Do not forget to link the condition type(s) to a (new)
condition maintenance group
2. Create the conditions
a) This can be done via general condition maintenance
3. Setup an action determination procedure
4. Assign the procedure to the transaction type or item
category
Action ConditionsSo, actions have been created and correctly
linked (or determined) via the profile. Time to focus when to
execute them. This is done with action conditions. You can base
them on attributes from the transaction or item at hand. Probably
most often used are attributes like user or system status,
priority, or a milestone.
There are a few tips and tricks here that I'd like to share, but
let's start with the difference between the two types of conditions
that are available in SAP CRM.
Schedule vs start conditions
Schedule conditions define when an action is put on the list of
executable actions within the object. Once it is put there, it will
be executed as soon as the start condition is met.
By not assigning a schedule condition, the action will be added
to the list of executable actions automatically or manually.
By not assigning a start condition, it is possible to execute
the actionautomatically or manually.
This seems quite straightforward, but there's more to it:
1. Once an action is scheduled, it will be considered during a
(background) run of the action selection report. This impacts
performance of the jobs you plan to use.
2. If you want to trigger actions based on a milestone (e.g.,
contract end date has passed), you should use a Start Condition:
schedule conditions are only checked if there is a change in the
transaction and this means that the contract end date has long
passed before the transaction is 'touched' again and the action is
finally executed.
3. You can assign both a schedule and a start condition to one
action. In such cases, the start condition is only considered if
the action's schedule condition was fulfilled.
As these points show, there is a conflict here: using too many
schedule conditions may impact performance, but only using start
conditions disallows you to plan actions based on milestones.
Later, we will look into the solution that SAP provides for this,
and milestone-based actions in general. Let's first discuss setting
up conditions in general, and running a background job.
Setting up action conditions
When you click on Define Conditions in the customizing, you will
see the following screen:
Action Condition Maintenance
I won't go into all the details of this screen, but I would like
to highlight a few elements:
With theTechnical Names-button you can switch between the
description of the action and action profile to the technical
names. This can be very handy if you have non-unique
descriptions
Setting up conditions is done with an editor in which you link
attributes to values with help of expressions.
You can reuse conditions after you created them (you can get an
overview of all conditions by clicking on the schedule
ConditionsorStart Conditions-buttons).
a. Reusing conditions is particularly useful if you are
usingcommon profiles. As highlighted in my blog on action profiles,
common profiles can be used to reuse actions in various action
profiles without having to configure them again and again.
Theseembeddedactions' conditions need to be set upper action
profile that uses them. By reusing these conditions, you can easily
do this.
b. Please note that reusing conditions is only possible
within:
i. the same type of condition (schedule / start)
ii. the same item category
c. As a general rule of thumb you should consider a naming
convention for your conditions (e.g.: [item category] [description
of condition]). Too often you see condition names that tell more
about the action that they are linked to, than what they actually
check. Reusing them will then be quite hard!
If you want to setup an action without any conditions, you
should still add it in this screen (right top corner). If you
forget this, the action will not work.
Executing actionsNow that the action profiles, its actions and
conditions are set up, it is time to see how actions are executed.
As you recall, there are three moments on which actions are
executed:
Immediate processing: As soon as the action should be executed
(either by an automatic or a manual trigger), it will be executed.
Typically, an end user is working in the transaction when this
occurs.
This option will lead to wait time for the end user. Therefore,
I would only advise it if user feedback is required or if the
action is highly time critical.
Processing when saving the document: When the user or a
background process saves the order, the action is executed.
This option may also impact the end user's experience.
Processing using selection report: During order processing, the
action(s) will only bescheduled. Execution will be done by running
the action processing program (transaction code:
CRMC_ACTION_JOB).
Within action customizing you can allow end users to execute the
action directly, so they don't need to wait for the program to
run.
Let's look into the action selection report with some more
detail.
Action selection reportThe selection report can be run once or
periodically, both in the foreground and the background. If you
plan to run it periodically in the background, you should use set
the Processing Settings accordingly
'Processing without dialog': if set, the selected actions are
executed directly. This should be set in case of a background
job.
'Restricted Log': will prevent a spool to be created. The action
processing logs (that can also be found in SLG1) will still be
filled.
You then save these entries as a variant and create a new job
via SM36 (program = RSPPFPROCESS). Basically, this sums up how to
set up actions. Now I'll focus on some more specific topics:
milestone-based actions and the optimization rule.
Milestone-based actionsSetting up an action that should be
executed after a period of time can seem quite tricky at first.
This is because a number of elements should be correctly setup
before the action is actuallyscheduled at the right moment. These
are the things you should get straight:
1. Set up a date profile to calculate your milestone
1. Hint: give different names to the date types and date rules,
even though this is not required
2. Be sure to include the standard date rule TODAYTIME in your
profile (this will always give the current date+time when executed;
we will need it in the next step)
2. In action condition maintenance, create astartcondition that
checks whether TODAYTIME is greater than or equal to the
datetype
Start condition with milestone
The picture shows an example of a start condition in which a
milestone is checked. Please note that TODAYTIME is shown as
&Current Date + Time& when you do not show technical
names.
Now let's assume we want to run a hourly background job that
executes actions. This would have to check all start conditions
with milestones again and again, even if the milestone will not be
reached within another 6 months! That's why optimization rules were
introduced.
Optimization rulesWith help of optimization rules, you can have
the background job calculate when the start conditionwill be met.
In the example above, in six months time. The system will write
this in a table and, the next time the job is executed, simply skip
the start condition because it already found that this condition is
not yet met. This functionality improves performance and requires
two configuration activities:
1. In the action condition maintenance, select the date type
that you want to use as an Optimization Rule. If you look at the
previous picture, you can already see that an Optimization Rule was
linked.
2. In the action job, be sure to flag the Use Optimization Rules
option.
1. Note: typically you run this report in a background job. Make
sure to set up the variant attributes like in the picture below. It
ensures that each time the job is run, the current date and time
are considered.
Using Optimization Rules in action processing