Actions are implemented via the Post-Processing-Framework, short PPF (BC-SRV-GBT-PPF).
User acces in SAP GUI via Tab ‚Actions' or 'Sales Assistant', and toolbar button 'Actions'.
User Access in PC-UI via Tab 'Scheduled Actions' or 'Sales Assistant', and the PRINT Button
Action determination gets called:
- In PBO of the actions Tab
- If the toolbar Button gets pressed
- During Save (CRM_ORDER_SAVE_PREPARE_MULT_OW)
The PPF performs action determination and condition evaluation according to the customizing. Whenever an action is scheduled and to be processed, PPF calls the application exit. In all processing types, the general idea is to call an exit routine which is owned by the application/the customer which performs the actual task of the action. The difference is the interface. 'Smartform' Actions receive a smart form name and a recipient object, 'Method Call' actions receive a custom container which contains parameter needed for the method (e.g. Process Type for a follow up document).
Transaction type/Item Category
.Action Profile (crmc_action_def)
...Action Definition (crmc_action_def)
...Conditions for Action (crmc_action_conf)
Action Definition (crmc_action_def):
Basic attributes like time of processing, manual changeability etc.
Partner function dependency: Action only gets scheduled if the Partner is available. For smartform processing, also the recipient is taken from that partner function.
Action Merging (German Aktionverdichtung):
How many action items of this type may be created (e.g. only one unprocessed action, only one action at all).
Furthermore, the processing type is defined here (Can be more than one, e.g. email + Fax)
Depending on the processing type, there is further input required.
Type Set Processing
Smartforms (print, email, fax) Smartform name, processing class/method
Method Call Implementation of BADI EXEC_METHODCALL_PPF
Workflow Workflow ID
Conditions for Action (crmc_action_conf):
In that view, all actions profiles are listed again.
In the upper right window, every action must be listed (taken from the dropdown button).
Only those actions that are listed here can be determined in a document processing.
Some default settings from the action definition can be overruled here (e.g. schedule automatically). Conditions can be set up referencing system fields, date types and BOR-Attributes.
Action determination (also execution if all conditions are fulfilled)
Build up the 'Context' Object, which contains:
ObjectGUID (Header or Item)
The context object is created in CRM_ACTION_DETERMINE and passed to CL_MANAGER_PPF->DETERMINE which is the central call to PPF.
Action determination, condition evaluation and execution are done by PPF.
sppfp crm_action_job -> report to execute actions in background
sppfcadm -> ppf customizing
crmc_action_def -> Action definition
crmc_action_conf -> Setup Conditions
- During action execution, crm_order_save or even commit work gets called
( most frequent reason for dump for 'Uncaught_Exception')
Do not perform 'COMMIT WORK' ! New created or changed objects must be 'registered for save' instead ( See standard BADI-Implementation COPY_DOCUMENT).
In case of local changes (to the current object), this can be registered for save to trigger additional action determination (to allow dependent actions to be triggered). CAUTION: Sometimes customers customize an endless loop: See note 599089.
- A partner dependent action does not get triggered, although the partner is available
Deactivate the standard BADI Implementation CRM_ACTION_BADI
621183 Partner-dependent actions do not work
696815 Object pool: Changes in the Commit Work processing
696688 Object pool: Rolling back parallel transactions
690912 Persistent objects are not saved
767519 PPF: Action list is not deleted on the front end
817959 Solution Manager
- Check if the ‚active' Flag is set for the action (only visible in the overview CRMC_ACTION_DEF)
- Display the determination log:
Button on action tab only visible with User Parameter CRM_ACTION_ICONBAR ='X'